Posted June 22, 201411 yr Hello MCF forums, I was wondering how i would create a Double Jump-like effect when a player is wearing my custom chest plate. Can you please give an example. i also need this to be infinitely expandable.
June 22, 201411 yr What have you tried so far? Post your code. Check out my tutorials here: http://jabelarminecraft.blogspot.com/
June 22, 201411 yr Subscribe to the event for jumping (I think ist livingJumpEvent or playerJumpEvent) and set the y velocity of the player to maybe 2.0. http://i.imgur.com/wNvtGZw.png[/img] MODS and MODDING TUTORIALS
June 22, 201411 yr Wait, do you want an actual double jump or just jumping twice as high? If you just want the player to jump twice as high, you could apply the jump boost potion effect to them if they're wearing your armour.
June 22, 201411 yr Author @jabelar I have not tried anything yet because i dont know how i would go about doing it AT ALL, @Bedrock_Miner & @Zer0HD2 i want an actual double just not just a potion effect or setting there velocity(well i do need the velocity part but i already knew how to do that).
June 22, 201411 yr Okay, but the reason I ask what you have tried is it helps determine what your modding skill level is, because the answer sometimes is different depending on your capability. Your answer indicates you don't have much programming background. That is okay, but may be a problem. Let's see. The way I'd do it is below. Like anything in programming there are probably many other ways, perhaps better ways, to do it. Like mentioned above, there is an event posted whenever a living entity jumps. In my tutorial on events I actually have a "fun" example at the bottom where the console prints "boing" every time the player jumps. Anyway, that tutorial should show you how to intercept the event. See: http://jabelarminecraft.blogspot.com/p/minecraft-forge-172-event-handling.html To do a double jump, in programming you have to keep track of the "state" of the player character. In otherwords, you can't do a double jump unless you know it is actually jumping. So you'll need a field, maybe an extended player property that keeps track of whether he's in the middle of a jump, as you'll need to know that in order to create a double jump. You should see CoolAlias' tutorial (http://www.minecraftforum.net/topic/1952901-172164-eventhandler-and-iextendedentityproperties/) on extended player properties (in his example he makes a mana property, but all you need one boolean property like isJumping that is true when jumping, and second boolean called isDoubleJumping). So once you have the field for keeping track, you would intercept the jumping event (as mentioned above) and set the isJumping field to true. And you would also need to detect when the player lands (probably by using LivingFallEvent but possibley by checking motionY) during PlayerTickEvent). When he lands you'll of course have to clear the isJumping to false. Lastly, you'll need to handl the key input event and when space is pressed, check the player extended properties to test if isJumping is true and test that isDoubleJumping is false (you don't want to allow "triple jumping" so have to test if he's already double jumping). If he's jumping but not double-jumping then you'd create the double jump, I believe by just adding some motionY. So in summary: 1) handle the LivingJumpEvent to set the isJumping variable 2) handle the LivingFallEvent to detect when he's landed to clear the isJumping and isDoubleJumping variables 3) handle the KeyInputEvent to detect space pressed, test if jumping but not already double jumping, and set motion for double jump and set the isDoubleJumping field to true. Get the idea? detect jumps, track when jumping, look for space pressed during jump to set double jump, clear when lands. Check out my tutorials here: http://jabelarminecraft.blogspot.com/
June 23, 201411 yr Author Ok I will try that later because I'm not at my computer. Thank you for all your help but how would I get a triple jump or a quad jump?
June 23, 201411 yr Ok I will try that later because I'm not at my computer. Thank you for all your help but how would I get a triple jump or a quad jump? You would add player extended properties to keep track of each one. isTripleJumping, isQuadrupleJumping, etc. Then when you handle the key input for space, you'd check what it is already doing and then do the new thing. When player lands all these would be cleared. Check out my tutorials here: http://jabelarminecraft.blogspot.com/
June 23, 201411 yr Author Ok thank you ill try that later to see if it works? P.S. how do you keybind? I never needed to use it so I never learned it
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.