View difference between Paste ID: 3vVAfCjK and q1c7WZfk
SHOW: | | - or go back to the newest paste.
1
public class Particle{ // Our Class
2
public ArrayList<Entity> arraylist = new ArrayList<Entity>();
3
    Plugin plugin; // Creating a new Plugin Object
4
   
5
    public Particles(Plugin plugin){  // Creating a method that passes through a Plugin Object
6
       
7
        this.plugin = plugin; // Setting 'Plugin' to the Main class, to use instead of 'this.'
8
9
}
10
11
public void EntityParticles(Plugin plugin, Player player, Entity entity, EnumParticle enumparticle,
12
 int ParticleSize, int ParticleSpeed, int ParticleAmount){ 
13
//Creating a Method with the required Objects.
14
15
arraylist.add(entity); //Adding in passed entity to arraylist
16
       
17
        Bukkit.getScheduler().scheduleSyncRepeatingTask(plugin, new Runnable(){
18
 //Creating a constant repeating task ^^ We'll pass though the plugin object we made earlier
19
           
20
            @Override
21
            public void run() {
22
     if(arraylist.contains(entity)){ //Checking if the arraylist contains the entity to make sure it wasn't removed
23
               
24
                float x = (float) entity.getLocation().getX();//getting the entities X location and casting it as a float
25
                float y = (float) entity.getLocation().getY();//getting the entities Y location and casting it as a float
26
                float z = (float) entity.getLocation().getZ();//getting the entities Z location and casting it as a float
27
28
                    PacketPlayOutWorldParticles packet = new PacketPlayOutWorldParticles(
29
enumparticle,true, x, y, z, ParticleSize, ParticleSize, ParticleSize, ParticleSize, ParticleAmount); 
30
//creating the particle with the information we got at the pos of the entity
31
                   
32
                    ((CraftPlayer)player).getHandle().playerConnection.sendPacket(packet);
33
//Sending the player that was passed through the packet, casting it as CraftPlayer due to Player not having //the getHandle() Method to send packets.
34
35
36
                    }
37
}
38
}, 0L, 0L); //This is the delay that will happen each time this runnable is repeated.
39
                
40
    }
41
42
    public void RemoveEntityParticles(Entity entity){
43
       
44
        if(ent.contains(entity)){
45
           
46
            ent.remove(entity);
47
           
48
        }
49
       
50
    }
51
52
}