Update TileEntity

Версия Minecraft
1.7.10
212
8
29
Есть tile и блок с ним. В гуи (клиента), получаю тайл
Java:
    public TE (TileEntity tileEntity)
    {
        tile = (BorderlandTileEntity) tileEntity;
    }
    public void initGui()
    {
        x1 = tile.x1;
    }
И потом при нажатии на кнопку отсылаю пакет
Core.network.sendToServer(msg)
Java:
          TileEntity mdl;
          ... b;
          mdl = c.getServerHandler().playerEntity.worldObj.getTileEntity(m.x, m.y, m.z);
          if(mdl != null && mdl instanceof ...) {
             b = (BorderlandTileEntity)mdl;
             b.x1 = m.x1;
             var9.markDirty();
          }
Изменение происходит только после перезахода в мир, как сделать так, что бы при отсылки пакета, значение тут же менялось
 
Решение
В тайл:
Java:
@Override
    public Packet getDescriptionPacket()
    {
        NBTTagCompound data = new NBTTagCompound();
        this.writeToNBT(data);
        return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, data);
    }
  
    @Override
    public void onDataPacket(NetworkManager netManager, S35PacketUpdateTileEntity packet)
    {
        readFromNBT(packet.func_148857_g());
    }
При изменении данных:
world.markBlockForUpdate(x, y, z)

tox1cozZ

aka Agravaine
8,454
598
2,890
В тайл:
Java:
@Override
    public Packet getDescriptionPacket()
    {
        NBTTagCompound data = new NBTTagCompound();
        this.writeToNBT(data);
        return new S35PacketUpdateTileEntity(this.xCoord, this.yCoord, this.zCoord, 0, data);
    }
  
    @Override
    public void onDataPacket(NetworkManager netManager, S35PacketUpdateTileEntity packet)
    {
        readFromNBT(packet.func_148857_g());
    }
При изменении данных:
world.markBlockForUpdate(x, y, z)
 
Сверху