diff options
Diffstat (limited to 'EssentialsExtra/src')
-rw-r--r-- | EssentialsExtra/src/Commandkittycannon.java | 38 | ||||
-rw-r--r-- | EssentialsExtra/src/net/ess3/extra/EssentialsExtra.java | 56 | ||||
-rw-r--r-- | EssentialsExtra/src/plugin.yml | 13 |
3 files changed, 107 insertions, 0 deletions
diff --git a/EssentialsExtra/src/Commandkittycannon.java b/EssentialsExtra/src/Commandkittycannon.java new file mode 100644 index 000000000..db9fa5fdf --- /dev/null +++ b/EssentialsExtra/src/Commandkittycannon.java @@ -0,0 +1,38 @@ + +import java.util.Random; +import net.ess3.api.IUser; +import net.ess3.commands.EssentialsCommand; +import org.bukkit.Location; +import org.bukkit.entity.EntityType; +import org.bukkit.entity.Ocelot; + + +public class Commandkittycannon extends EssentialsCommand +{ + private static Random random = new Random(); + + @Override + protected void run(final IUser user, final String commandLabel, final String[] args) throws Exception + { + final EntityType cat = EntityType.OCELOT; + final Ocelot ocelot = (Ocelot)user.getPlayer().getWorld().spawn(user.getPlayer().getEyeLocation(), cat.getEntityClass()); + if (ocelot == null) + { + return; + } + final int i = random.nextInt(Ocelot.Type.values().length); + ocelot.setCatType(Ocelot.Type.values()[i]); + ocelot.setTamed(true); + ocelot.setVelocity(user.getPlayer().getEyeLocation().getDirection().multiply(2)); + ess.getPlugin().scheduleSyncDelayedTask(new Runnable() + { + @Override + public void run() + { + final Location loc = ocelot.getLocation(); + ocelot.remove(); + loc.getWorld().createExplosion(loc, 0F); + } + }, 20); + } +} diff --git a/EssentialsExtra/src/net/ess3/extra/EssentialsExtra.java b/EssentialsExtra/src/net/ess3/extra/EssentialsExtra.java new file mode 100644 index 000000000..a1504b9cb --- /dev/null +++ b/EssentialsExtra/src/net/ess3/extra/EssentialsExtra.java @@ -0,0 +1,56 @@ +package net.ess3.extra; + +import java.io.File; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLClassLoader; +import java.util.logging.Level; +import net.ess3.api.ICommandHandler; +import net.ess3.api.IEssentials; +import net.ess3.bukkit.BukkitPlugin; +import net.ess3.commands.EssentialsCommandHandler; +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.plugin.java.JavaPlugin; + + +public class EssentialsExtra extends JavaPlugin +{ + private IEssentials ess; + private ICommandHandler handler; + private ClassLoader loader; + + @Override + public void onLoad() + { + ess = ((BukkitPlugin)getServer().getPluginManager().getPlugin("Essentials-3")).getEssentials(); + } + + @Override + public void onEnable() + { + handler = new EssentialsCommandHandler(loader, "Command", "essentials.", ess); + File commandDir = new File(ess.getPlugin().getDataFolder(), "extras"); + commandDir.mkdir(); + URL[] urls = null; + try + { + urls = new URL[] + { + commandDir.toURI().toURL() + }; + } + catch (MalformedURLException ex) + { + getLogger().log(Level.SEVERE, "Could not get extra command dir", ex); + getServer().getPluginManager().disablePlugin(this); + } + loader = new URLClassLoader(urls, getClassLoader()); + } + + @Override + public boolean onCommand(CommandSender sender, Command command, String label, String[] args) + { + return handler.handleCommand(sender, command, label, args); + } +} diff --git a/EssentialsExtra/src/plugin.yml b/EssentialsExtra/src/plugin.yml new file mode 100644 index 000000000..9202b0fbd --- /dev/null +++ b/EssentialsExtra/src/plugin.yml @@ -0,0 +1,13 @@ +# This determines the command prefix when there are conflicts (/name:home, /name:help, etc.) +name: EssentialsExtra +main: net.ess3.extra.EssentialsExtra +# Note to developers: This next line cannot change, or the automatic versioning system will break. +version: ${build.number} +website: http://tiny.cc/EssentialsWiki +description: Provides extra commands for Essentials +authors: [md_5] +depend: [Essentials-3] +commands: + kittycannon: + description: Throw an exploding kitten at your opponent + usage: /<command> |