From df1007baff1614652a17db133ac7906b4c925d01 Mon Sep 17 00:00:00 2001 From: md_5 Date: Sun, 7 Oct 2012 15:22:23 +1100 Subject: Add Essentials extra and KittyCannon as a demo. --- .../src/net/ess3/commands/Commandkittycannon.java | 39 --------------- EssentialsExtra/pom.xml | 21 ++++++++ EssentialsExtra/src/Commandkittycannon.java | 38 +++++++++++++++ .../src/net/ess3/extra/EssentialsExtra.java | 56 ++++++++++++++++++++++ EssentialsExtra/src/plugin.yml | 13 +++++ pom.xml | 1 + 6 files changed, 129 insertions(+), 39 deletions(-) delete mode 100644 Essentials/src/net/ess3/commands/Commandkittycannon.java create mode 100644 EssentialsExtra/pom.xml create mode 100644 EssentialsExtra/src/Commandkittycannon.java create mode 100644 EssentialsExtra/src/net/ess3/extra/EssentialsExtra.java create mode 100644 EssentialsExtra/src/plugin.yml diff --git a/Essentials/src/net/ess3/commands/Commandkittycannon.java b/Essentials/src/net/ess3/commands/Commandkittycannon.java deleted file mode 100644 index 455ddd1a5..000000000 --- a/Essentials/src/net/ess3/commands/Commandkittycannon.java +++ /dev/null @@ -1,39 +0,0 @@ -package net.ess3.commands; - - -import java.util.Random; -import net.ess3.api.IUser; -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); - } -} \ No newline at end of file diff --git a/EssentialsExtra/pom.xml b/EssentialsExtra/pom.xml new file mode 100644 index 000000000..bb763b565 --- /dev/null +++ b/EssentialsExtra/pom.xml @@ -0,0 +1,21 @@ + + + 4.0.0 + + + net.essentials3 + BuildAll + 3.0-SNAPSHOT + ../pom.xml + + + EssentialsExtra + + + ${project.groupId} + Essentials + ${project.version} + + + 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: / diff --git a/pom.xml b/pom.xml index 62b0ce1ac..e9d579a67 100644 --- a/pom.xml +++ b/pom.xml @@ -14,6 +14,7 @@ Essentials Essentials2Compat EssentialsChat + EssentialsExtra EssentialsGeoIP EssentialsGroupBridge EssentialsGroupManager -- cgit v1.2.3