Hey, I'm trying to make a chest UI but I get this error: [18:23:51] [Server thread/CRITICAL]: RuntimeException: "Cannot access dynamic field "Items": Dynamic field access on pocketmine\nbt\tag\CompoundTag is no longer supported" (EXCEPTION) in "vendor/pocketmine/nbt/src/tag/NoDynamicFieldsTrait" at line 31 [18:23:51] [Server thread/DEBUG]: #0 vendor/pocketmine/nbt/src/tag/NoDynamicFieldsTrait(35): pocketmine\nbt\tag\CompoundTag->throw(string[5] Items) [18:23:51] [Server thread/DEBUG]: #1 plugins/HydroPEVaults/src/HydroPEVaults/commands/VaultCommand(50): pocketmine\nbt\tag\CompoundTag->__get(string[5] Items) [18:23:51] [Server thread/DEBUG]: #2 src/pocketmine/command/SimpleCommandMap(270): HydroPEVaults\commands\VaultCommand->execute(object pocketmine\Player, string[5] vault, array[1]) [18:23:51] [Server thread/DEBUG]: #3 src/pocketmine/Server(2035): pocketmine\command\SimpleCommandMap->dispatch(object pocketmine\Player, string[10] vault open) [18:23:51] [Server thread/DEBUG]: #4 src/pocketmine/Player(2312): pocketmine\Server->dispatchCommand(object pocketmine\Player, string[10] vault open) [18:23:51] [Server thread/DEBUG]: #5 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(244): pocketmine\Player->chat(string[11] /vault open) [18:23:51] [Server thread/DEBUG]: #6 src/pocketmine/network/mcpe/protocol/CommandRequestPacket(54): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleCommandRequest(object pocketmine\network\mcpe\protocol\CommandRequestPacket) [18:23:51] [Server thread/DEBUG]: #7 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(110): pocketmine\network\mcpe\protocol\CommandRequestPacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter) [18:23:51] [Server thread/DEBUG]: #8 src/pocketmine/network/mcpe/protocol/BatchPacket(126): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\CommandRequestPacket) [18:23:51] [Server thread/DEBUG]: #9 src/pocketmine/network/mcpe/PlayerNetworkSessionAdapter(110): pocketmine\network\mcpe\protocol\BatchPacket->handle(object pocketmine\network\mcpe\PlayerNetworkSessionAdapter) [18:23:51] [Server thread/DEBUG]: #10 src/pocketmine/Player(3205): pocketmine\network\mcpe\PlayerNetworkSessionAdapter->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket) [18:23:51] [Server thread/DEBUG]: #11 src/pocketmine/network/mcpe/RakLibInterface(169): pocketmine\Player->handleDataPacket(object pocketmine\network\mcpe\protocol\BatchPacket) [18:23:51] [Server thread/DEBUG]: #12 vendor/pocketmine/raklib/src/server/ServerHandler(99): pocketmine\network\mcpe\RakLibInterface->handleEncapsulated(string[15] 127.0.0.1 50044, object raklib\protocol\EncapsulatedPacket, integer 0) [18:23:51] [Server thread/DEBUG]: #13 src/pocketmine/network/mcpe/RakLibInterface(109): raklib\server\ServerHandler->handlePacket() [18:23:51] [Server thread/DEBUG]: #14 src/pocketmine/network/mcpe/RakLibInterface(99): pocketmine\network\mcpe\RakLibInterface->process() [18:23:51] [Server thread/DEBUG]: #15 vendor/pocketmine/snooze/src/SleeperHandler(123): pocketmine\network\mcpe\RakLibInterface->pocketmine\network\mcpe\{closure}() [18:23:51] [Server thread/DEBUG]: #16 vendor/pocketmine/snooze/src/SleeperHandler(85): pocketmine\snooze\SleeperHandler->processNotifications() [18:23:51] [Server thread/DEBUG]: #17 src/pocketmine/Server(2355): pocketmine\snooze\SleeperHandler->sleepUntil(double 1575138231.8723) [18:23:51] [Server thread/DEBUG]: #18 src/pocketmine/Server(2212): pocketmine\Server->tickProcessor() [18:23:51] [Server thread/DEBUG]: #19 src/pocketmine/Server(1790): pocketmine\Server->start() [18:23:51] [Server thread/DEBUG]: #20 src/pocketmine/PocketMine(275): pocketmine\Server->__construct(object BaseClassLoader, object pocketmine\utils\MainLogger, string[30] D:\Gtfr\Desktop\allpmmp\pmmp1\, string[38] D:\Gtfr\Desktop\allpmmp\pmmp1\plugins\) [18:23:51] [Server thread/DEBUG]: #21 src/pocketmine/PocketMine(299): pocketmine\server() This is my code: PHP: $block = Block::get(54); $sender->getLevel()->setBlock(new Vector3($sender->getX(), $sender->getY() - 2, $sender->getZ()), $block, true, true); $nbt = new CompoundTag("", [ new ListTag("Items", []), new StringTag("id", Tile::CHEST), new IntTag("x", floor($sender->getX())), new IntTag("y", floor($sender->getY() ) - 2), new IntTag("z", floor($sender->getZ())) ]); $nbt->Items->setTagType(NBT::TAG_Compound); $tile = Tile::createTile("Chest", $sender->getLevel(), $nbt); $i = $tile->getInventory(); $i->addItem(Item::get(Item::STONE, 0, 1)); $sender->addWindow($tile->getInventory()); When i delete the line causing the crash I just hear the sound and that's it.
You will need to get that ListTag via the Method Provided in $nbt ( i think it's getListTag() ), not through dynamic access
You don't even need that, getTag takes an class path as second parameter, so getTag("Items", ListTag::class) should work too