Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[1.16.5] Change projectile position in first person

Recommended Posts

I'm writing a mod for weapons and I ran into the problem of projectile position when shooting. How can I spawn a projectile so that when viewed from the first person, it flies out of the weapon, and not from the center of the screen?

Link to post
Share on other sites

The easiest solution is to change the position of the bullet before it is spawned. It will however slightly mess with your aim, so take that into consideration.

An example code written in 1.15.2 (in 1.16.5 it is propably something similar):

float rot = playerEntity.rotationYaw/180.f*3.14159f; //Converts the player rotation to radians
float z = MathHelper.sin(rot) * 0.3f;	//the multiplier (0.3f) defines how much is the bullet moved to the right
float x = MathHelper.cos(rot) * 0.3f;	//this and the former equation localizes the bullet to the rotation of the player
//the subtrahend 0.5f controlls the height of the bullet
//changing the minus sign before x and z to plus moves the bullet to the left
anEntity.setPosition(playerEntity.getPosX() - x, playerEntity.getPosYEye() - (double)0.5f, playerEntity.getPosZ() - z);
//add the bullet to the world after this


Link to post
Share on other sites
Just now, Thorius said:

That shouldn't happen because of the sinus and cosinus, at least it didn't happen in my tests.

Your code works well, I should have used the yaw player instead of taking yaw from my projectile. Thank you again

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

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.

  • Create New...

Important Information

By using this site, you agree to our Privacy Policy.