Jump to content
View in the app

A better way to browse. Learn more.

Forge Forums

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

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");
	}

}

#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.

  • Author

#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

  • Author

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()

 

  • Author

AWESOME :) Im setting up Github Desktop now and then, can i just copy my modding workspace into it or do i have to creat a new folder and run the gradlew stuff again?

  • Author

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.

  • Author

What have you put in it? When i make system.out int won't work with guis it won't work. What am i makeing wrong? Do i have to log in for that probably?

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...

Important Information

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.