Как отследить нажатие кнопок на клавиатуре (Alt+Копка)

Версия Minecraft
1.12.2
19
2
4
Регистрируешь KeyBinding`и:
В каком хочешь файле:
Java:
public static KeyBinding altBinding = new KeyBinding("Описание Alt", Keyboard.KEY_LMETA, "Категория Alt");
public static KeyBinding bBinding = new KeyBinding("Описание B", Keyboard.KEY_B, "Категория B");
В инициализации ClientProxy:
Java:
ClientRegistry.registerKeyBinding(ExampleMod.altBinding);
ClientRegistry.registerKeyBinding(ExampleMod.bBinding);
Дальше отслеживаешь KeyInputEvent:
Java:
@Subscribe
public void onKeyInput(InputEvent.KeyInputEvent event) {
    if (ExampleMod.altBinding.isKeyDown() && ExampleMod.bBinding.isPressed()) {
        // TODO твой код
    }
}
И не забудь зарегать обработчик событий при инициализации
 
7,099
324
1,510
Java:
(Keyboard.isKeyDown(Keyboard.KEY_RMENU) || Keyboard.isKeyDown(Keyboard.KEY_LMENU)) && Keyboard.isKeyDown(Keyboard.KEY_B)

(Alt+Копка) - ты имеешь ввиду, когда блок ломаешь?
Своим инструментом или любым?
Своим: переопределить метод onBlockDestroyed в классе своего инструмента
Любым:
BreakEvent, LivingDestroyBlockEvent
 
Последнее редактирование:
68
1
7
Kamihiro, а почему там аннотация Subscribe? С ней у меня не работало, поменял на SubscribeEvent, чтобы заработало.(предыдущие пункты не выполнял)
Эти все действия что вы описали, они нужны чтобы эти кнопки добавились в настройки? Способ hohserg1 проще. Спасибо за ответ
 
Сверху