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 | } |