SkelletonX 0 Report post Posted April 14, 2018 I'm trying to do that, when I press "KEY_F" Do something, but I'm not getting ButtonClickEvent: package com.skelletonx.MacroSK.handler; import net.minecraft.client.settings.KeyBinding; import net.minecraftforge.fml.common.eventhandler.EventPriority; import net.minecraftforge.fml.common.eventhandler.SubscribeEvent; import net.minecraftforge.fml.common.gameevent.InputEvent; import net.minecraftforge.fml.common.gameevent.InputEvent.KeyInputEvent; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; import org.lwjgl.input.Keyboard; public class ButtonClickEvent { public KeyBinding key = new KeyBinding("key name", Keyboard.KEY_F, "My_Mod_Category"); @SideOnly(Side.CLIENT) @SubscribeEvent(priority= EventPriority.NORMAL, receiveCanceled=true) public void onEvent(KeyInputEvent event) { if(key) { // execute KEY_F } } } ClientProxy: package com.skelletonx.MacroSK.proxy; import com.skelletonx.MacroSK.handler.ButtonClickEvent; import com.sun.javafx.scene.control.behavior.KeyBinding; import net.minecraftforge.common.MinecraftForge; public class ClientProxy extends CommonProxy{ public static KeyBinding[] keyBindings; public void registerClient(){ //ClientCommandHandler.instance.registerCommand(new CommandBind()); MinecraftForge.EVENT_BUS.register(new ButtonClickEvent()); } } Share this post Link to post Share on other sites
Draco18s 1928 Report post Posted April 14, 2018 You are not using keybindings correctly. Share this post Link to post Share on other sites
diesieben07 6115 Report post Posted April 14, 2018 (edited) 12 hours ago, SkelletonX said: if(key) { This does not compile, this is not Javascript. Use ClientTickEvent (check TickEvent::phase) and check KeyBinding::isKeyDown to see if your key is pressed. Also, why does your title say 1.7 when you are clearly not using 1.7? Edited April 14, 2018 by diesieben07 Share this post Link to post Share on other sites
jabelar 584 Report post Posted April 14, 2018 I have a tutorial on keybinding here: http://jabelarminecraft.blogspot.com/p/minecraft-forge-1721710-keybinding.html Share this post Link to post Share on other sites
SkelletonX 0 Report post Posted April 14, 2018 @Draco18s exemple code plz? Share this post Link to post Share on other sites
SkelletonX 0 Report post Posted April 14, 2018 @diesieben07 I'm using Forge API 1.7 Share this post Link to post Share on other sites
Draco18s 1928 Report post Posted April 14, 2018 59 minutes ago, SkelletonX said: @diesieben07 I'm using Forge API 1.7 What do you mean by this? Forge versions are primarily numbered after the version of Minecraft they're for (e.g. 1.7.10 - 10.13.4.1614 is for MC 1.7.10 and is version 10.13.4, build 1614) 1 hour ago, SkelletonX said: @Draco18s exemple code plz? Also, stop putting random formatting on your posts. Share this post Link to post Share on other sites
larsgerrits 504 Report post Posted April 14, 2018 39 minutes ago, SkelletonX said: @diesieben07 I'm using Forge API 1.7 1) Your code shows you're not using Forge for MC 1.7. 2) 1.7.10 and lower are not supported on this forum anymore. You should update. Share this post Link to post Share on other sites
SkelletonX 0 Report post Posted April 15, 2018 On 14/04/2018 at 11:27 AM, diesieben07 said: This does not compile, this is not Javascript. Use ClientTickEvent (check TickEvent::phase) and check KeyBinding::isKeyDown to see if your key is pressed. Also, why does your title say 1.7 when you are clearly not using 1.7? phase ? public ClientTickEvent(TickEvent.Phase phase ok? Share this post Link to post Share on other sites
diesieben07 6115 Report post Posted April 15, 2018 1 minute ago, SkelletonX said: phase ? public ClientTickEvent(TickEvent.Phase phase ok? I have no idea what you are trying to say. Share this post Link to post Share on other sites
SkelletonX 0 Report post Posted April 15, 2018 (edited) @diesieben07 I'm asking if this is to put in the ButtonClickEven package com.skelletonx.MacroSK.handler; import com.skelletonx.MacroSK.util.LogHelper; import net.minecraft.client.Minecraft; import net.minecraftforge.fml.common.gameevent.TickEvent; import net.minecraftforge.fml.relauncher.Side; import net.minecraftforge.fml.relauncher.SideOnly; public class ButtonClickEvent { @SideOnly(Side.CLIENT) public void ClientTickEvent(TickEvent.Phase phase) { LogHelper.info("ClientTickEvent execute"); if(KeybindHandler.keybind.isKeyDown()) { LogHelper.info("OK??????????"); Minecraft.getMinecraft().thePlayer.sendChatMessage(" TEST "); } } } oioio Edited April 15, 2018 by SkelletonX Share this post Link to post Share on other sites
diesieben07 6115 Report post Posted April 15, 2018 No. That's not how events work. Read the documentation. Share this post Link to post Share on other sites