Иногда в процессе разработки возникает необходимость добавления новых клавиш управления. Иногда – потому что клавиши должны использоваться только для часто используемых действий игроком, дабы не перегружать экран настроек управления. Все остальные действия лучше реализовывать с помощью GUI и команд.

Работа с клавишами управления состоит из двух частей: регистрация клавиш в настройках игры и создание обработчика, отслеживающего нажатия. Первая часть является необязательной, поскольку нужна только для возможности переназначения клавиши пользователем.

Простой обработчик клавиш#

Создаём новый класс KeyHandler в котором у нас будет храниться список всех клавиш и обработчик события.

KeyHandler.java

И регистрируем его в ClientProxy :

Разберём, как это всё работает:

  1. Создаётся экземпляр 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 в игре, после чего откроется меню в котором вы можете выбрать клавишу и прописать к ней команду. Так-же есть возможность включить повторение команды при зажатии клавиши.

    Мод MacroKey Keybinding 1.12.2/1.11.2 (Бинды клавиш)

    Как установить мод

    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