BlockHorizons / BlockSniper

An advanced (brush) world editing plugin for PocketMine-MP
https://poggit.pmmp.io/p/BlockSniper/
Apache License 2.0
76 stars 41 forks source link

UI Compatibility Issue with KitUI #86

Closed 95CivicSi closed 6 years ago

95CivicSi commented 6 years ago

Description

When exiting a cooldown error from KitUI, BlockSniper 'Preset Creation' menu is displayed and an error is displayed on the console. This happens even with players that do not have permissions to use BlockSniper.

To recreate this issue:

  1. Create a base PocketMine-MP server with BlockSniper v.2.3.0 (dev-299) and KitUI v1.1.8 installed.
  2. In the game, open the KitUI interface /kit
  3. Choose any kit from the list.
  4. Choose Yes to select the kit.
  5. On the 'Error' menu, choose Exit.

Versions

Crashdump and/or console errors

2018-01-02 [04:58:04] ^O[Server thread/CRITICAL]: ErrorException: "Invalid argument supplied for foreach()" (EXCEPTION) in "BlockSniper_dev-299.phar/src/BlockHorizons/BlockSniper/ui/windows/BrushMenuWindow" at line 96^O
2018-01-02 [04:58:04] ^O[Server thread/DEBUG]: #0 BlockSniper_dev-299.phar/src/BlockHorizons/BlockSniper/ui/windows/BrushMenuWindow(96): pocketmine\error_handler(integer 2, string Invalid argument supplied for foreach(), string phar:///home/fiber/servers/1.2/plugins/BlockSniper_dev-299.phar/src/BlockHorizons/BlockSniper/ui/windows/BrushMenuWindow.php, integer 96, array Array())^O
2018-01-02 [04:58:04] ^O[Server thread/DEBUG]: #1 BlockSniper_dev-299.phar/src/BlockHorizons/BlockSniper/listeners/UserInterfaceListener(37): BlockHorizons\BlockSniper\ui\windows\BrushMenuWindow->handle(pocketmine\network\mcpe\protocol\ModalFormResponsePacket object)^O
2018-01-02 [04:58:04] ^O[Server thread/DEBUG]: #2 src/pocketmine/plugin/MethodEventExecutor(38): BlockHorizons\BlockSniper\listeners\UserInterfaceListener->onDataPacket(pocketmine\event\server\DataPacketReceiveEvent object)^O
2018-01-02 [04:58:04] ^O[Server thread/DEBUG]: #3 src/pocketmine/plugin/RegisteredListener(98): pocketmine\plugin\MethodEventExecutor->execute(BlockHorizons\BlockSniper\listeners\UserInterfaceListener object, pocketmine\event\server\DataPacketReceiveEvent object)^O
2018-01-02 [04:58:04] ^O[Server thread/DEBUG]: #4 src/pocketmine/plugin/PluginManager(721): pocketmine\plugin\RegisteredListener->callEvent(pocketmine\event\server\DataPacketReceiveEvent object)^O
2018-01-02 [04:58:04] ^O[Server thread/DEBUG]: #5 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(91): pocketmine\plugin\PluginManager->callEvent(pocketmine\event\server\DataPacketReceiveEvent object)^O
2018-01-02 [04:58:04] ^O[Server thread/DEBUG]: #6 src/pocketmine/network/mcpe/protocol/BatchPacket(115): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(pocketmine\network\mcpe\protocol\ModalFormResponsePacket object)^O
2018-01-02 [04:58:04] ^O[Server thread/DEBUG]: #7 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(92): pocketmine\network\mcpe\protocol\BatchPacket->handle(pocketmine\network\mcpe\PlayerNetworkSessionAdapter object)^O
2018-01-02 [04:58:04] ^O[Server thread/DEBUG]: #8 src/pocketmine/Player(2966): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(pocketmine\network\mcpe\protocol\BatchPacket object)^O
2018-01-02 [04:58:04] ^O[Server thread/DEBUG]: #9 src/pocketmine/network/mcpe/RakLibInterface(143): pocketmine\Player->handleDataPacket(pocketmine\network\mcpe\protocol\BatchPacket object)^O
2018-01-02 [04:58:04] ^O[Server thread/DEBUG]: #10 vendor/pmmp/raklib/server/ServerHandler(99): pocketmine\network\mcpe\RakLibInterface->handleEncapsulated(string xx.xx.xx.xx:XXXXX, raklib\protocol\EncapsulatedPacket object, integer 0)^O
2018-01-02 [04:58:04] ^O[Server thread/DEBUG]: #11 src/pocketmine/network/mcpe/RakLibInterface(82): raklib\server\ServerHandler->handlePacket()^O
2018-01-02 [04:58:04] ^O[Server thread/DEBUG]: #12 src/pocketmine/network/Network(89): pocketmine\network\mcpe\RakLibInterface->process()^O
2018-01-02 [04:58:04] ^O[Server thread/DEBUG]: #13 src/pocketmine/Server(2523): pocketmine\network\Network->processInterfaces()^O
2018-01-02 [04:58:04] ^O[Server thread/DEBUG]: #14 src/pocketmine/Server(2275): pocketmine\Server->tick()^O
2018-01-02 [04:58:04] ^O[Server thread/DEBUG]: #15 src/pocketmine/Server(2150): pocketmine\Server->tickProcessor()^O
2018-01-02 [04:58:04] ^O[Server thread/DEBUG]: #16 src/pocketmine/Server(1738): pocketmine\Server->start()^O
2018-01-02 [04:58:04] ^O[Server thread/DEBUG]: #17 src/pocketmine/PocketMine(554): pocketmine\Server->__construct(BaseClassLoader object, pocketmine\utils\MainLogger object, string /home/fiber/servers/1.2/, string /home/fiber/servers/1.2/plugins/)^O
2018-01-02 [04:58:04] ^O[Server thread/DEBUG]: #18 /home/fiber/servers/1.2/PocketMine-MP.phar(1): require(string phar:///home/fiber/servers/1.2/PocketMine-MP.phar/src/pocketmine/PocketMine.php)^O
Sandertv commented 6 years ago

I'm sorry to say I can't do anything about this. The forms implementation in that plugin was copied directly from BlockSniper, including the same form IDs. You could try opening an issue at that repository to ask if he can change his form IDs.

95CivicSi commented 6 years ago

Lol, @Sandertv You know me all too well. Issue opened with KitUI.

https://github.com/Infernus101/KitUI/issues/48