Jump to content

Recommended Posts

Posted

Hello,

I have an item which call a procedure each inventory tick.

This item overrides Player motion vector to 0.

However, the player can't jump.

How can I get if the jump key is pressed, on PlayerEntity ? Is there sth like player.isKeyPressed(...) or do i need to register an event for this ? If so, how ?

PS: 1.16.5

Thanks in advance !

Posted

You can make a Keybind for this. This isn't very hard. The problem is that the player can change the key for triggering the Keybind.

I wouldn't make a keybind, I just wouldn't change the y value of the player motion vector (set it to playerMotionVector.y).

Sorry if my Posts are weird sometimes, I just try to help and learn as much as I can :D

Also: PLEASE use SPOILERS for logs!

Posted (edited)

But you can change the Keybind while the game is running

What do you want to do?

Edited by OutCraft
Last sentence

Sorry if my Posts are weird sometimes, I just try to help and learn as much as I can :D

Also: PLEASE use SPOILERS for logs!

Posted

Thanks for your advice !!! 

Now all the things I wanted works except the KeyBind change. 

The Keybind is only defined on jump key when the Keybind wasn't in options.txt

So now what I want is setting My KeyBind to the key defined for jump by player Each time world is loaded. 

How can I do that ?

Posted

You can get the jump key with 

Minecraft.getInstance().options.keyJump.getKey()

 

Sorry if my Posts are weird sometimes, I just try to help and learn as much as I can :D

Also: PLEASE use SPOILERS for logs!

Posted

Thanks for you reply. But ... How can I bind my custom keybind to this key ??? I tried

KeyBinding keys;
keys = new KeyBinding("key.example_mod.jump", GLFW.GLFW_KEY_SPACE, "key.categories.movement");
keys.bind(Minecraft.getInstance().gameSettings.keyBindJump.getKey());

and

KeyBinding keys;
keys = new KeyBinding("key.example_mod.jump", Minecraft.getInstance().gameSettings.keyBindJump.getKey(), "key.categories.movement");

and replacing the get key method with the one you provided

Minecraft.getInstance().options.keyJump.getKey()

But nothing works ! It compiles but doesn't change my keybind if i have modified it in the Minecraft settings gui.

What can I do ???

Thanks a lot !!!

Posted (edited)

The keybind has a method for this, doesn't it?

Edit: Are you trying to modify the default value or change it back to space on change through player?

Edited by OutCraft

Sorry if my Posts are weird sometimes, I just try to help and learn as much as I can :D

Also: PLEASE use SPOILERS for logs!

Posted

I want to set my Custom KeyBind Key to the key selected for jump by player. How can I do that ???

I don't want to change the default value, which is space, but wants to set My keybind to the jump's one.

For example A player jump with K. If he changed my custom keybind to S I want it to set to K.

Thanks

Posted

I would make a ClientTickEvent in my EventBusSubscriber and change the key to the jump key there. The keybind has a method for changing the key, pass in 

On 12/11/2021 at 10:47 AM, OutCraft said:
Minecraft.getInstance().options.keyJump.getKey()

 

 

Sorry if my Posts are weird sometimes, I just try to help and learn as much as I can :D

Also: PLEASE use SPOILERS for logs!

Posted (edited)
3 minutes ago, diesieben07 said:

check the vanilla key binding

How do you check the vanilla keybind?

Just like a custom?

Edited by OutCraft

Sorry if my Posts are weird sometimes, I just try to help and learn as much as I can :D

Also: PLEASE use SPOILERS for logs!

Posted

Thanks for your help :D but ... So If I want to check when the player press the vanilla jump keybind, how can I do this ?

I know I can register a onKeyPressed event,

but I can't figure how to check if jump key is pressed. Because

Minecraft.getInstance().options.keyJump.getKey()

Return the key selected, but not if this key was pressed. How can I check ?

Thanks a lot for your help :)

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



  • Recently Browsing

    • No registered users viewing this page.
  • Posts

    • joptsimple.UnrecognizedOptionException: X is not a recognized option JVM-Arguments begin with a - So use -Xmx6G instead of Xmx6G etc
    • https://pastebin.com/SnWukPj8   thats the crash log if anyone can help add me on discord: privatelk
    • Remove Neruina and justleveling from your server
    • I'm attempting to make a 1.20.1-47.4.0 forge server but when I change the user_jvm_args.txt it does nothing so i tried adding it to the run.bat which it picks up on the startup console but then gives me this [21:56:01] [main/ERROR] [minecraft/Main]: Failed to start the minecraft server joptsimple.UnrecognizedOptionException: X is not a recognized option     at joptsimple.OptionException.unrecognizedOption(OptionException.java:108) ~[jopt-simple-5.0.4.jar%2393!/:?] {}     at joptsimple.OptionParser.validateOptionCharacters(OptionParser.java:633) ~[jopt-simple-5.0.4.jar%2393!/:?] {}     at joptsimple.OptionParser.handleShortOptionCluster(OptionParser.java:528) ~[jopt-simple-5.0.4.jar%2393!/:?] {}     at joptsimple.OptionParser.handleShortOptionToken(OptionParser.java:523) ~[jopt-simple-5.0.4.jar%2393!/:?] {}     at joptsimple.OptionParserState$2.handleArgument(OptionParserState.java:59) ~[jopt-simple-5.0.4.jar%2393!/:?] {}     at joptsimple.OptionParser.parse(OptionParser.java:396) ~[jopt-simple-5.0.4.jar%2393!/:?] {}     at net.minecraft.server.Main.main(Main.java:98) ~[server-1.20.1-20230612.114412-srg.jar%23101!/:?] {re:classloading}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] {}     at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[?:?] {}     at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] {}     at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?] {}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.runTarget(CommonLaunchHandler.java:111) ~[fmlloader-1.20.1-47.4.0.jar%2369!/:?] {}     at net.minecraftforge.fml.loading.targets.CommonLaunchHandler.serverService(CommonLaunchHandler.java:103) ~[fmlloader-1.20.1-47.4.0.jar%2369!/:?] {}     at net.minecraftforge.fml.loading.targets.CommonServerLaunchHandler.lambda$makeService$0(CommonServerLaunchHandler.java:27) ~[fmlloader-1.20.1-47.4.0.jar%2369!/:?] {}     at cpw.mods.modlauncher.LaunchServiceHandlerDecorator.launch(LaunchServiceHandlerDecorator.java:30) ~[modlauncher-10.0.9.jar%2355!/:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:53) ~[modlauncher-10.0.9.jar%2355!/:?] {}     at cpw.mods.modlauncher.LaunchServiceHandler.launch(LaunchServiceHandler.java:71) ~[modlauncher-10.0.9.jar%2355!/:?] {}     at cpw.mods.modlauncher.Launcher.run(Launcher.java:108) ~[modlauncher-10.0.9.jar%2355!/:?] {}     at cpw.mods.modlauncher.Launcher.main(Launcher.java:78) ~[modlauncher-10.0.9.jar%2355!/:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:26) ~[modlauncher-10.0.9.jar%2355!/:?] {}     at cpw.mods.modlauncher.BootstrapLaunchConsumer.accept(BootstrapLaunchConsumer.java:23) ~[modlauncher-10.0.9.jar%2355!/:?] {}     at cpw.mods.bootstraplauncher.BootstrapLauncher.main(BootstrapLauncher.java:141) ~[bootstraplauncher-1.1.2.jar:?] {} I have uninstalled and reinstalled all my versions of java and tried deleting and restarting everything several times to no avail. I have no more ideas and would appreciate any assistance.
  • Topics

×
×
  • Create New...

Important Information

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