summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGunfighterJ <joseph.jenniges@gmail.com>2013-01-16 20:40:29 -0600
committerGunfighterJ <joseph.jenniges@gmail.com>2013-01-16 20:40:29 -0600
commitcb19a11c47343ec38b1abb4e5c36251973bac4b3 (patch)
tree30bed66beac8698f2fd063353b027dbb4035e2e9
parentd551bba3f66381e9224606f0b668f3321c046d33 (diff)
downloadEssentials-cb19a11c47343ec38b1abb4e5c36251973bac4b3.tar
Essentials-cb19a11c47343ec38b1abb4e5c36251973bac4b3.tar.gz
Essentials-cb19a11c47343ec38b1abb4e5c36251973bac4b3.tar.lz
Essentials-cb19a11c47343ec38b1abb4e5c36251973bac4b3.tar.xz
Essentials-cb19a11c47343ec38b1abb4e5c36251973bac4b3.zip
Now it adds the right firework command
-rw-r--r--Essentials/src/com/earth2me/essentials/commands/Commandfirework.java46
1 files changed, 40 insertions, 6 deletions
diff --git a/Essentials/src/com/earth2me/essentials/commands/Commandfirework.java b/Essentials/src/com/earth2me/essentials/commands/Commandfirework.java
index 91cfef741..ddd1fc705 100644
--- a/Essentials/src/com/earth2me/essentials/commands/Commandfirework.java
+++ b/Essentials/src/com/earth2me/essentials/commands/Commandfirework.java
@@ -12,6 +12,8 @@ import org.bukkit.DyeColor;
import org.bukkit.FireworkEffect;
import org.bukkit.Material;
import org.bukkit.Server;
+import org.bukkit.entity.EntityType;
+import org.bukkit.entity.Firework;
import org.bukkit.inventory.ItemStack;
import org.bukkit.inventory.meta.FireworkMeta;
@@ -57,7 +59,6 @@ public class Commandfirework extends EssentialsCommand
{
fmeta.clearEffects();
stack.setItemMeta(fmeta);
- user.setItemInHand(stack);
}
else
{
@@ -66,6 +67,8 @@ public class Commandfirework extends EssentialsCommand
FireworkEffect.Type finalEffect = null;
boolean valid = false;
+ boolean fire = false;
+ int amount = 1;
for (String arg : args)
{
final String[] split = splitPattern.split(arg, 2);
@@ -151,13 +154,44 @@ public class Commandfirework extends EssentialsCommand
user.sendMessage(_("invalidFireworkFormat", split[1], split[0]));
}
}
+ if ((split[0].equalsIgnoreCase("fire") || split[0].equalsIgnoreCase("f")) && user.isAuthorized("essentials.firework.fire"))
+ {
+ fire = true;
+ try
+ {
+ amount = Integer.parseInt(split[1]);
+ int serverLimit = ess.getSettings().getSpawnMobLimit();
+ if(amount > serverLimit)
+ {
+ amount = serverLimit;
+ user.sendMessage(_("mobSpawnLimit"));
+ }
+ }
+ catch (NumberFormatException e)
+ {
+ amount = 1;
+ }
+ }
}
if (valid)
{
- final FireworkEffect effect = builder.build();
- fmeta.addEffect(effect);
- stack.setItemMeta(fmeta);
- user.setItemInHand(stack);
+ if (fire)
+ {
+ for (int i = 0; i < amount; i++ )
+ {
+ Firework firework = (Firework)user.getWorld().spawnEntity(user.getLocation(), EntityType.FIREWORK);
+ FireworkMeta ffmeta = firework.getFireworkMeta();
+ ffmeta.addEffect(builder.build());
+ ffmeta.setPower(fmeta.getPower());
+ firework.setFireworkMeta(ffmeta);
+ }
+ }
+ else
+ {
+ final FireworkEffect effect = builder.build();
+ fmeta.addEffect(effect);
+ stack.setItemMeta(fmeta);
+ }
}
else
{
@@ -177,4 +211,4 @@ public class Commandfirework extends EssentialsCommand
throw new NotEnoughArgumentsException();
}
}
-} \ No newline at end of file
+}