HimmelKreis4865 / JavaGen

A PocketMine-MP plugin that generates vanilla terrain based on a java server
Apache License 2.0
25 stars 2 forks source link

LootTable chests/shipwreck_map does not exist! #6

Closed TheLemzz closed 6 months ago

TheLemzz commented 6 months ago

THIS CRASH WAS CAUSED BY A PLUGIN BAD PLUGIN: JavaGen

Thread: Main Error: LootTable chests/shipwreck_map does not exist! File: plugins/JavaGen-main/src/JavaGen/tile/JavaTileMappings Line: 48 Type: InvalidArgumentException Backtrace:

0 plugins/JavaGen-main/src/JavaGen/tasks/ProcessGenerationDataTask(61): JavaGen\tile\JavaTileMappings->JavaGen\tile{closure}(object JavaGen\tile\JavaTile#65700, object pocketmine\world\World#137248, object pocketmine\world\format\Chunk#159683)

1 pmsrc/src/scheduler/AsyncPool(280): JavaGen\tasks\ProcessGenerationDataTask->onCompletion()

2 pmsrc/src/timings/TimingsHandler(198): pocketmine\scheduler\AsyncPool->pocketmine\scheduler{closure}()

3 pmsrc/src/scheduler/AsyncPool(281): pocketmine\timings\TimingsHandler->time(object Closure#66408)

4 pmsrc/src/scheduler/AsyncPool(127): pocketmine\scheduler\AsyncPool->collectTasksFromWorker(int 0)

5 pmsrc/src/TimeTrackingSleeperHandler(58): pocketmine\scheduler\AsyncPool->pocketmine\scheduler{closure}()

6 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(120): pocketmine\TimeTrackingSleeperHandler->pocketmine{closure}()

7 pmsrc/src/TimeTrackingSleeperHandler(77): pocketmine\snooze\SleeperHandler->processNotifications()

8 pmsrc/vendor/pocketmine/snooze/src/SleeperHandler(79): pocketmine\TimeTrackingSleeperHandler->processNotifications()

9 pmsrc/src/Server(1696): pocketmine\snooze\SleeperHandler->sleepUntil(float 1711977917.9504)

10 pmsrc/src/Server(1066): pocketmine\Server->tickProcessor()

11 pmsrc/src/PocketMine(350): pocketmine\Server->__construct(object pocketmine\thread\ThreadSafeClassLoader#3, object pocketmine\utils\MainLogger#6, string[20] /root/PocketMine-MP/, string[28] /root/PocketMine-MP/plugins/)

12 pmsrc/src/PocketMine(373): pocketmine\server()

Code: [39] } [40] $name = str_replace("minecraft:", "", $tile->getAdditionalData()["LootTable"]); [41] [42] if (($lootTable = LootTableRegistry::getInstance()->getTableByName($name)) !== null) { [43] $tileChest = new Chest($world, $tile->getPosition()); [44] $tileChest->getInventory()->setContents($lootTable->placeItemsInChestGrid(new Random($tile->getAdditionalData()["LootTableSeed"] ?? mt_rand()))); [45] $chunk->addTile($tileChest); [46] $chunk->setTerrainDirty(); [47] } else { [48] throw new InvalidArgumentException("LootTable " . $name . " does not exist!"); [49] } [50] }); [51] $this->registerMapping(BlockTypeNames::ENDER_CHEST, function (JavaTile $tile, World $world, Chunk $chunk): void { [52] $tileBed = new EnderChest($world, $tile->getPosition()); [53] $chunk->addTile($tileBed); [54] $chunk->setTerrainDirty(); [55] }); [56] $this->registerMapping(BlockTypeNames::BED, function (JavaTile $tile, World $world, Chunk $chunk): void { [57] $tileBed = new Bed($world, $tile->getPosition()); [58] $chunk->addTile($tileBed);

TheLemzz commented 6 months ago

fixed in new version