Помогите Установить nbt теги поставленному блоку

  • Автор темы Автор темы reZero
  • Дата начала Дата начала

reZero

Активный участник
Пользователь
Баллы
76
Есть у меня itemstack (это блок слизи).
Я вешаю ему nbt теги, ставлю цветное имя, лор и т.п.
Когда я этот блок ставлю, а потом ломаю, обнаруживаю, что у него отсутствуют теги, лор и название, которые устанавливал я сам.

Пытался обрабатывать ивент установки блока и ставить блоку nbt теги с itemstack'a, но это кидает мне npe...
Помогите плиз, как можно установить блоку эти nbt, которые были на itemstack'e, или как можно сохранить это все дело, чтоб при установке все эти параметры оставались.
PHP:
ItemStack itemstack = event.getItemInHand();
CraftWorld craftWorld = (CraftWorld)block.getWorld();
TileEntity tileEntity = craftWorld.getTileEntityAt(block.getX(), block.getY(), block.getZ());
tileEntity.save(NBTHandler.getTag(itemstack));
tileEntity.update();
 
Потому что блок слизи не TileEntity. Храни теги в какой-нибудь БД, думаю.
 
Потому что блок слизи не TileEntity. Храни теги в какой-нибудь БД, думаю.
Допустим, буду я хранить эти теги в бд, но а каким образом я могу установить все эти теги на уже установленный блок? Или я чего-то не понимаю?
 
Допустим, буду я хранить эти теги в бд, но а каким образом я могу установить все эти теги на уже установленный блок? Или я чего-то не понимаю?
При разрушении блока передавай все теги из БД в ItemStack. Ещё следует учесть передвижение блока поршнем.
 
а что может поменяться от передвижения блока поршнем?
А как ты собрался хранить блоки в БД? Все равно потребуется сохранять их координаты. При передвижении блока поршнем нужно и в БД "двигать" блок. Ну, либо же ломать блок, как это происходит в шалкерами.
 
Назад
Верх