Отмена отмены урона

1,976
68
221
Здравствуйте :D
Я создал броню, при надевании полного сета которой игрок становиться почти как в креативе (полёт, неуязвимость, скорость, т.д.)
CommonEventHandler:
Код:
boolean armored = false; // Что-то типа простенького переключателя
//_________________________________________________________________________________________________________________
@SubscribeEvent
public void onEntityUpdate(LivingUpdateEvent event) {
    if (event.entity instanceof EntityPlayer) { // Игрок ли это
        EntityPlayer player = (EntityPlayer) event.entity; // Это для удобства
        if (!player.capabilities.isCreativeMode) { // Проверка, не в креативе ли игрок
            if ((player.inventory.armorInventory[3] != null) // Есть ли шлем вообще
            && (player.inventory.armorInventory[3].getItem() == ProxyUtils.imboSetHelmet) // Надет ли нужный шлем
            && (player.inventory.armorInventory[2] != null) // Есть ли чест вообще
            && (player.inventory.armorInventory[2].getItem() == ProxyUtils.imboSetChestplate) // Надет ли нужный чест
            && (player.inventory.armorInventory[1] != null) // Есть ли штаны вообще
            && (player.inventory.armorInventory[1].getItem() == ProxyUtils.imboSetLeggings) // Надеты ли нужные штаны 
            && (player.inventory.armorInventory[0] != null) // Есть ли ботинки вообще
            && (player.inventory.armorInventory[0].getItem() == ProxyUtils.imboSetBoots)){ // Надеты ли нужные ботинки 
                player.capabilities.disableDamage = true; // Выключение урона
                player.capabilities.allowFlying = true; // Разрешение полёта
                // Ещё разные 'плюшки', к делу не относящиеся
                armored = true; // Включение
            } else if (armored = true) {
                player.capabilities.disableDamage = false; // Включение урона
                player.capabilities.allowFlying = false; // Запрет полёта, работает
                // Отмена других 'плюшек'
                armored = false; // Выключение
            }
        }
    }
} // Может не слишком красиво, но работает...
Проблема в том, что этот самый ".disableDamage = false" не выполняется и даже если игрок без брони, урон он всё равно не получает.
Подскажите, пожалуйста, что не так :ermm:
 
Код:
if (armored = true)
Ммм... Даже не знаю, норма это или нет.
 
TaoGunner написал(а):
Код:
if (armored = true)
Ммм... Даже не знаю, норма это или нет.
Уупс :D даже две ошибки.. Бывает
Заменил на 
Код:
else if (armored)

и добавил проверку сервера, ибо ещё кое-что не работало
Код:
if (!player.worldObj.isRemote)            
Так теперь я не могу взлететь ._.
Почему такое происходит? =(
 
Назад
Сверху