summaryrefslogtreecommitdiffstats
path: root/EssentialsExtra/src
diff options
context:
space:
mode:
authormd_5 <md_5@bigpond.com>2012-10-07 15:22:23 +1100
committermd_5 <md_5@bigpond.com>2012-10-07 15:22:23 +1100
commitdf1007baff1614652a17db133ac7906b4c925d01 (patch)
tree5df39d3fa7aa394afc8702ada81a9109240465c1 /EssentialsExtra/src
parentae10bcdffecb86122231e4ca57655d0bebb93996 (diff)
downloadEssentials-df1007baff1614652a17db133ac7906b4c925d01.tar
Essentials-df1007baff1614652a17db133ac7906b4c925d01.tar.gz
Essentials-df1007baff1614652a17db133ac7906b4c925d01.tar.lz
Essentials-df1007baff1614652a17db133ac7906b4c925d01.tar.xz
Essentials-df1007baff1614652a17db133ac7906b4c925d01.zip
Add Essentials extra and KittyCannon as a demo.
Diffstat (limited to 'EssentialsExtra/src')
-rw-r--r--EssentialsExtra/src/Commandkittycannon.java38
-rw-r--r--EssentialsExtra/src/net/ess3/extra/EssentialsExtra.java56
-rw-r--r--EssentialsExtra/src/plugin.yml13
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>