A Pocketmine-MP (PMMP) plugin to help staff members enforce the rules of the server.

Overview

StaffMode

StaffMode is an all-in-one Pocketmine-MP (PMMP) moderation plugin made to simplify the life of staff members.

Setup Guide

  1. To start using the plugin, download the StaffMode.phar file from poggit and put it into your server's plugins folder.
  2. Then, you have to do is set up your staff rank permissions. Look at the Risk tab in the following tables to decide which permissions is more suitable for which staff ranks to prevent possible abuse. It is recommended to give permissions with the High risk only to trusted staff members.
  3. The staffmode.command.staffmode or staffmode.* permission is necessary in order for staff to enter staff mode.
Permissions Description Default Risk
staffmode.* Allows usage of all staffmode features. op High
staffmode.command.staffmode Allows usage of the "/staffmode" command. op -
  1. The folowing permissions are to access the tools within staffmode.
Permissions Description Default Risk
staffmode.silent Allows user to join and leave the server with no broadcasted message. op -
staffmode.tools.teleport Allows usage of the teleportation tool (compass) in staffmode. op Low
staffmode.tools.history Allows usage of the history tool (book) in staffmode. op -
staffmode.tools.warn Allows usage of the warning tool (paper) in staffmode. op -
staffmode.tools.freeze Allows usage of the freezing tool (ice block) in staffmode. op Medium
staffmode.tools.unfreeze Allows usage of the unfreezing tool (fire) in staffmode. op Low
staffmode.tools.kick Allows usage of the kicking tool (gold sword) in staffmode. op Medium
staffmode.tools.ban Allows usage of the banning tool (gold axe) in staffmode. op High
staffmode.tools.exit Allows usage of the exit tool (redstone torch) in staffmode. everyone -
  1. After setting up everything, if done correctly staff members will be able to do the /staffmode command and access all their allowed tools.

Support

Join the discord server for quick support, bug reports and feature requests. If you do not have discord please create an issue on github. Please keep in mind that it will take longer for me to reply on github. If you are reporting an issue with the plugin, be sure to include as many details as possible and steps to reproduce the issue.

Features

  • Features:
    • /staffmode command
    • /report command
    • Teleportation tool
    • History tool
    • Warn tool
    • Freeze tool
    • Unfreeze tool
    • Kick tool
    • Ban tool
    • Custom ban system
    • Tool to exit staff mode
    • Return to original location with the original inventory after exiting staffmode.
    • Silent Join & Leave (Editable in config)
    • Fake Join & Leave when entering/leaving StaffMode (Editable in config)
  • Coming soon...
    • More customization in config
    • Invsee tool
    • Mute tool
    • Custom mute system
    • Staff abuse prevention (Prevent staff from doing commands while in staffmode)
    • Please suggest anything you want me to add
Comments
  • [Bug] main.php line 191

    [Bug] main.php line 191

    Steps to reproduce the bug Idk because it has server happened to me

    Error report

    28.07 23:21:50 [Server] Server thread/CRITICAL ErrorException: "Trying to access array offset on value of type null" (EXCEPTION) in "plugins/StaffMode.phar/src/Max/StaffMode/Main" at line 191
    28.07 23:21:50 [Server] Server thread/CRITICAL #0 plugins/StaffMode.phar/src/Max/StaffMode/Main(191): pocketmine\utils\Utils::errorExceptionHandler(integer 8, string[51] Trying to access array offset on value of type null, string[103] phar:///plugins/StaffMode.phar/src, integer 191, array[1])
    28.07 23:21:50 [Server] Server thread/CRITICAL #1 plugins/StaffMode.phar/src/Max/StaffMode/EventListener(169): Max\StaffMode\Main->exitstaffmode(object pocketmine\Player)
    28.07 23:21:50 [Server] Server thread/CRITICAL #2 pmsrc/src/pocketmine/plugin/MethodEventExecutor(42): Max\StaffMode\EventListener->onKick(object pocketmine\event\player\PlayerKickEvent)
    28.07 23:21:50 [Server] Server thread/CRITICAL #3 pmsrc/src/pocketmine/plugin/RegisteredListener(80): pocketmine\plugin\MethodEventExecutor->execute(object Max\StaffMode\EventListener, object pocketmine\event\player\PlayerKickEvent)
    28.07 23:21:50 [Server] Server thread/CRITICAL #4 pmsrc/src/pocketmine/event/Event(88): pocketmine\plugin\RegisteredListener->callEvent(object pocketmine\event\player\PlayerKickEvent)
    28.07 23:21:50 [Server] Server thread/CRITICAL #5 pmsrc/src/pocketmine/Player(3428): pocketmine\event\Event->call()
    28.07 23:21:50 [Server] Server thread/CRITICAL #6 pmsrc/src/pocketmine/Player(2012): pocketmine\Player->kick(string[22] Server is white-listed, boolean )
    28.07 23:21:50 [Server] Server thread/CRITICAL #7 pmsrc/src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(117): pocketmine\Player->handleLogin(object pocketmine\network\mcpe\protocol\LoginPacket)
    28.07 23:21:50 [Server] Server thread/CRITICAL #8 pmsrc/src/pocketmine/network/mcpe/protocol/LoginPacket(145): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleLogin(object pocketmine\network\mcpe\protocol\LoginPacket)
    28.07 23:21:50 [Server] Server thread/CRITICAL #9 pmsrc/src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(109): pocketmine\network\mcpe\protocol\LoginPacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter)
    28.07 23:21:50 [Server] Server thread/CRITICAL #10 pmsrc/src/pocketmine/network/mcpe/protocol/BatchPacket(130): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\LoginPacket)
    28.07 23:21:50 [Server] Server thread/CRITICAL #11 pmsrc/src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(109): pocketmine\network\mcpe\protocol\BatchPacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter)
    28.07 23:21:50 [Server] Server thread/CRITICAL #12 pmsrc/src/pocketmine/Player(3321): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket)
    28.07 23:21:50 [Server] Server thread/CRITICAL #13 pmsrc/src/pocketmine/network/mcpe/RakLibInterface(169): pocketmine\Player->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket)
    28.07 23:21:50 [Server] Server thread/CRITICAL #14 pmsrc/vendor/pocketmine/raklib/src/server/ServerHandler(95): pocketmine\network\mcpe\RakLibInterface->handleEncapsulated(string[20] 107.12.208.234 50417, object raklib\protocol\EncapsulatedPacket, integer 0)
    28.07 23:21:50 [Server] Server thread/CRITICAL #15 pmsrc/src/pocketmine/network/mcpe/RakLibInterface(109): raklib\server\ServerHandler->handlePacket()
    28.07 23:21:50 [Server] Server thread/CRITICAL #16 pmsrc/src/pocketmine/network/mcpe/RakLibInterface(99): pocketmine\network\mcpe\RakLibInterface->process()
    28.07 23:21:50 [Server] Server thread/CRITICAL #17 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(113): pocketmine\network\mcpe\RakLibInterface->pocketmine\network\mcpe\{closure}()
    28.07 23:21:50 [Server] Server thread/CRITICAL #18 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(75): pocketmine\snooze\SleeperHandler->processNotifications()
    28.07 23:21:50 [Server] Server thread/CRITICAL #19 pmsrc/src/pocketmine/Server(2155): pocketmine\snooze\SleeperHandler->sleepUntil(double 1627514510.0656)
    28.07 23:21:50 [Server] Server thread/CRITICAL #20 pmsrc/src/pocketmine/Server(1992): pocketmine\Server->tickProcessor()
    28.07 23:21:50 [Server] Server thread/CRITICAL #21 pmsrc/src/pocketmine/Server(1586): pocketmine\Server->start()
    28.07 23:21:50 [Server] Server thread/CRITICAL #22 pmsrc/src/pocketmine/PocketMine(311): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[47] /, string[55] /plugins/)
    28.07 23:21:50 [Server] Server thread/CRITICAL #23 pmsrc/src/pocketmine/PocketMine(341): pocketmine\server()
    28.07 23:21:50 [Server] Server thread/CRITICAL #24 pmsrc(11): require(string[102] phar:///custom-php7.4.phar/src/poc)
    28.07 23:21:50 [Server] Server thread/INFO XxChroma[IP] logged out due to Internal server error
    28.07 23:21:50 [Server] RakLibServer thread/NOTICE Blocked IP for 5 seconds
    

    Plugin version, Pocketmine version Are you using the latest version of the plugin? (Y/N) Yes Are you using the latest version of pocketmine? (Y/N) Yes

    Plugins used Not needed as it there is no other plugin that I have that kicks players

    bug 
    opened by ZZWILLIAMXXTrue 9
  • [Bug]

    [Bug]

    2021-07-30 [15:18:01] [Server thread/CRITICAL]: ErrorException: "Undefined index: HeavPlaysMC" (EXCEPTION) in "plugins/StaffMode_dev-32.phar/src/Max/StaffMode/Main" at line 191 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #0 plugins/StaffMode_dev-32.phar/src/Max/StaffMode/Main(191): pocketmine\utils\Utils::errorExceptionHandler(integer 8, string[28] Undefined index: HeavPlaysMC, string[79] phar:///home/container/plugins/StaffMode_dev-32.phar/src/Max/StaffMode/Main.php, integer 191, array[1]) 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #1 plugins/StaffMode_dev-32.phar/src/Max/StaffMode/EventListener(169): Max\StaffMode\Main->exitstaffmode(object pocketmine\Player) 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #2 pmsrc/src/pocketmine/plugin/MethodEventExecutor(42): Max\StaffMode\EventListener->onKick(object pocketmine\event\player\PlayerKickEvent) 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #3 pmsrc/src/pocketmine/plugin/RegisteredListener(80): pocketmine\plugin\MethodEventExecutor->execute(object Max\StaffMode\EventListener, object pocketmine\event\player\PlayerKickEvent) 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #4 pmsrc/src/pocketmine/event/Event(88): pocketmine\plugin\RegisteredListener->callEvent(object pocketmine\event\player\PlayerKickEvent) 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #5 pmsrc/src/pocketmine/Player(3428): pocketmine\event\Event->call() 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #6 pmsrc/src/pocketmine/Player(2018): pocketmine\Player->kick(string[14] You are banned, boolean ) 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #7 pmsrc/src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(117): pocketmine\Player->handleLogin(object pocketmine\network\mcpe\protocol\LoginPacket) 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #8 pmsrc/src/pocketmine/network/mcpe/protocol/LoginPacket(145): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleLogin(object pocketmine\network\mcpe\protocol\LoginPacket) 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #9 pmsrc/src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(109): pocketmine\network\mcpe\protocol\LoginPacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter) 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #10 pmsrc/src/pocketmine/network/mcpe/protocol/BatchPacket(130): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\LoginPacket) 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #11 pmsrc/src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(109): pocketmine\network\mcpe\protocol\BatchPacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter) 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #12 pmsrc/src/pocketmine/Player(3321): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket) 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #13 pmsrc/src/pocketmine/network/mcpe/RakLibInterface(169): pocketmine\Player->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket) 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #14 pmsrc/vendor/pocketmine/raklib/src/server/ServerHandler(95): pocketmine\network\mcpe\RakLibInterface->handleEncapsulated(string[20] 152.89.210.176 44506, object raklib\protocol\EncapsulatedPacket, integer 0) 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #15 pmsrc/src/pocketmine/network/mcpe/RakLibInterface(109): raklib\server\ServerHandler->handlePacket() 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #16 pmsrc/src/pocketmine/network/mcpe/RakLibInterface(99): pocketmine\network\mcpe\RakLibInterface->process() 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #17 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(113): pocketmine\network\mcpe\RakLibInterface->pocketmine\network\mcpe{closure}() 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #18 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(75): pocketmine\snooze\SleeperHandler->processNotifications() 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #19 pmsrc/src/pocketmine/Server(2155): pocketmine\snooze\SleeperHandler->sleepUntil(double 1627658281.4552) 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #20 pmsrc/src/pocketmine/Server(1992): pocketmine\Server->tickProcessor() 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #21 pmsrc/src/pocketmine/Server(1586): pocketmine\Server->start() 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #22 pmsrc/src/pocketmine/PocketMine(311): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[16] /home/container/, string[24] /home/container/plugins/) 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #23 pmsrc/src/pocketmine/PocketMine(341): pocketmine\server() 2021-07-30 [15:18:01] [Server thread/CRITICAL]: #24 pmsrc(11): require(string[71] phar:///home/container/PocketMine-MP.phar/src/pocketmine/PocketMine.php)

    bug 
    opened by PushkarOP 3
  • bug crash

    bug crash

    rc/Max/StaffMode/EventListener" at line 263 [20:35:49] [Server thread/CRITICAL]: #0 plugins/StaffMode.phar/src/Max/StaffMode/EventListener(263): pocketmine\utils\Utils::errorExceptionHandler(integer 8, string[26] Undefined index: MrNico340, string[81] phar:///home/container/plugins/StaffMode.phar/src/Max/StaffMode/EventListener.ph, integer 263, array[2]) [20:35:49] [Server thread/CRITICAL]: #1 pmsrc/src/pocketmine/plugin/MethodEventExecutor(42): Max\StaffMode\EventListener->onDamage(object pocketmine\event\entity\EntityDamageEvent) [20:35:49] [Server thread/CRITICAL]: #2 pmsrc/src/pocketmine/plugin/RegisteredListener(80): pocketmine\plugin\MethodEventExecutor->execute(object Max\StaffMode\EventListener, object pocketmine\event\entity\EntityDamageEvent) [20:35:49] [Server thread/CRITICAL]: #3 pmsrc/src/pocketmine/event/Event(88): pocketmine\plugin\RegisteredListener->callEvent(object pocketmine\event\entity\EntityDamageEvent) [20:35:49] [Server thread/CRITICAL]: #4 pmsrc/src/pocketmine/entity/Entity(932): pocketmine\event\Event->call() [20:35:49] [Server thread/CRITICAL]: #5 pmsrc/src/pocketmine/entity/Living(552): pocketmine\entity\Entity->attack(object pocketmine\event\entity\EntityDamageEvent) [20:35:49] [Server thread/CRITICAL]: #6 pmsrc/src/pocketmine/Player(3941): pocketmine\entity\Living->attack(object pocketmine\event\entity\EntityDamageEvent) [20:35:49] [Server thread/CRITICAL]: #7 pmsrc/src/pocketmine/entity/Living(402): pocketmine\Player->attack(object pocketmine\event\entity\EntityDamageEvent) [20:35:49] [Server thread/CRITICAL]: #8 pmsrc/src/pocketmine/Player(1709): pocketmine\entity\Living->fall(double 7.9354000091553) [20:35:49] [Server thread/CRITICAL]: #9 pmsrc/src/pocketmine/entity/Entity(1449): pocketmine\Player->fall(double 7.9354000091553) [20:35:49] [Server thread/CRITICAL]: #10 pmsrc/src/pocketmine/entity/Entity(1671): pocketmine\entity\Entity->updateFallState(double 0.00099999999999056, boolean 1) [20:35:49] [Server thread/CRITICAL]: #11 pmsrc/src/pocketmine/Player(1616): pocketmine\entity\Entity->move(double 0, double 0.00099999999999056, double 0) [20:35:49] [Server thread/CRITICAL]: #12 pmsrc/src/pocketmine/Player(2392): pocketmine\Player->handleMovement(object pocketmine\math\Vector3) [20:35:49] [Server thread/CRITICAL]: #13 pmsrc/src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(137): pocketmine\Player->handleMovePlayer(object pocketmine\network\mcpe\protocol\MovePlayerPacket) [20:35:49] [Server thread/CRITICAL]: #14 pmsrc/src/pocketmine/network/mcpe/protocol/MovePlayerPacket(95): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleMovePlayer(object pocketmine\network\mcpe\protocol\MovePlayerPacket) [20:35:49] [Server thread/CRITICAL]: #15 pmsrc/src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(109): pocketmine\network\mcpe\protocol\MovePlayerPacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter) [20:35:49] [Server thread/CRITICAL]: #16 pmsrc/src/pocketmine/network/mcpe/protocol/BatchPacket(130): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\MovePlayerPacket) [20:35:49] [Server thread/CRITICAL]: #17 pmsrc/src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(109): pocketmine\network\mcpe\protocol\BatchPacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter) [20:35:49] [Server thread/CRITICAL]: #18 pmsrc/src/pocketmine/Player(3321): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket) [20:35:49] [Server thread/CRITICAL]: #19 pmsrc/src/pocketmine/network/mcpe/RakLibInterface(169): pocketmine\Player->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket) [20:35:49] [Server thread/CRITICAL]: #20 pmsrc/vendor/pocketmine/raklib/src/server/ServerHandler(95): pocketmine\network\mcpe\RakLibInterface->handleEncapsulated(string[19] 81.243.38.183 49725, object raklib\protocol\EncapsulatedPacket, integer 0) [20:35:49] [Server thread/CRITICAL]: #21 pmsrc/src/pocketmine/network/mcpe/RakLibInterface(109): raklib\server\ServerHandler->handlePacket() [20:35:49] [Server thread/CRITICAL]: #22 pmsrc/src/pocketmine/network/mcpe/RakLibInterface(99): pocketmine\network\mcpe\RakLibInterface->process() [20:35:49] [Server thread/CRITICAL]: #23 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(113): pocketmine\network\mcpe\RakLibInterface->pocketmine\network\mcpe{closure}() [20:35:49] [Server thread/CRITICAL]: #24 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(75): pocketmine\snooze\SleeperHandler->processNotifications() [20:35:49] [Server thread/CRITICAL]: #25 pmsrc/src/pocketmine/Server(2155): pocketmine\snooze\SleeperHandler->sleepUntil(double 1627245349.6769) [20:35:49] [Server thread/CRITICAL]: #26 pmsrc/src/pocketmine/Server(1992): pocketmine\Server->tickProcessor() [20:35:49] [Server thread/CRITICAL]: #27 pmsrc/src/pocketmine/Server(1586): pocketmine\Server->start() [20:35:49] [Server thread/CRITICAL]: #28 pmsrc/src/pocketmine/PocketMine(311): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[16] /home/container/, string[24] /home/container/plugins/) [20:35:49] [Server thread/CRITICAL]: #29 pmsrc/src/pocketmine/PocketMine(341): pocketmine\server() [20:35:49] [Server thread/CRITICAL]: #30 pmsrc(11): require(string[71] phar:///home/container/PocketMine-MP.phar/src/pocketmine/PocketMine.php)

    bug 
    opened by Willtom999 3
  • [Suggestion] Replace spectator mode with normal fly

    [Suggestion] Replace spectator mode with normal fly

    A suggestion to improve Vanish 😌 • Night vision effect for Vanished staff • Stops you from picking up items when you are vanished • Option to disable damage when vanished • Option to allow survival fly when vanished

    enhancement 
    opened by MrNinja008 1
  • [Bug]

    [Bug]

    ocketMine-MP Crash Dump Sun Aug 22 00:33:33 UTC 2021

    Error: Allowed memory size of 1073741824 bytes exhausted (tried to allocate 327680 bytes) File: pmsrc/src/pocketmine/level/Level Line: 1466 Type: E_ERROR

    Code: [1457] [1458] $block = clone $this->blockStates[$fullState & 0xfff]; [1459] [1460] $block->x = $x; [1461] $block->y = $y; [1462] $block->z = $z; [1463] $block->level = $this; [1464] [1465] if($addToCache and $relativeBlockHash !== null){ [1466] $this->blockCache[$chunkHash][$relativeBlockHash] = $block; [1467] } [1468] [1469] return $block; [1470] } [1471] [1472] /** [1473] * @return void [1474] */ [1475] public function updateAllLight(Vector3 $pos){ [1476] $this->updateBlockSkyLight($pos->x, $pos->y, $pos->z);

    Backtrace:

    PocketMine-MP version: 3.22.2 [Protocol 448] Git commit: d670bc8bf8de0fb8eacbe5c29c9032cad5fe14b5-dirty uname -a: Linux b6bafed3-3415-4823-b903-7c39c35f164a 4.9.0-6-amd64 #1 SMP Debian 4.9.88-1+deb9u1 (2018-05-07) x86_64 PHP Version: 7.4.21 Zend version: 3.4.0 OS : Linux, linux Composer libraries:

    bug 
    opened by Willtom999 4
Owner
ItsMax123
Website & Pocketmine plugin dev. (HTML, CSS, JavaScript, Python, PHP)
ItsMax123
Test and enforce architectural rules in your Laravel applications. Keep your app's architecture clean and consistent!

Laravel Arkitect Laravel Arkitect lets you test and enforce your architectural rules in your Laravel applications, and it's a PHPArkitect wrapper for

SMorteza Ebadi 55 Dec 17, 2022
A PHP script that converts PMMP-3 Plugins into PMMP-4 plugins

This script tries to convert pm3 plugins to pm4 as good as possible, but sadly not perfect. Please open issues if you find any unexpected behaviour, to help improving this script.

null 43 Dec 3, 2022
A Pocketmine-MP (PMMP) plugin to prevent players from doing most glitches.

AntiGlitch AntiGlitch is an all-in-one Pocketmine-MP (PMMP) plugin made to prevent as many known glitches. Setup Guide To start using the plugin, down

ItsMax123 12 Sep 17, 2022
A Pocketmine-MP (PMMP) leaderboard plugin that shows player statistics on a website.

WebLeaderBoard A Pocketmine-MP (PMMP) leaderboard plugin that shows all sorts of statistics on a website. Setup Guide To start using the plugin, downl

ItsMax123 6 Apr 5, 2022
A plugin OreSpawner for PocketMine-PMMP

A plugin OreSpawner for PocketMine-PMMP

VennV 2 Oct 9, 2022
Phpcs-magento-rules - A set of PHPCS rules used by made.com when hacking Magento

Made.com PHPCS Magento Rules A set of PHPCS rules used by made.com when hacking Magento. Pre-Requisites PHPCS Installation Short Version Clone this re

Made.com Tech Team 26 Jun 3, 2020
Plugin Notify OP Or Staff Has Permission antixraype.check when someone breaks ore

General Plugin Notify OP Or Staff Has Permission antixraype.check when someone breaks ore If the message repeats many times, check if the player is us

Nguyễn Đạt 3 Mar 15, 2022
Task for GrumPHP that adds CSS linting support with stylelint. An easy way to enforce convention and avoid errors in your styles

grumphp-stylelint-task Installation Stylelint is a static analysis tool for styles. A mighty, modern linter that helps you avoid errors and enforce co

null 3 Apr 29, 2021
Enforce that your classes get only instantiated by the factories you define!

Enforce that your classes get only instantiated by the factories you define!

null 3 Nov 15, 2021
A Laravel 9 package that allows you enforce security of your artisan commands by authenticating users before running.

Introduction This package allows you as a developer to restrict who can and cannot run artisan commands, especially in a production environment. For e

YOo Slim 2 Sep 15, 2022
A plugin manager for PocketMine-MP downloads plugin from PocketMine-MP official plugin repository

oh-my-pmmp A plugin manager for PocketMine-MP Getting Started Prerequisites Your server MUST RUN the latest version of PocketMine. Installation From P

thebigcrafter 6 Jan 4, 2023
OwnagePE Staff Events Core

An events plugin created for discord.gg/ownage enabling staff members to host small scale events within the respective server.

null 2 Aug 9, 2022
An online system to keep digitized form of employee personal files (staff personal files)

An online system to keep digitized form of employee personal files (staff personal files).

p r o c e s s o r 2 Jun 18, 2022
Cadre is a free and open-source PHP staff management system that is built on Bootstrap and Core Boxx.

CADRE Cadre is a free and open-source PHP Staff Management System. Not the best in the world, but this simple portal has the basic features to help sm

Code Boxx 3 Sep 26, 2022
Powerful land plugin, based on PMMP.

iLand Powerful land plugin, based on PMMP Features Land management with Form UI The border of the selected land Custom land settings Customize the per

David-pm-pl 9 Dec 6, 2022
Powerful land plugin, based on PMMP.

iLand Powerful land plugin, based on PMMP Features Land management with Form UI The border of the selected land Custom land settings Customize the per

Block Magic Dev 7 Jul 26, 2022
A plugin that allows you to hear the sound "Welcome to the server!" when you join the server by NhanAZ for PocketMine-MP

General A plugin that allows you to hear the sound "Welcome to the server!" when you join the server by NhanAZ for PocketMine-MP Contacts You can cont

NhanAZ's PocketMine-MP Plugins 10 Sep 27, 2022
Type and shape system for arrays. Help write clearer code when implementing configs for your PocketMine-MP plugin or composer project.

ConfigStruct Type and shape system for arrays. Help write clearer code when implementing configs for your PocketMine-MP plugin or composer project. It

EndermanbugZJFC 9 Aug 22, 2022
PMMP 4.0.0

InventoryAPI PocketMine-MP APIv4.0.0 Example OneBlockInventory use pocketmine\block\BlockLegacyIds; use pocketmine\player\Player; use pocketmine\netw

null 14 Dec 26, 2022