Jump to content

Recommended Posts

Posted

I registered two keybindings for my mod in a Method in my CommonHandler. The first keybinding works, but the other one does not even print out a string when i press it. This is my code:

@SubscribeEvent
public void onKeyPressed(ClientTickEvent e) {
	if (Keybindings.EnterVehicleKey.isPressed()) {
		if (getClosestEntity() != null) {
			EntityVehicle v = getClosestEntity();
			RealLifeMod.network.sendToServer(new MountVehicleMessage(v.getEntityId()));
		}
	}
	if (Keybindings.CharacterKey.isPressed()) {
		System.out.println("Test");
	}

}

Posted

#isKeyDown (previously #getKeyIsPressed) is the one to use for continuous querying - #isPressed will return false after calling it the first time.

 

Also, you should not register KeyBindings in your CommonHandler - they are client side only and should be registered in your ClientProxy or its equivalent.

 

Show your registration code.

Posted

#isKeyDown (previously #getKeyIsPressed) is the one to use for continuous querying - #isPressed will return false after calling it the first time.

 

Also, you should not register KeyBindings in your CommonHandler - they are client side only and should be registered in your ClientProxy or its equivalent.

 

Show your registration code.

 

Wow, why do they have that keyPressed thingemy then, when it only returns the propper value the first time lol :P

Posted

Also, that is the class with my keybindings:

 

package itsamysterious.mods.reallifemod.core.handlers;

import org.lwjgl.input.Keyboard;

import net.minecraft.client.settings.KeyBinding;
import net.minecraftforge.fml.client.registry.ClientRegistry;

public class Keybindings {
public static KeyBinding EnterVehicleKey = new KeyBinding("Enter Vehicle", Keyboard.KEY_RETURN, "key.categories.reallifemod");
public static KeyBinding CharacterKey = new KeyBinding("Character Menu", Keyboard.KEY_C, "key.categories.reallifemod");

public static void init(){
	ClientRegistry.registerKeyBinding(EnterVehicleKey);
	ClientRegistry.registerKeyBinding(CharacterKey);
}
}

 

I call the init-Method from my MainClass's Init method(Hope thats alright). Also, then why does the first keybinding work with isPressed and the other one isn't?

 

EDIT: I register the keybindings from my clientproxy now. But the ClientTick Event has to be in the commonhandler cuz it registered to FMLCommanHandler.bus()

 

Posted

You never register your ClientProxy as an event handler, hence the @SubscribeEvent methods in it will never be called. Hence none of your keys work.

 

I have the method in the commonhandler which is registered propperly. That is just a leftover in the clientproxy.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.