Иногда в процессе разработки возникает необходимость добавления новых клавиш управления. Иногда – потому что клавиши должны использоваться только для часто используемых действий игроком, дабы не перегружать экран настроек управления. Все остальные действия лучше реализовывать с помощью GUI и команд.
Работа с клавишами управления состоит из двух частей: регистрация клавиш в настройках игры и создание обработчика, отслеживающего нажатия. Первая часть является необязательной, поскольку нужна только для возможности переназначения клавиши пользователем.
Простой обработчик клавиш#
Создаём новый класс KeyHandler в котором у нас будет храниться список всех клавиш и обработчик события.
KeyHandler.java
И регистрируем его в ClientProxy :
Разберём, как это всё работает:
- Создаётся экземпляр KeyBinding с нужными параметрами (имя, клавиша, категория).
- Имя и категория являются ключами локализации.
- Имя клавиши также используется в качестве ключ для хранения параметра в options.txt, поэтому его не рекомендуется менять в дальнейшем.
- Параметр «клавиша» представляет собой числовой код клавиши, это значение по-умолчанию. Для удобства используются константы класса org.lwjgl.input.Keyboard .
- Категорию можно назвать как угодно или использовать существующие, указав соответствующий ключ.
- Регистрация бинда клавиши в игре осуществляется с помощью ClientRegistry.registerKeyBinding(KeyBinding) чтобы она появилась на экране настроек управления.
- Регистрируем обработчик события InputEvent.KeyInputEvent (нажатие клавиши в игре).
- С помощью метода KeyBinding#isPressed() проверяется, нажата ли нужная клавиша в момент получения события.
Продвинутый уровень#
В приведённом ранее примере был рассмотрен самый простой способ отслеживания клавиши. Нам необязательно отслеживать событие InputEvent.KeyInputEvent , с клавишами можно работать как угодно и где угодно, но с пониманием дела. Обработчик, срабатывающий на любые действия игрока, ничего не вызовет, кроме раздражения.
Как забиндить кнопки в Minecraft
Возможности KeyBinding#
Использование класса KeyBinding нужно только для предоставления пользователю возможности переопределить клавишу по-умолчанию. Рассмотрим методы данного класса:
getIsKeyPressed() | Нажата ли клавиша в данный момент. |
getKeyCode() | Возвращает числовой код клавиши (это значение может быть переопределено пользователем). 0 – если никакая клавиша не задана. |
getKeyCodeDefault() | Возвращает код клавиши по-умолчанию (тот, что был передан в конструктор). |
isPressed() | Нажата ли клавиша в данный момент. Имеет таймер нажатия, поэтому не подходит для проверки удержания клавиши нажатой. |
Отслеживание нажатия клавиш#
Без использования класса KeyBinding , проверка удержания клавиши осуществляется «сырым» методом с помощью org.lwjgl.input.Keyboard#isKeyDown(int) , принимающего код клавиши в качестве аргумента.
Код клавиши должен быть больше нуля, иначе метод всегда будет возвращать положительное значение. Это следует учитывать, особенно при работе с KeyBinding .
Проверка должна осуществляться в момент события «Client Tick». Например, логику обработки клавиш можно реализовать в GUI, переопределив метод GuiScreen#keyTyped(char, int) . Такой обработчик будет активен только пока GUI активен.
Источник: mcmodding.ru
Как забиндить клавишу.
И так, сейчас я покажу как забиндить клавишу в майнкрафт.
5) Опять жмите на ё(~) и нажимайте на ту клавише, которую вы забиндили!
Источник: minecraftonly.ru
Мод MacroKey Keybinding 1.12.2/1.11.2 (Бинды клавиш)
MacroKey Keybinding — мод на Майнкрафт 1.12.2, который позволит вам делать бинды любых клавиш. Теперь вы можете указать любую клавишу на клавиатуре и приписать к ней нужную вам команду. В нужный момент, когда вам нужно прописать команду, достаточно просто щелкнуть по нужной клавише и команда исполнится.
Для чего это нужно?
Всё это нужно для экономии вашего времени и помогает избежать сложных игровых ситуаций, к примеру когда вам нужно быстро телепортироваться домой. Дополнение имеет достаточно простой и понятный графический интерфейс. Подобный мод есть не только на Minecraft Forge , но и на LiteLoader , который называется Macro/Keybind.
Как создать бинд?
Нажмите клавишу K в игре, после чего откроется меню в котором вы можете выбрать клавишу и прописать к ней команду. Так-же есть возможность включить повторение команды при зажатии клавиши.
Как установить мод
Cкачайте и установите Minecraft Forge
Нажмите клавиши WIN+R ( Кнопка «WIN» обычно между «ALT» и «CTR» )
В окне введите %appdata%
Перейдите в папку .minecraft/mods ( Если папки mods нет, то создайте )
Переместите скачанный мод ( .zip/.jar ) в папку mods
Для 1.11.2 macrokey-1.11.2-1.1.6.3.jar [ 51.01 Kb 15246 16 мая 2018]
Для 1.10.2 macrokey-1.10.2-1.1.6.1.jar [ 51.87 Kb 411 16 мая 2018]
Для 1.9.4 macrokey-1.9.4-1.1.6.1.jar [ 51.86 Kb 278 16 мая 2018]
Для 1.8.9 macrokey-1.8.9-1.1.5.1.jar [ 38.51 Kb 3160 16 мая 2018]
Для 1.8 macrokey-1.8-1.0.4.jar [ 31.66 Kb 1122 16 мая 2018]
Источник: minecraft20.ru