Muqsit / InvMenu

A PocketMine-MP virion to create and manage virtual inventories!
https://poggit.pmmp.io/ci/Muqsit/InvMenu/~
GNU General Public License v3.0
199 stars 76 forks source link

A server crashdump #166

Closed 94832747228 closed 2 years ago

94832747228 commented 2 years ago

[Server thread/CRITICAL]: ErrorException: "array_rand(): Array is empty" (EXCEPTION) in "plugins/MyCrate (6)/src/VirakMC/MyCrate/MenuManager" at line 51

[16:40:30] [Server thread/CRITICAL]: #1 plugins/MyCrate (6)/src/VirakMC/MyCrate/MenuManager(51): array_rand(array[0]) [16:40:30] [Server thread/CRITICAL]: #2 plugins/MyCrate (6)/src/VirakMC/MyCrate/WaiTask(28): VirakMC\MyCrate\MenuManager->change(object muqsit\invmenu\InvMenu, array[0]) [16:40:30] [Server thread/CRITICAL]: #3 pmsrc/src/pocketmine/scheduler/TaskHandler(137): VirakMC\MyCrate\WaiTask->onRun(integer 2858) [16:40:30] [Server thread/CRITICAL]: #4 pmsrc/src/pocketmine/scheduler/TaskScheduler(179): pocketmine\scheduler\TaskHandler->run(integer 2858) [16:40:30] [Server thread/CRITICAL]: #5 pmsrc/src/pocketmine/plugin/PluginManager(654): pocketmine\scheduler\TaskScheduler->mainThreadHeartbeat(integer 2858) [16:40:30] [Server thread/CRITICAL]: #6 pmsrc/src/pocketmine/Server(2389): pocketmine\plugin\PluginManager->tickSchedulers(integer 2858) [16:40:30] [Server thread/CRITICAL]: #7 pmsrc/src/pocketmine/Server(2152): pocketmine\Server->tick() [16:40:30] [Server thread/CRITICAL]: #8 pmsrc/src/pocketmine/Server(1992): pocketmine\Server->tickProcessor() [16:40:30] [Server thread/CRITICAL]: #9 pmsrc/src/pocketmine/Server(1586): pocketmine\Server->start() [16:40:30] [Server thread/CRITICAL]: #10 pmsrc/src/pocketmine/PocketMine(314): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[34] C:\Users\thanh\Desktop\PocketMine\, string[42] C:\Users\thanh\Desktop\PocketMine\plugins) [16:40:30] [Server thread/CRITICAL]: #11 pmsrc/src/pocketmine/PocketMine(344): pocketmine\server() [16:40:30] [Server thread/CRITICAL]: #12 pmsrc(11): require(string[89] phar://C:/Users/thanh/Desktop/PocketMine/PocketMine-MP.phar/src/pocketmine/Pocke) [16:40:30] [Server thread/EMERGENCY]: An unrecoverable error has occurred and the server has crashed. Creating a crash dump [16:40:30] [Server thread/EMERGENCY]: Please upload the "C:\Users\thanh\Desktop\PocketMine\crashdumps/Fri_Feb_11-16.40.30-WIB_2022.log" file to the Crash Archive and submit the link to the Bug Reporting page. Give as much info as you can.

94832747228 commented 2 years ago

[42] public function start(InvMenu $menu, array $items, Player $player, $crate) { [43] $menu->send($player); [44] $this->playerdat[$player->getName()] = true; [45] $this->plugin->getScheduler()->scheduleRepeatingTask(new WaiTask($menu, $items, $player, $crate, $this), 5); [46] } [47] public function change(InvMenu $menu, array $items): InvMenu { [48] for($i=0;$i<27;$i++){ [49] if($i != 13)$menu->getInventory()->setItem($i, new Item(ItemIds::STAINED_GLASS_PANE, rand(0, 15))); [50] } [51] $menu->getInventory()->setItem(13, $items[array_rand($items)]); [52] return $menu; [53] } [54] public function getPlayerDat($player): bool { [55] if($player instanceof Player) $player = $player->getName(); [56] return isset($this->playerdat[$player]); [57] } [58] public function unsetPlayerDat($player) { [59] if($player instanceof Player) $player = $player->getName(); [60] if($this->getPlayerDat($player)) unset($this->playerdat[$player]); [61] }

Muqsit commented 2 years ago

This has nothing to do with InvMenu.