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/Essentials/src/net/ess3/commands/Commandkittycannon.java b/EssentialsExtra/src/Commandkittycannon.java similarity index 95% rename from Essentials/src/net/ess3/commands/Commandkittycannon.java rename to EssentialsExtra/src/Commandkittycannon.java index 455ddd1a5..db9fa5fdf 100644 --- a/Essentials/src/net/ess3/commands/Commandkittycannon.java +++ b/EssentialsExtra/src/Commandkittycannon.java @@ -1,8 +1,7 @@ -package net.ess3.commands; - 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; @@ -36,4 +35,4 @@ public class Commandkittycannon extends EssentialsCommand } }, 20); } -} \ No newline at end of file +} 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