Skip to content

Commit 6805b09

Browse files
author
peperivera
committed
Started git for project
0 parents  commit 6805b09

14 files changed

+415
-0
lines changed

EffectTrails/.classpath

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<classpath>
3+
<classpathentry kind="src" path="src"/>
4+
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
5+
<classpathentry kind="lib" path="/Users/peperivera/Downloads/bukkit-1.7.2-R0.2.jar"/>
6+
<classpathentry kind="output" path="bin"/>
7+
</classpath>

EffectTrails/.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
/bin

EffectTrails/.project

+17
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<projectDescription>
3+
<name>EffectTrails</name>
4+
<comment></comment>
5+
<projects>
6+
</projects>
7+
<buildSpec>
8+
<buildCommand>
9+
<name>org.eclipse.jdt.core.javabuilder</name>
10+
<arguments>
11+
</arguments>
12+
</buildCommand>
13+
</buildSpec>
14+
<natures>
15+
<nature>org.eclipse.jdt.core.javanature</nature>
16+
</natures>
17+
</projectDescription>

EffectTrails/plugin.yml

+49
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
name: EffectTrails
2+
main: org.pvpzone.shanko.effecttrails.EffectTrails
3+
version: 0.1
4+
commands:
5+
spark:
6+
description: Lists the available effects
7+
usage: /spark
8+
permission: EffectTrails.spark
9+
permission-message: You don't have <permission>
10+
fire:
11+
description: Activates fire effect
12+
usage: /fire
13+
permission: EffectTrails.fire
14+
permission-message: You don't have <permission>
15+
ender:
16+
description: Activates ender effect
17+
usage: /ender
18+
permission: EffectTrails.ender
19+
permission-message: You don't have <permission>
20+
smoke:
21+
description: Activates smoke effect
22+
usage: /smoke
23+
permission: EffectTrails.smoke
24+
permission-message: You don't have <permission>
25+
blood:
26+
description: Activates blood effect
27+
usage: /blood
28+
permission: EffectTrails.blood
29+
permission-message: You don't have <permission>
30+
aura:
31+
description: Activates Aura effect
32+
usage: /aura
33+
permission: EffectTrails.aura
34+
permission-message: You don't have <permission>
35+
poop:
36+
description: Activates Poop effect
37+
usage: /poop
38+
permission: EffectTrails.poop
39+
permission-message: You don't have <permission>
40+
rumble:
41+
description: Activates Rumble effect
42+
usage: /rumble
43+
permission: EffectTrails.rumble
44+
permission-message: You don't have <permission>
45+
sparkoff:
46+
description: Removes trail effect
47+
usage: /sparkoff
48+
permission: EffectTrails.off
49+
permission-message: You don't have <permission>
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,145 @@
1+
package org.pvpzone.shanko.effecttrails;
2+
3+
import java.util.HashMap;
4+
import org.bukkit.command.Command;
5+
import org.bukkit.command.CommandSender;
6+
import org.bukkit.entity.Player;
7+
import org.bukkit.plugin.java.JavaPlugin;
8+
import org.pvpzone.shanko.effecttrails.effects.*;
9+
10+
/**
11+
* This is a plugin meant to provide particle trails for players to
12+
* activate/deactivate. It is meant for an extra cosmetic look for a player
13+
*
14+
* @author Jose Rivera
15+
*
16+
*/
17+
public final class EffectTrails extends JavaPlugin {
18+
public static EffectTrails effectTrails;
19+
private HashMap<Player, SpecialEffect> players = new HashMap<Player, SpecialEffect>();
20+
21+
/**
22+
* Setup the plugin when it's enabled
23+
*/
24+
@Override
25+
public void onEnable() {
26+
effectTrails = this;
27+
28+
// register our listener
29+
getServer().getPluginManager().registerEvents(
30+
new EntityEffectPlayerListener(), this);
31+
32+
// repeat this task to continue the effects for each player
33+
this.getServer().getScheduler()
34+
.scheduleSyncRepeatingTask(this, new Runnable() {
35+
@Override
36+
public void run() {
37+
for (Player p : players.keySet()) {
38+
players.get(p).playEffect(p.getLocation());
39+
}
40+
}
41+
}, 30L, 30L);
42+
}
43+
44+
@Override
45+
public void onDisable() {
46+
}
47+
48+
/**
49+
* Handles commands sent to the plugin
50+
*/
51+
public boolean onCommand(CommandSender sender, Command cmd, String label,
52+
String[] args) {
53+
if (!(sender instanceof Player)) {
54+
return false;
55+
}
56+
//Display the help information
57+
if (cmd.getName().equalsIgnoreCase("spark")) {
58+
sender.sendMessage("Effect Trails:\n" + "/smoke\n" + "/fire\n"
59+
+ "/ender\n" + "/aura\n" + "/blood\n" + "/poop\n"
60+
+ "/rumble\n" + "/sparkoff\n");
61+
return true;
62+
}
63+
//Turn off a spark
64+
else if (cmd.getName().equalsIgnoreCase("sparkoff")) {
65+
if (players.containsKey((Player) sender)) {
66+
players.remove((Player) sender);
67+
}
68+
sender.sendMessage("Effect Removed");
69+
return true;
70+
}
71+
//Activate fire spark
72+
else if (cmd.getName().equalsIgnoreCase("fire")) {
73+
sender.sendMessage("Fire Effect Activated!");
74+
if (players.containsKey(sender)) {
75+
players.remove(sender);
76+
}
77+
players.put((Player) sender, new FireEffect());
78+
return true;
79+
}
80+
//Activate ender spark
81+
else if (cmd.getName().equalsIgnoreCase("ender")) {
82+
sender.sendMessage("Ender Effect Activated!");
83+
if (players.containsKey(sender)) {
84+
players.remove(sender);
85+
}
86+
players.put((Player) sender, new EnderEffect());
87+
return true;
88+
}
89+
//Activate smoke spark
90+
else if (cmd.getName().equalsIgnoreCase("smoke")) {
91+
sender.sendMessage("Smoke Effect Activated!");
92+
if (players.containsKey(sender)) {
93+
players.remove(sender);
94+
}
95+
players.put((Player) sender, new SmokeEffect());
96+
return true;
97+
}
98+
//Activate blood spark
99+
else if (cmd.getName().equalsIgnoreCase("blood")) {
100+
sender.sendMessage("Blood Effect Activated!");
101+
if (players.containsKey(sender)) {
102+
players.remove(sender);
103+
}
104+
players.put((Player) sender, new BloodEffect());
105+
return true;
106+
}
107+
//Activate aura spark
108+
else if (cmd.getName().equalsIgnoreCase("aura")) {
109+
sender.sendMessage("Aura Effect Activated!");
110+
if (players.containsKey(sender)) {
111+
players.remove(sender);
112+
}
113+
players.put((Player) sender, new AuraEffect());
114+
return true;
115+
}
116+
//Activate poop spark
117+
else if (cmd.getName().equalsIgnoreCase("poop")) {
118+
sender.sendMessage("Poop Effect Activated!");
119+
if (players.containsKey(sender)) {
120+
players.remove(sender);
121+
}
122+
players.put((Player) sender, new PoopEffect());
123+
return true;
124+
}
125+
//Activate rumble spark
126+
else if (cmd.getName().equalsIgnoreCase("rumble")) {
127+
sender.sendMessage("Rumble Effect Activated!");
128+
if (players.containsKey(sender)) {
129+
players.remove(sender);
130+
}
131+
players.put((Player) sender, new RumbleEffect());
132+
return true;
133+
}
134+
return false;
135+
}
136+
137+
/**
138+
* Returns the hashmap containing the player and their spark
139+
* @return
140+
*/
141+
public HashMap<Player, SpecialEffect> getPlayerMap() {
142+
return players;
143+
}
144+
145+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package org.pvpzone.shanko.effecttrails;
2+
3+
import org.bukkit.event.EventHandler;
4+
import org.bukkit.event.Listener;
5+
import org.bukkit.event.player.PlayerQuitEvent;
6+
7+
/**
8+
* Listens for when a player quits to remove them from the spark list
9+
* @author Jose Rivera
10+
*
11+
*/
12+
public class EntityEffectPlayerListener implements Listener{
13+
@EventHandler
14+
public void onPlayerQuit(final PlayerQuitEvent event) {
15+
if (EffectTrails.effectTrails.getPlayerMap().containsKey(event.getPlayer())){
16+
EffectTrails.effectTrails.getPlayerMap().remove(event.getPlayer());
17+
}
18+
}
19+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package org.pvpzone.shanko.effecttrails.effects;
2+
3+
import org.bukkit.Location;
4+
import org.bukkit.entity.EntityType;
5+
import org.bukkit.entity.ExperienceOrb;
6+
7+
/**
8+
* Aura spark, surrounds the player in experienced orbs that are on fire
9+
*
10+
* @author Jose Rivera
11+
*
12+
*/
13+
public class AuraEffect implements SpecialEffect {
14+
15+
@Override
16+
public void playEffect(Location loc) {
17+
ExperienceOrb a = (ExperienceOrb) loc.getWorld().spawnEntity(
18+
loc.clone().add(0, 0, 1), EntityType.EXPERIENCE_ORB);
19+
ExperienceOrb b = (ExperienceOrb) loc.getWorld().spawnEntity(
20+
loc.clone().add(1, 0, 0), EntityType.EXPERIENCE_ORB);
21+
ExperienceOrb c = (ExperienceOrb) loc.getWorld().spawnEntity(
22+
loc.clone().add(0, -0, -1), EntityType.EXPERIENCE_ORB);
23+
ExperienceOrb d = (ExperienceOrb) loc.getWorld().spawnEntity(
24+
loc.clone().add(-1, 0, 0), EntityType.EXPERIENCE_ORB);
25+
a.setFireTicks(15);
26+
a.setTicksLived(15);
27+
b.setFireTicks(15);
28+
b.setTicksLived(15);
29+
c.setFireTicks(15);
30+
c.setTicksLived(15);
31+
d.setFireTicks(15);
32+
d.setTicksLived(15);
33+
34+
}
35+
36+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package org.pvpzone.shanko.effecttrails.effects;
2+
3+
import org.bukkit.Effect;
4+
import org.bukkit.Location;
5+
6+
/**
7+
* Creates the blockbreak effect for block 115
8+
*
9+
* @author Jose Rivera
10+
*
11+
*/
12+
public class BloodEffect implements SpecialEffect {
13+
14+
@Override
15+
public void playEffect(Location loc) {
16+
loc.getWorld().playEffect(loc, Effect.STEP_SOUND, 115);
17+
loc.getWorld().playEffect(loc.clone().add(0, 1, 0), Effect.STEP_SOUND,
18+
115);
19+
20+
}
21+
22+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package org.pvpzone.shanko.effecttrails.effects;
2+
3+
import org.bukkit.Effect;
4+
import org.bukkit.Location;
5+
6+
/**
7+
* Surrounds player with Ender Signal
8+
*
9+
* @author Jose Rivera
10+
*
11+
*/
12+
public class EnderEffect implements SpecialEffect {
13+
@Override
14+
public void playEffect(Location loc) {
15+
loc.getWorld().playEffect(loc, Effect.ENDER_SIGNAL, 0);
16+
}
17+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
package org.pvpzone.shanko.effecttrails.effects;
2+
3+
import org.bukkit.Effect;
4+
import org.bukkit.Location;
5+
6+
/**
7+
* Surround player with flames
8+
*
9+
* @author Jose Rivera
10+
*
11+
*/
12+
public class FireEffect implements SpecialEffect {
13+
14+
@Override
15+
public void playEffect(Location loc) {
16+
loc.getWorld().playEffect(loc, Effect.MOBSPAWNER_FLAMES, 0);
17+
}
18+
19+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package org.pvpzone.shanko.effecttrails.effects;
2+
3+
import org.bukkit.Effect;
4+
import org.bukkit.Location;
5+
6+
/**
7+
* Plays blockbreak for dirt block
8+
*
9+
* @author Jose Rivera
10+
*
11+
*/
12+
public class PoopEffect implements SpecialEffect {
13+
14+
@Override
15+
public void playEffect(Location loc) {
16+
loc.getWorld().playEffect(loc, Effect.STEP_SOUND, 3);
17+
18+
}
19+
20+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package org.pvpzone.shanko.effecttrails.effects;
2+
3+
import org.bukkit.Effect;
4+
import org.bukkit.Location;
5+
6+
/**
7+
* Causes block breaks of sand under the player's feet
8+
*
9+
* @author Jose Rivera
10+
*
11+
*/
12+
public class RumbleEffect implements SpecialEffect {
13+
14+
@Override
15+
public void playEffect(Location loc) {
16+
loc.getWorld().playEffect(loc.clone().add(1, -1, 0), Effect.STEP_SOUND,
17+
12);
18+
loc.getWorld().playEffect(loc.clone().add(-1, -1, 0),
19+
Effect.STEP_SOUND, 12);
20+
loc.getWorld().playEffect(loc.clone().add(0, -1, 1), Effect.STEP_SOUND,
21+
12);
22+
loc.getWorld().playEffect(loc.clone().add(0, -1, -1),
23+
Effect.STEP_SOUND, 12);
24+
25+
}
26+
27+
}

0 commit comments

Comments
 (0)