Есть вот такой вот код, написан он в моём блоке из мода:
Он нужен, чтобы мой блок из мода смог сломать только тот, кто его поставил и только определённым предметом, но при сравнении id игрока и id того, кому принадлежит блок получается, что они не равны и выполняется код после else if, вот собственно, что выводит в чате:
Как мы видим ID совершенно одинаковый и всё должно работать нормально, но не работает, собственно поэтому я здесь, также пробовал сравнивать ники, с сравнением ников всё работает, но при установке мода на сервер уже при перезаходе перестают ломаться блоки, собственно также начинает выполняться код после else if (до перезахода всё ок).
В чём я мог напортачить и в чём же решение данной проблемы?
P.S. toString() написал для наглядности, но с типом данных UUID тоже не работает
Java:
@Override
public float getPlayerRelativeBlockHardness(EntityPlayer player, World world, int x, int y, int z) {
TileEntityCounterPersonal tileEntity = getTileEntity(world, x, y, z);
String playerID = player.getPersistentID().toString();
String entityID = tileEntity.getOwnerUUID().toString();
if (!(player.inventory.getCurrentItem() == null) && (!(playerID == null)) && (!(entityID == null) && !world.isRemote)) {
ItemStack stack = player.inventory.getCurrentItem();
if (stack != null && ((stack.getItem() == BlocksRegistry.buildingmallet) || (stack.getItem() == BlocksRegistry.buildingmallet2) || (stack.getItem() == BlocksRegistry.buildingmallet3)) && entityID == playerID)
{
return 1F;
} else if (entityID != playerID) {
player.addChatMessage(new ChatComponentTranslation("tile.counter.imposter",entityID , playerID)); //tileEntity.getOwnerName()));
} else {
return ForgeHooks.blockStrength(this, player, world, x, y, z);
}
}
return ForgeHooks.blockStrength(this, player, world, x, y, z);
}
Он нужен, чтобы мой блок из мода смог сломать только тот, кто его поставил и только определённым предметом, но при сравнении id игрока и id того, кому принадлежит блок получается, что они не равны и выполняется код после else if, вот собственно, что выводит в чате:
Как мы видим ID совершенно одинаковый и всё должно работать нормально, но не работает, собственно поэтому я здесь, также пробовал сравнивать ники, с сравнением ников всё работает, но при установке мода на сервер уже при перезаходе перестают ломаться блоки, собственно также начинает выполняться код после else if (до перезахода всё ок).
В чём я мог напортачить и в чём же решение данной проблемы?
P.S. toString() написал для наглядности, но с типом данных UUID тоже не работает