Jump to content

Projectile Firing faster than once per tick


Asweez

Recommended Posts

Just add some distance to x/y/z spawn position of your "bullet" in player "facing" vactor.

 

Best would be placing second (in tick) bullet between two others (previous and next).

Previous bullet (if exist) x/y/z Pos - (minus) x/y/z Pos of Next bullet will give you x/y/z distances between next/previous. Divide that by 2 and add to position (fixed) of middle bullet.

 

EDIT

Or above, both methods are "good", depending on situation - above (diesieben) might be better.

1.7.10 is no longer supported by forge, you are on your own.

Link to comment
Share on other sites

Set it's position. That will require some trigonometry/vector math.

 

First, get the player's look vector scaled to the appropriate length (the distance you want the projectile to move per half a tick). Minecraft already does that for you with the getLook(<length>) method. Then add the components of the resulting Vec3 to your original projectile position.

 

Could you give a code example because I'm not very experienced with Vectors and that kind of stuff?

Creator of the MyFit, MagiCraft, Tesseract gun, and Papa's Wingeria mod.

Link to comment
Share on other sites

A vector is a mathematical representation of a direction and distance. A 3-dimensional vector is represented by a Vec3 class in Minecraft. A Vec3 is practically just an x, y, z and the concept of direction and distance is relative to 0, 0, 0.

 

The Vec3 class has methods for adding, multiplying, etc. including more esoteric mathematical operations like dot product and cross product.

 

There are various methods that return Vec3. One is called the "look vector" which represents the direction the player is looking. I think there is also a method called getEyePosition() or similar which gives a vector (basically the position) of the player's eyes. The look vector is normalized (meaning it has length of 1.0) so if you want to go farther in the direction you need to multiply it by the distance you want to go.

 

So putting this all together, you want to get the eye position and add the look vector multiplied by distance you want. Then spawn the projectile at the x, y, z from that resulting vector.

Check out my tutorials here: http://jabelarminecraft.blogspot.com/

Link to comment
Share on other sites

A vector is a mathematical representation of a direction and distance. A 3-dimensional vector is represented by a Vec3 class in Minecraft. A Vec3 is practically just an x, y, z and the concept of direction and distance is relative to 0, 0, 0.

 

The Vec3 class has methods for adding, multiplying, etc. including more esoteric mathematical operations like dot product and cross product.

 

There are various methods that return Vec3. One is called the "look vector" which represents the direction the player is looking. I think there is also a method called getEyePosition() or similar which gives a vector (basically the position) of the player's eyes. The look vector is normalized (meaning it has length of 1.0) so if you want to go farther in the direction you need to multiply it by the distance you want to go.

 

So putting this all together, you want to get the eye position and add the look vector multiplied by distance you want. Then spawn the projectile at the x, y, z from that resulting vector.

 

So I've been trying what you said and I just don't get how to do this. Could someone please give a code example of how to multiply a vector and combine that with an Entity's position please?

Creator of the MyFit, MagiCraft, Tesseract gun, and Papa's Wingeria mod.

Link to comment
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.
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.