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

  • Author

Looks nice, but can I also use this for Keys minecraft uses?

 

I want to set special functions to the keys 1 to 9 and to key 0.

But keys 1 to 9 are used in MC to switch the selected Inventory slot. This should happen, if you press the key (1 to 9) and Shift at the same time.

Can I do this and how?

Listen for the slot change, I'm usure if forge has an event for this, then check if shift is being pressed (EntityPlayer.isSneaking?). Then do what you want.

Hello,

 

This should also work:

 

@Override
public void keyDown(EnumSet<TickType> types, KeyBinding kb, boolean tickEnd, boolean isRepeat) 
{
    if (tickEnd) 
    {
        if(kb.keyCode == Key.KEY_0) //OR WHATEVER KEY YOU LIKE
        {
             //DO SOMETHING
        }
    }
}

 

ss7

You sir are a god damn hero.

Hmm in order to stop the vanilla function for those methods you will either have to prevent them from firing their given methods or change the default keybindings to something obscure so they won't get hit at all I guess?

:P

 

 

If you guys dont get it.. then well ya.. try harder...

  • Author

Hmm in order to stop the vanilla function for those methods you will either have to prevent them from firing their given methods or change the default keybindings to something obscure so they won't get hit at all I guess?

:P

Yes, but how can I stop the vanilla methods?

Or: How can I change the Keybindings from my Mod?

 

PS: Nooby question: Why does everybody call normal-minecraft-stuff "vanilla"?

This works, bit you can't stop the normal MC-Function for this.. Is there any Event concerning Keys?

 

If you're overriding the base function then it shouldn't get called unless you do something like super.keyDown(). Minecraft must have some other listener active to get the keypress.

Hardcoded in Minecraft class.

for (i = 0; i < 9; ++i)
                        {
                            if (Keyboard.getEventKey() == 2 + i)
                            {
                                this.thePlayer.inventory.currentItem = i;
                            }
                        }

This means you can't change it.

  • Author

Hardcoded in Minecraft class.

for (i = 0; i < 9; ++i)
                        {
                            if (Keyboard.getEventKey() == 2 + i)
                            {
                                this.thePlayer.inventory.currentItem = i;
                            }
                        }

This means you can't change it.

Thank you for this information... I thing I hadn't find this on my own.

 

I worked a little bit and now I've got the function I want to have..

For anyone who is interested in this I post it here:

Method from my TickHandler:

public void onEndTickInGame()
        {
        	if (mc.thePlayer != null) if (mc.thePlayer.inventory!= null) //Avoid an NPE
        	{        	
        		for (int i = 1; i <= 10; i ++)
        		{
        			if (Keyboard.getEventKey() == i+1) //Keys 1 to 9 and Key 0
        			{
        				if (!Keyboard.isKeyDown(Keyboard.KEY_LSHIFT)) //If Shift is pressed, normal function
        				{
        					this.mc.thePlayer.inventory.currentItem = Main.clientProxy.prevHeldItem; //Reset normal function if shift isn't pressed.
        					
        					if (Keyboard.isKeyDown(i+1)) //To stop multi-call after releasing the key
        					{
        						if (!KeyDown)
        						{
        							System.out.println(Keyboard.getKeyName(i+1));
        							//Do anything...
        							KeyDown = true;
        						}
        					} else KeyDown = false;
        				}
        			}
        		}
        		Main.clientProxy.prevHeldItem = this.mc.thePlayer.inventory.currentItem;
        	}
        }

 

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.