Бинд

Версия Minecraft
1.7.10
28
0
Здравствуйте, сразу скажу, что я по знаниям ниже джуниора, поэтому спешу задать вам наитупейший вопрос, а как забиндить клавишу, да, просто отправьте мне какой-нибудь код где фигурирует бинд клавиши ( бинд хоть чего ).
 
1,159
38
544
Java:
/**
* Обработчик нажатия кнопок, используемых для вызова GUI
*
* В этом классе не реализовано очень много интересных вещей из тутора:
* https://github.com/coolAlias/Forge_Tutorials/blob/master/CustomPlayerInventory.java
*
* @author RareScrap
*/
public class KeyHandler {
    /** Кей-биндинги */
    public KeyBinding[] keys = {
            // Кнопка открытия тестового UI
            new KeyBinding("keybind.rsstatsinventory", Keyboard.KEY_B, "key.categories.inventory"),
            // Кнопка открытия SSPPage
            new KeyBinding("keybind.ssppage", Keyboard.KEY_N, "key.categories.inventory")
        };
       
        /**
         * Конструктор, регистрирующий кей-биндинги из {@link #keys}
         */
    public KeyHandler() {
            for (KeyBinding key : keys) {
                ClientRegistry.registerKeyBinding(key);
            }
    }

    @SideOnly(Side.CLIENT)
    @SubscribeEvent
    public void playerTick(PlayerTickEvent event) {
            if (event.side == Side.SERVER) return;
            if (event.phase == Phase.START ) {
                if (keys[0].isPressed() && FMLClientHandler.instance().getClient().inGameHasFocus) {
                    CommonProxy.INSTANCE.sendToServer(new PacketOpenRSStatsInventory(event.player));
                }
                if (keys[1].isPressed() && FMLClientHandler.instance().getClient().inGameHasFocus) {
                    CommonProxy.INSTANCE.sendToServer(new PacketOpenSSPPage(event.player));
                }
            }
    }
}

+ нужно зарегать биндинг в шине FMLCommonHandler. Вот пример.

Т.е. смысл в том, что мы на клиенте подписываемся на тик игрок и каждый тик проверяем нажатие кнопки.

PS. Подробно расписывать лень. Так что поизучай код выше + загляни в класс KeyBinding.
 
Сверху