Jump to content

Recommended Posts

Posted
Quote

 

I’ve been modding on 1.16.5 for a while and found a thing. That I want to register a new KeyBind but that KeyBind has the same keyCode with the vanilla KeyBind. So they Conflict. For example, I’ve registered a KeyBind with a value ‘F’, but it then conflict with the vanilla ‘F’ KeyBind which means “swap Items in Hands”. And I found myself in the game, press ‘F’ but it didn’t work(didn’t swap items in hand)

I know that the method which detecting if the KeyBind fired is ‘consumeClick()’ but it seems like there will be only one KeyBind “Consume” at the same time.

So, here’s the problem. I’m wondering if I can make 2 different actions inside one KeyBind. If can’t, then can I at least make one KeyBind has different actions at different conditions?

Here’s my plan: I want to add a custom KeyBind with the value ‘F’. I want the KeyBind works as “Swap Items in hands” in most of the time. But while I was holding a specific Item, it works as another action. Can I do that?
 

Thanks.

 

Posted
16 minutes ago, MattZM said:

I know that the method which detecting if the KeyBind fired is ‘consumeClick()’ but it seems like there will be only one KeyBind “Consume” at the same time.

it's KeyBind#isDown

17 minutes ago, MattZM said:

So, here’s the problem. I’m wondering if I can make 2 different actions inside one KeyBind. If can’t, then can I at least make one KeyBind has different actions at different conditions?

you need different conditions, but minecraft will mark this KeyBind as a conflict KeyBind which means it colored red in the settings

18 minutes ago, MattZM said:

I want to add a custom KeyBind with the value ‘F’. I want the KeyBind works as “Swap Items in hands” in most of the time. But while I was holding a specific Item, it works as another action. Can I do that?

yeah that should be possible, but you don't need a custom KeyBind for that,
since you need to cancel the Input of the F key (if your conditions are true) via KeyInputEvent,
if you cancel the input just send a custom Packet to the server which do your logic for the Item on server

Note: KeyBindings are client side so you need to use the Minecraft class to get the ClientPlayerEntity

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.