From 0d0c007c856adcbdd27a62ef8a1b079987fd0c20 Mon Sep 17 00:00:00 2001 From: Chris Ward Date: Thu, 10 Jan 2013 00:41:32 +1100 Subject: [PATCH] Fire a few extra entities from /fireball c210e8730b5140b737d1279e0e9f9481d8a79aa5 --- .../net/ess3/commands/Commandfireball.java | 31 +++++++++++++------ 1 file changed, 22 insertions(+), 9 deletions(-) diff --git a/Essentials/src/net/ess3/commands/Commandfireball.java b/Essentials/src/net/ess3/commands/Commandfireball.java index 4a6079d9b..44dbb7493 100644 --- a/Essentials/src/net/ess3/commands/Commandfireball.java +++ b/Essentials/src/net/ess3/commands/Commandfireball.java @@ -1,8 +1,6 @@ package net.ess3.commands; -import org.bukkit.entity.Fireball; -import org.bukkit.entity.Player; -import org.bukkit.entity.SmallFireball; +import org.bukkit.entity.*; import org.bukkit.util.Vector; import net.ess3.api.IUser; @@ -12,17 +10,32 @@ public class Commandfireball extends EssentialsCommand @Override protected void run(final IUser user, final String commandLabel, final String[] args) throws Exception { - boolean small = false; - if (args.length > 0 && args[0].equalsIgnoreCase("small")) + Class clazz = Fireball.class; + if (args.length > 0) { - small = true; + if(args[0].equalsIgnoreCase("small")) + { + clazz = SmallFireball.class; + } + else if(args[0].equalsIgnoreCase("arrow")) + { + clazz = Arrow.class; + } + else if(args[0].equalsIgnoreCase("skull")) + { + clazz = WitherSkull.class; + } + else if(args[0].equalsIgnoreCase("egg")) + { + clazz = Egg.class; + } } final Player player = user.getPlayer(); final Vector direction = player.getEyeLocation().getDirection().multiply(2); - final Fireball fireball = player.getWorld().spawn( - player.getEyeLocation().add(direction.getX(), direction.getY(), direction.getZ()), small ? SmallFireball.class : Fireball.class); - fireball.setShooter(player); + Projectile projectile = (Projectile)user.getPlayer().getWorld().spawn(user.getPlayer().getEyeLocation().add(direction.getX(), direction.getY(), direction.getZ()), clazz); + projectile.setShooter(user.getPlayer()); + projectile.setVelocity(direction); } }