Непостоянное значение

Версия Minecraft
1.7.10
1,976
68
220
Доброго всем!
В общем, есть такой код (кину на всякий случай весь, мало-ли что):
Код:
    @Override
    public boolean onItemUse(ItemStack stack, EntityPlayer player, World world, int x, int y, int z, int side, float hitX, float hitY, float hitZ) {
     if (!world.isRemote) {
     int damage = stack.getItemDamage();
     TileEntity tile = world.getTileEntity(x, y, z);
     if (tile != null && tile instanceof ArcaneChaliceTileEntity) {
     ArcaneChaliceTileEntity chalice = (ArcaneChaliceTileEntity) tile;
     switch (damage) {
     case 0: hasCoals = true; chalice.setType(EnumCoalType.SOLAR); break;
     case 1: hasCoals = true; chalice.setType(EnumCoalType.LUNAR); break;
     case 2: hasCoals = true; chalice.setType(EnumCoalType.BLAZE); break;
     case 3: hasCoals = true; chalice.setType(EnumCoalType.ENDER); break;
     }
     }
     }
     return true;
    }
Код:
public class ArcaneChaliceTileEntity extends TileEntity {
 
 public boolean hasCoals;
 public EnumCoalType type;
 
 public void setType(EnumCoalType ct) {
 hasCoals = true;
 type = ct;
 }

 @Override
 public void writeToNBT(NBTTagCompound nbt) {
 nbt.setBoolean("Coals", hasCoals);
 if (hasCoals) nbt.setString("Type", EnumCoalType.toString(type));
 }

 @Override
 public void readFromNBT(NBTTagCompound nbt) {
 hasCoals = nbt.getBoolean("Coals");
 if (hasCoals) type = EnumCoalType.fromString(nbt.getString("Type"));
 }
}
По идее, он должен устанавливать hasCoals на true... И он это делает. Но есть один минус - если попытаться вывести в консоль (в updateEntity) - будет чередовать "false, true, false, true..."
Подскажите, пожалуйста, в чём может быть ошибка?
 
Решение
AlexSocol написал(а):
если попытаться вывести в консоль (в updateEntity) - будет чередовать "false, true, false, true..."
Выводит переменную только на серверной или ты не делал проверки на серверную сторону? Если не делал, то это скорее всего чередуется стороны, на серверной стороне true, а на клиентской стороне false.

timaxa007

Модератор
5,831
409
672
AlexSocol написал(а):
если попытаться вывести в консоль (в updateEntity) - будет чередовать "false, true, false, true..."
Выводит переменную только на серверной или ты не делал проверки на серверную сторону? Если не делал, то это скорее всего чередуется стороны, на серверной стороне true, а на клиентской стороне false.
 
Сверху