- 12
- 0
Не работает сохранение в NBT, сейчас объясню все подробнее.
Есть блок, у него tileentity. В tileentity строка с именем блока.
При активации блока открывается GUI с полем для ввода, я ввожу имя блока, оно должно сохраняться.
GUI:
Вот получил экземпляр tileentity
Теперь далее ввожу строку
Ну а дальше рендер. Дело в том, что все работает, у каждого блока свое имя, но не сохраняется ничего.
В TileEntityBlock:
Почему не работает?
Есть блок, у него tileentity. В tileentity строка с именем блока.
При активации блока открывается GUI с полем для ввода, я ввожу имя блока, оно должно сохраняться.
GUI:
Код:
private TileEntityBlock entityBlock;
...
public GuiBlock (InventoryPlayer inventoryPlayer, TileEntityBlock tileEntity) {
super(new ContainerTiny(inventoryPlayer, tileEntity));
this.entityBlock = tileEntity;
}
Теперь далее ввожу строку
Код:
public void keyTyped(char c, int i){
if (textfield.textboxKeyTyped(c, i)) {
entityBlock.name = textfield.getText();
}
else
{
super.keyTyped(c, i);
}
}
В TileEntityBlock:
Код:
public String name = "";
....
@Override
public void writeToNBT(NBTTagCompound nbt) {
super.writeToNBT(nbt);
nbt.setString("name", name);
}
@Override
public void readFromNBT(NBTTagCompound nbt) {
super.readFromNBT(nbt);
name = nbt.getString("name");
}
Почему не работает?