Jump to content

Recommended Posts

Posted

Hey, I set up some Keybinding for my mod. Here is the code:

Mod class:

	@PostInit
public void postInit(FMLPostInitializationEvent event)
{
	proxy.registerKeys();
}

 

ClientProxy.java:

public void registerKeys()
{
	KeyBinding[] key = {new KeyBinding("BBP Key", 29)};
	boolean[] repeat = {false};
	KeyBindingRegistry.registerKeyBinding(new BBPKeyBind(key, repeat)); 
} 

 

BBPKeyBind.java:

package ToX.BBP;

import java.util.EnumSet;
import java.util.Iterator;
import net.minecraft.client.settings.KeyBinding;
import cpw.mods.fml.client.registry.KeyBindingRegistry.KeyHandler;
import cpw.mods.fml.common.TickType;

public class BBPKeyBind extends KeyHandler {

private EnumSet tickTypes = EnumSet.of(TickType.CLIENT);
public static boolean keyDown = false;

public BBPKeyBind(KeyBinding[] keyBindings, boolean[] repeatings) {
	super(keyBindings, repeatings);
	// TODO Auto-generated constructor stub
}

@Override
public String getLabel()
{
	return "BBP";
}

@Override
public void keyDown(EnumSet<TickType> types, KeyBinding kb, boolean tickEnd, boolean isRepeat) {
	if(tickEnd)
		keyDown = true;
}

@Override
public void keyUp(EnumSet<TickType> types, KeyBinding kb, boolean tickEnd) {
	if(tickEnd)
		keyDown = false;
}

@Override
public EnumSet<TickType> ticks() {
	// TODO Auto-generated method stub
	return tickTypes;
}
}

 

Usage in Block class:

 if (BBPKeyBind.keyDown)
    {
              some code	    	
    }

 

In Singleplayer it works fine but in Multiplayer it doesnt. The server doesnt crash or anything but the things that should happen, when the key is pressed down, won't happen (it works though if i remove the if condition, but that would destroy the point of the Keybind).  I think that the server somehow doesnt recognize the keybind but i really have now idea how i could get this to work.

 

I hope you can help me :)

regards

ToX

 

ps: sorry for my english, i'm not a native speaker :D

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.

Announcements



×
×
  • Create New...

Important Information

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