Posted March 4, 20214 yr Hello I am a beginner minecraft modder i have some issues when trying to add a right click functionality to my sword. The problem is that no matter what i have tried i cannot get my minecraft character to move in the direction he was facing. Here is the part of my code that is causing me trouble. Please help! Thank you in advance. @SubscribeEvent public static void OnSwordClick (PlayerInteractEvent.RightClickItem event){ LivingEntity player = event.getEntityLiving(); if (player.getHeldItemMainhand().getItem() ==myitem){ // teleport the player x blocks in the direction that he is facing } } P.S:my forge mdk version is 1.16.5 - 36.0.45
March 4, 20214 yr Author 2 minutes ago, diesieben07 said: You can use Entity#getLookVec to get the look-vector. Then you need to do some trigonometry. Look at TeleportCommand to find out how to do the actual teleport. Thank you for giving me this idea but can you help me implement the trigonometry function in my program
March 4, 20214 yr Author 2 minutes ago, diesieben07 said: Have you tried anything? I found randomly th getlookvec method but i didnt know how to use it. BTW i dont know about the teleport command that you are talking about
March 4, 20214 yr Author 3 hours ago, diesieben07 said: You have the player's position. This is a vector (x, y, z). You then have the look vector, which tells you where the player is looking. Simply multiply that second vector with how far you want to teleport the player (scaling it) and then add the two - you now have the target position. Although likely you want to do some additional checks, so make sure you don't teleport the player into a wall or 10m above ground. It's a class. Look at it in your IDE. Small update!! I found the way to scale and add the lookvec to positionvec, but i still dont know how to teleport the player to that location.it would be very helpful if you could tell me which teleportation method i should use Thanks in advance public static void OnSwordClick (PlayerInteractEvent.RightClickItem event){ LivingEntity player = event.getEntityLiving(); if (player.getHeldItemMainhand().getItem() == myItem){ player.getLookVec().scale(2.0F).add(player.getPositionVec()); } } can you tell me if it is correct @diesieben07 Edited March 4, 20214 yr by troublemaker_47
March 5, 20214 yr Author 15 hours ago, troublemaker_47 said: Small update!! I found the way to scale and add the lookvec to positionvec, but i still dont know how to teleport the player to that location.it would be very helpful if you could tell me which teleportation method i should use Thanks in advance public static void OnSwordClick (PlayerInteractEvent.RightClickItem event){ LivingEntity player = event.getEntityLiving(); if (player.getHeldItemMainhand().getItem() == myItem){ player.getLookVec().scale(2.0F).add(player.getPositionVec()); } } can you tell me if it is correct @diesieben07 Can you please tell me how to use the teleportcommand method or its syntax. @diesieben07
March 5, 20214 yr Author Hello, I am a beginner minecraft modder and i have some problems with a bit of code that would teleport the player in the direction he's facing.can anyone tell me How to merge these lines together: player.getLookVec().scale(2.0F).add(player.getPositionVec()); TeleportCommand; P.S: i need this to work in minecraft 1.16.5-36.0.15 @diesieben07 Can you please help me? Edited March 5, 20214 yr by troublemaker_47
March 5, 20214 yr Author 21 minutes ago, diesieben07 said: Seriously? What have you tried? Do you know basic Java? I already figured how to scale and add the values together but i dont know the syntax for TeleportCommand
March 5, 20214 yr Author 15 minutes ago, diesieben07 said: Syntax?! Its a class. You need to look at it. It is meant as an example here to show you how to teleport. I have taken a look at said class but the only thing that i can access from said class in the register method.
March 5, 20214 yr Author 48 minutes ago, diesieben07 said: You need to not access anything in it. The class shows you (as an EXAMPLE) how to do a teleport. Well then can you tell me how to do the teleport
March 5, 20214 yr Author 21 minutes ago, diesieben07 said: I already did. Sorry for bothering you once again but can you write the code that would teleport the player that amount of blocks ahead once i have player.getLookVec().scale(2.0F).add(player.getPositionVec());
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.