Проблема с EventHandler

1,921
107
378
Я зарегистрировал EventHandler. И я хочу реализовать что бы когда у меня надет алмазный шлем, то при нажатии пробела я бы подлетал. Использую такой код:
Код:
@SubscribeEvent
    public void onKeyInput(InputEvent.KeyInputEvent event) {
        
        InventoryPlayer inv = Minecraft.getMinecraft().thePlayer.inventory;
        
        if (ClientProxy.key[0].isPressed())
        {
            if (inv.armorInventory[0].getItem() == Items.diamond_helmet)
            {
                Minecraft.getMinecraft().thePlayer.motionY = 0.25F;
            }
        }
    }

При нажатии на пробел игры вылетает.
 
1. У тебя всё это работает на клиентской стороне.
2. У тебя нету проверки на "inv.armorInventory[0] != null".
 
timaxa007 написал(а):
1. У тебя всё это работает на клиентской стороне.
2. У тебя нету проверки на "inv.armorInventory[0] != null".
Вставил @SideOnly(Side.SERVER), теперь при нажатии не работает.
 
-___-
Типа надо отсылать пакет на сервер о нажатии твоей кнопки.
Если тебе нужно при прыжке давался, то можно использовать эвент LivingJumpEvent и в этом эвенте давать нормальному объекту игрока давать "motionY = 0.25F".
 
timaxa007 написал(а):
-___-
Типа надо отсылать пакет на сервер о нажатии твоей кнопки.
Если тебе нужно при прыжке давался, то можно использовать эвент LivingJumpEvent и в этом эвенте давать нормальному объекту игрока давать "motionY = 0.25F".
А причём тут LivingJumpEvent? Если игрок может стоять и нажать на кнопку.
 
Как бы нажатие на пробел и означает прыжок ._.
[merge_posts_bbcode]Добавлено: 19.05.2016 14:46:24[/merge_posts_bbcode]

Соответственно, если он стоит и нажал, активируется LJE

[merge_posts_bbcode]Добавлено: 19.05.2016 14:47:13[/merge_posts_bbcode]

только про instanceof EntityPlayer не забудь, а то будут коровы летать
 
AlexSocol написал(а):
Как бы нажатие на пробел и означает прыжок ._.
[merge_posts_bbcode]Добавлено: 19.05.2016 14:46:24[/merge_posts_bbcode]

Соответственно, если он стоит и нажал, активируется LJE

[merge_posts_bbcode]Добавлено: 19.05.2016 14:47:13[/merge_posts_bbcode]

только про instanceof EntityPlayer не забудь, а то будут коровы летать
Да я так и сделал, но LivingJumpEvent срабатывает когда ты прыгаешь с блока, а мне надо что бы и в полёте тоже можно было
 
Keyboard.space
 
Это у него массив кнопок сделан в прокси
 
Назад
Сверху