genboy / Festival

Custom events plugin for Pocketmine
https://genboy.net/minecraft/festival/
Other
38 stars 15 forks source link

compatibility with other mob plugin #276

Open ghost opened 4 years ago

ghost commented 4 years ago

i have an issue where when i spawn an entity an error comes up follows it another error from other plugins related to checking stuff on null(expecting player to be online) causing the server to crash.

the plugin: https://github.com/roci33/MorphX

2020-02-24 [04:43:08] [Server thread/CRITICAL]: InvalidStateException: "Entity is not registered" (EXCEPTION) in "src/pocketmine/entity/Entity" at line 926
2020-02-24 [04:43:08] [Server thread/DEBUG]: #0 plugins/Festival-stable/src/genboy/Festival/Festival(2393): pocketmine\entity\Entity->getSaveId()
2020-02-24 [04:43:08] [Server thread/DEBUG]: #1 plugins/Festival-stable/src/genboy/Festival/Festival(1884): genboy\Festival\Festival->canEntitySpawn(object Roci33\MorphX\Entity\LiveZombie)
2020-02-24 [04:43:08] [Server thread/DEBUG]: #2 src/pocketmine/plugin/MethodEventExecutor(38): genboy\Festival\Festival->onEntitySpawn(object pocketmine\event\entity\EntitySpawnEvent)
2020-02-24 [04:43:08] [Server thread/DEBUG]: #3 src/pocketmine/plugin/RegisteredListener(98): pocketmine\plugin\MethodEventExecutor->execute(object genboy\Festival\Festival, object pocketmine\event\entity\EntitySpawnEvent)
2020-02-24 [04:43:08] [Server thread/DEBUG]: #4 src/pocketmine/event/Event(95): pocketmine\plugin\RegisteredListener->callEvent(object pocketmine\event\entity\EntitySpawnEvent)
2020-02-24 [04:43:08] [Server thread/DEBUG]: #5 src/pocketmine/entity/Entity(647): pocketmine\event\Event->call()
2020-02-24 [04:43:08] [Server thread/DEBUG]: #6 plugins/MorphX-master/src/Roci33/MorphX/Entity/LiveZombie(24): pocketmine\entity\Entity->__construct(object pocketmine\level\Level, object pocketmine\nbt\tag\CompoundTag)
2020-02-24 [04:43:08] [Server thread/DEBUG]: #7 plugins/MorphX-master/src/Roci33/MorphX/Command/Morph(88): Roci33\MorphX\Entity\LiveZombie->__construct(object pocketmine\level\Level, object pocketmine\nbt\tag\CompoundTag, object pocketmine\Player, object Roci33\MorphX\Main)
2020-02-24 [04:43:08] [Server thread/DEBUG]: #8 src/pocketmine/command/SimpleCommandMap(270): Roci33\MorphX\Command\Morph->execute(object pocketmine\Player, string[5] morph, array[1])
2020-02-24 [04:43:08] [Server thread/DEBUG]: #9 src/pocketmine/Server(2026): pocketmine\command\SimpleCommandMap->dispatch(object pocketmine\Player, string[12] morph zombie)
2020-02-24 [04:43:08] [Server thread/DEBUG]: #10 src/pocketmine/Player(2260): pocketmine\Server->dispatchCommand(object pocketmine\Player, string[12] morph zombie)
2020-02-24 [04:43:08] [Server thread/DEBUG]: #11 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(245): pocketmine\Player->chat(string[13] /morph zombie)
2020-02-24 [04:43:08] [Server thread/DEBUG]: #12 src/pocketmine/network/mcpe/protocol/CommandRequestPacket(54): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleCommandRequest(object pocketmine\network\mcpe\protocol\CommandRequestPacket)
2020-02-24 [04:43:08] [Server thread/DEBUG]: #13 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(111): pocketmine\network\mcpe\protocol\CommandRequestPacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter)
2020-02-24 [04:43:08] [Server thread/DEBUG]: #14 src/pocketmine/network/mcpe/protocol/BatchPacket(123): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\CommandRequestPacket)
2020-02-24 [04:43:08] [Server thread/DEBUG]: #15 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(111): pocketmine\network\mcpe\protocol\BatchPacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter)
2020-02-24 [04:43:08] [Server thread/DEBUG]: #16 src/pocketmine/Player(3161): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket)
2020-02-24 [04:43:08] [Server thread/DEBUG]: #17 src/pocketmine/network/mcpe/RakLibInterface(169): pocketmine\Player->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket)
2020-02-24 [04:43:08] [Server thread/DEBUG]: #18 vendor/pocketmine/raklib/src/server/ServerHandler(99): pocketmine\network\mcpe\RakLibInterface->handleEncapsulated(string[18] 151.255.35.14 5402, object raklib\protocol\EncapsulatedPacket, integer 0)
2020-02-24 [04:43:08] [Server thread/DEBUG]: #19 src/pocketmine/network/mcpe/RakLibInterface(109): raklib\server\ServerHandler->handlePacket()
2020-02-24 [04:43:08] [Server thread/DEBUG]: #20 src/pocketmine/network/mcpe/RakLibInterface(99): pocketmine\network\mcpe\RakLibInterface->process()
2020-02-24 [04:43:08] [Server thread/DEBUG]: #21 vendor/pocketmine/snooze/src/SleeperHandler(123): pocketmine\network\mcpe\RakLibInterface->pocketmine\network\mcpe\{closure}()
2020-02-24 [04:43:08] [Server thread/DEBUG]: #22 vendor/pocketmine/snooze/src/SleeperHandler(85): pocketmine\snooze\SleeperHandler->processNotifications()
2020-02-24 [04:43:08] [Server thread/DEBUG]: #23 src/pocketmine/Server(2349): pocketmine\snooze\SleeperHandler->sleepUntil(double 1582508588.2563)
2020-02-24 [04:43:08] [Server thread/DEBUG]: #24 src/pocketmine/Server(2203): pocketmine\Server->tickProcessor()
2020-02-24 [04:43:08] [Server thread/DEBUG]: #25 src/pocketmine/Server(1785): pocketmine\Server->start()
2020-02-24 [04:43:08] [Server thread/DEBUG]: #26 src/pocketmine/PocketMine(268): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[47] /home/minecraft/multicraft/servers/server22957/, string[55] /home/minecraft/multicraft/servers/server22957/plugins/)
2020-02-24 [04:43:08] [Server thread/DEBUG]: #27 src/pocketmine/PocketMine(291): pocketmine\server()
2020-02-24 [04:43:08] [Server thread/DEBUG]: #28 (1): require(string[109] phar:///home/minecraft/multicraft/jar/versions/PocketMine/PocketMine1.14-1.phar/)
genboy commented 4 years ago

Hi @mote166, thank you for sharing. This probably has to do with the mobs or animals flags turned on, otherwise let me know what the area(s) settings are. The Festival plugin code for these flags is still very simplified and does not register new or custom entities. Some time ago i also noticed this error

I'll try testing with MorphX and see how to prevent the server crash and maybe how to write better code that really fixes this and other entity-flag issues.

So for now if still using MorphX with Festival please try turn off the animals and mobs flags (sorry) to prevent the server crashing.

ghost commented 4 years ago

i didn't have time to test other solutions so for now i only did a quick nooby fix by out commenting line 2397 from Festival.php, it doesn't really effect anything in my server since i only use this plugin as a portal to other games so entity flag being turned off isn't that big deal. now all im waiting for is the fix for the latency when checking players perms

ghost commented 4 years ago

You have a very good and useful plugin im glad u made it and hope u don't discontinue it ❤️, keep up the good work!

genboy commented 4 years ago

Thank you for sharing the details on your temporary solution!