Jump to content

(1.16.5 MCP) shoot particles


ElTotisPro50

Recommended Posts

basically i want this when i hold right click my item: https://imgur.com/oT5zp27

thats all, i cant get my particles to shoot

 

world.addParticles(particles,x,y,z,xspeed,yspeed,zspeed)

i need to know what i have to put in x,y and z SPEED because i there is no other values (i guess for x,y,z positions i get player position and for y the player eye height)

Link to comment
Share on other sites

For position, I believe that the player position is where the player's feet are, so you should probably add an offset to fix that (player eye height would be a useful start point, but I'm not sure how it would look to spawn particles inside the player's head).

As for the speed, that should probably be the player's look vector scaled by some amount (depending on how fast you want the particles to travel).

Link to comment
Share on other sites

5 hours ago, Alpvax said:

For position, I believe that the player position is where the player's feet are, so you should probably add an offset to fix that (player eye height would be a useful start point, but I'm not sure how it would look to spawn particles inside the player's head).

As for the speed, that should probably be the player's look vector scaled by some amount (depending on how fast you want the particles to travel).

world.addParticles(particles,player.getPosX(),player.getEyeHeight() + 0.5,player.getPosZ(),player.getLookVec().x * 1,player.getLookVec().y * 1,player.getLookVec().z * 1);

 

like that right?(i wrote the POSSIBLE right answer for if i forget it and i have the answer )

Edited by ElTotisPro50
Link to comment
Share on other sites

8 hours ago, Alpvax said:

For position, I believe that the player position is where the player's feet are, so you should probably add an offset to fix that (player eye height would be a useful start point, but I'm not sure how it would look to spawn particles inside the player's head).

As for the speed, that should probably be the player's look vector scaled by some amount (depending on how fast you want the particles to travel).

1 didnt work so i multiplied it by 100,appart of that the particles stay in the same place (btw getEyeHeight or getHeight makes that the particles doesnt spawn i dont know if i have to add or substract something to eyeheight but it doesnt matter so im using getPosY() + 1.5) 

world.addParticles(particles, player.getPosX(),
                player.getPosY() + 1.3,
                player.getPosZ(),
                player.getLookVec().x * 100, player.getLookVec().y * 100, player.getLookVec().z * 100);

 

Link to comment
Share on other sites

15 hours ago, ElTotisPro50 said:

getEyeHeight or getHeight makes that the particles doesnt spawn i dont know if i have to add or substract something to eyeheight but it doesnt matter so im using getPosY() + 1.5

Yes, the eye height is the height difference between the player's feet and their eyes. You still need to use the player's y position as a baseline (i.e. getPosY() + getEyeHeight()).

Link to comment
Share on other sites

5 hours ago, Alpvax said:

Yes, the eye height is the height difference between the player's feet and their eyes. You still need to use the player's y position as a baseline (i.e. getPosY() + getEyeHeight()).

and for the  x,y,z speed? as i told you tha particle stays with me it doesnt shoot where im looking

Link to comment
Share on other sites

Unfortunately I haven't actually looked at particles before, so can't be much help.

However, if you look at the source of the constructor you are using you can see that it divides the velocity by the magnitude of the velocity (plus some other maths) so the particles won't move very far/fast.

I would suggest experimenting with the `setParticleSpeed` method, which just sets the raw values.

Link to comment
Share on other sites

@Luis_STi opened the class which is in package net.minecraft.client.particle; and i cant see anything about setParticleSpeed, even if i CONTROL+F to search in all class there is no word called speed

 

create instance of my particle?, i would instance Particle ABSTRACT class

 Particle particle = new Particle() {
            @Override
            public void renderParticle(IVertexBuilder buffer, ActiveRenderInfo renderInfo, float partialTicks) {
                
            }

            @Override
            public IParticleRenderType getRenderType() {
                return null;
            }
        };

 

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.

×
×
  • Create New...

Important Information

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