Changed to the new command system
This commit is contained in:
parent
9b145bef9a
commit
99a0b25885
15 changed files with 118 additions and 169 deletions
|
@ -1,70 +1,70 @@
|
||||||
package buttondevteam.presents.architecture;
|
package buttondevteam.presents.architecture;
|
||||||
|
|
||||||
import org.bukkit.configuration.file.FileConfiguration;
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
import org.bukkit.event.Listener;
|
import org.bukkit.event.Listener;
|
||||||
import org.bukkit.plugin.java.JavaPlugin;
|
import org.bukkit.plugin.java.JavaPlugin;
|
||||||
|
|
||||||
import buttondevteam.lib.TBMCCoreAPI;
|
import buttondevteam.lib.TBMCCoreAPI;
|
||||||
import buttondevteam.lib.chat.TBMCChatAPI;
|
import buttondevteam.lib.chat.TBMCChatAPI;
|
||||||
import buttondevteam.presents.architecture.commands.BaseCommand;
|
import buttondevteam.lib.chat.TBMCCommandBase;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* A Module class allows the compacting of projects into one single package.
|
* A Module class allows the compacting of projects into one single package.
|
||||||
*
|
*
|
||||||
* Each feature can have its commands and listeners coded into the Module class,
|
* Each feature can have its commands and listeners coded into the Module class,
|
||||||
* as well as any other pointers to memory units, or other classes in the package.
|
* as well as any other pointers to memory units, or other classes in the package.
|
||||||
*
|
*
|
||||||
* This package can then be moved from eclipse project to eclipse project smoothly,
|
* This package can then be moved from eclipse project to eclipse project smoothly,
|
||||||
* as long as the destination project has the Module abstract class, and as long as all dependencies are either
|
* as long as the destination project has the Module abstract class, and as long as all dependencies are either
|
||||||
* contained in the moved package, or moved along with it.
|
* contained in the moved package, or moved along with it.
|
||||||
* @author Alisolarflare
|
* @author Alisolarflare
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public abstract class Component{
|
public abstract class Component{
|
||||||
/**
|
/**
|
||||||
* Registers the module, when called by the JavaPlugin class. Call
|
* Registers the module, when called by the JavaPlugin class. Call
|
||||||
* registerCommand() and registerListener() within this method.
|
* registerCommand() and registerListener() within this method.
|
||||||
*
|
*
|
||||||
* @param plugin Plugin class called to register commands and listeners
|
* @param plugin Plugin class called to register commands and listeners
|
||||||
*/
|
*/
|
||||||
public abstract void register(JavaPlugin plugin);
|
public abstract void register(JavaPlugin plugin);
|
||||||
/**
|
/**
|
||||||
* Registers a TBMCCommand to the plugin
|
* Registers a TBMCCommand to the plugin
|
||||||
* @param plugin Main plugin responsible for stuff
|
* @param plugin Main plugin responsible for stuff
|
||||||
* @param label Name of the command in plugin.yml
|
* @param label Name of the command in plugin.yml
|
||||||
* @param commandExecutor Custom coded CommandExecutor class
|
* @param commandExecutor Custom coded CommandExecutor class
|
||||||
*/
|
*/
|
||||||
protected void registerCommand(JavaPlugin plugin, BaseCommand commandBase){
|
protected void registerCommand(JavaPlugin plugin, TBMCCommandBase commandBase){
|
||||||
TBMCChatAPI.AddCommand(plugin, commandBase);
|
TBMCChatAPI.AddCommand(plugin, commandBase);
|
||||||
//plugin.getCommand(commandBase.getClass().getSimpleName().toString()).setExecutor(commandBase);
|
//plugin.getCommand(commandBase.getClass().getSimpleName().toString()).setExecutor(commandBase);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Registers a Listener to this plugin
|
* Registers a Listener to this plugin
|
||||||
* @param plugin Main plugin responsible for stuff
|
* @param plugin Main plugin responsible for stuff
|
||||||
* @param label Name of the command in plugin.yml
|
* @param label Name of the command in plugin.yml
|
||||||
* @param commandExecutor Custom coded CommandExecutor class
|
* @param commandExecutor Custom coded CommandExecutor class
|
||||||
*/
|
*/
|
||||||
protected Listener registerListener(JavaPlugin plugin, Listener listener){
|
protected Listener registerListener(JavaPlugin plugin, Listener listener){
|
||||||
TBMCCoreAPI.RegisterEventsForExceptions(listener, plugin);
|
TBMCCoreAPI.RegisterEventsForExceptions(listener, plugin);
|
||||||
return listener;
|
return listener;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void saveData(FileConfiguration config, String pathToData, Object data){
|
public void saveData(FileConfiguration config, String pathToData, Object data){
|
||||||
config.set("moduledata." + this.getClassName() + "." + pathToData, data);
|
config.set("moduledata." + this.getClassName() + "." + pathToData, data);
|
||||||
}
|
}
|
||||||
public Object getData(FileConfiguration config, String pathToData, Object data){
|
public Object getData(FileConfiguration config, String pathToData, Object data){
|
||||||
return config.get("moduledata." + this.getClassName() + "." + pathToData, data);
|
return config.get("moduledata." + this.getClassName() + "." + pathToData, data);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getClassName(){
|
public String getClassName(){
|
||||||
Class<?> enclosingClass = getClass().getEnclosingClass();
|
Class<?> enclosingClass = getClass().getEnclosingClass();
|
||||||
String className = "nullModule";
|
String className = "nullModule";
|
||||||
if (enclosingClass != null) {
|
if (enclosingClass != null) {
|
||||||
className = (enclosingClass.getName());
|
className = (enclosingClass.getName());
|
||||||
} else {
|
} else {
|
||||||
className = (getClass().getName());
|
className = (getClass().getName());
|
||||||
}
|
}
|
||||||
return className;
|
return className;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,8 +8,8 @@ import buttondevteam.lib.chat.TBMCCommandBase;
|
||||||
|
|
||||||
public abstract class BaseCommand extends TBMCCommandBase implements CommandExecutor{
|
public abstract class BaseCommand extends TBMCCommandBase implements CommandExecutor{
|
||||||
|
|
||||||
|
/**replaces CommandExecutor functionality**/
|
||||||
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return OnCommand(sender, label, args);
|
return OnCommand(sender, label, args);
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -1,17 +1,15 @@
|
||||||
package buttondevteam.presents.architecture.commands;
|
package buttondevteam.presents.architecture.commands;
|
||||||
|
|
||||||
public abstract class ModCommand extends PlayerCommand{
|
import buttondevteam.lib.chat.CommandClass;
|
||||||
|
|
||||||
@Override
|
@CommandClass(modOnly = true)
|
||||||
public String[] GetHelpText(String alias){
|
public abstract class ModCommand extends PlayerCommand{
|
||||||
return new String[] {
|
|
||||||
"This command doesn't have help text, ask a dev to add one",
|
@Override
|
||||||
"If you're a dev, write the help text you lazy bastard. -Ali"
|
public String[] GetHelpText(String alias){
|
||||||
};
|
return new String[] {
|
||||||
}
|
"This command doesn't have help text, ask a dev to add one",
|
||||||
|
"If you're a dev, write the help text you lazy bastard. -Ali"
|
||||||
@Override
|
};
|
||||||
public boolean GetModOnly() {
|
}
|
||||||
return true;
|
}
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
|
@ -1,30 +1,15 @@
|
||||||
package buttondevteam.presents.architecture.commands;
|
package buttondevteam.presents.architecture.commands;
|
||||||
|
|
||||||
import org.bukkit.command.Command;
|
|
||||||
import org.bukkit.command.CommandSender;
|
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
public abstract class PlayerCommand extends BaseCommand{
|
import buttondevteam.lib.chat.CommandClass;
|
||||||
/**replaces CommandExecutor functionality*/
|
import buttondevteam.lib.chat.PlayerCommandBase;
|
||||||
@Override
|
|
||||||
public boolean onCommand(CommandSender sender, Command command, String string, String[] args){
|
|
||||||
return OnCommand(sender, string, args);
|
|
||||||
}
|
|
||||||
/**replaces TBMCCommandBase functionality*/
|
|
||||||
@Override
|
|
||||||
public boolean OnCommand(CommandSender sender, String alias, String[] args){
|
|
||||||
return OnCommand((Player) sender, alias, args);
|
|
||||||
}
|
|
||||||
public abstract boolean OnCommand(Player player, String alias, String[] args);
|
|
||||||
@Override
|
|
||||||
public boolean GetPlayerOnly() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@CommandClass(modOnly = false)
|
||||||
public boolean GetModOnly() {
|
public abstract class PlayerCommand extends PlayerCommandBase{
|
||||||
return false;
|
|
||||||
}
|
public abstract boolean OnCommand(Player player, String alias, String[] args);
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String[] GetHelpText(String alias){
|
public String[] GetHelpText(String alias){
|
||||||
return new String[] {
|
return new String[] {
|
||||||
|
|
|
@ -1,21 +1,13 @@
|
||||||
package buttondevteam.presents.architecture.commands;
|
package buttondevteam.presents.architecture.commands;
|
||||||
|
|
||||||
|
import buttondevteam.lib.chat.CommandClass;
|
||||||
|
|
||||||
|
@CommandClass(modOnly = false)
|
||||||
public abstract class UniversalCommand extends BaseCommand{
|
public abstract class UniversalCommand extends BaseCommand{
|
||||||
@Override
|
@Override
|
||||||
public String[] GetHelpText(String alias){
|
public String[] GetHelpText(String alias){
|
||||||
return new String[] {
|
return new String[] {
|
||||||
"This command doesn't have help text. ",
|
"This command doesn't have help text. ",
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
public boolean GetPlayerOnly() {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
public boolean GetModOnly() {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,8 +2,10 @@ package buttondevteam.presents.hello.commands;
|
||||||
|
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
|
import buttondevteam.lib.chat.CommandClass;
|
||||||
import buttondevteam.presents.architecture.commands.UniversalCommand;
|
import buttondevteam.presents.architecture.commands.UniversalCommand;
|
||||||
|
|
||||||
|
@CommandClass(modOnly = false, path="hello command")
|
||||||
public class HelloCommand extends UniversalCommand {
|
public class HelloCommand extends UniversalCommand {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -11,9 +13,4 @@ public class HelloCommand extends UniversalCommand {
|
||||||
sender.sendMessage("Hello World!");
|
sender.sendMessage("Hello World!");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@Override
|
|
||||||
public String GetCommandPath(){
|
|
||||||
return "hello command";
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,8 +6,10 @@ import java.util.List;
|
||||||
|
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
|
import buttondevteam.lib.chat.CommandClass;
|
||||||
import buttondevteam.presents.architecture.commands.UniversalCommand;
|
import buttondevteam.presents.architecture.commands.UniversalCommand;
|
||||||
|
|
||||||
|
@CommandClass(path = "hello load")
|
||||||
public class HelloLoad extends UniversalCommand {
|
public class HelloLoad extends UniversalCommand {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -21,7 +23,4 @@ public class HelloLoad extends UniversalCommand {
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
public String GetCommandPath(){
|
|
||||||
return "hello load";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,8 +4,10 @@ import java.util.Arrays;
|
||||||
|
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
|
|
||||||
|
import buttondevteam.lib.chat.CommandClass;
|
||||||
import buttondevteam.presents.architecture.commands.UniversalCommand;
|
import buttondevteam.presents.architecture.commands.UniversalCommand;
|
||||||
|
|
||||||
|
@CommandClass(path = "hello save")
|
||||||
public class HelloSave extends UniversalCommand {
|
public class HelloSave extends UniversalCommand {
|
||||||
@Override
|
@Override
|
||||||
public boolean OnCommand(CommandSender sender, String alias, String[] args) {
|
public boolean OnCommand(CommandSender sender, String alias, String[] args) {
|
||||||
|
@ -23,7 +25,4 @@ public class HelloSave extends UniversalCommand {
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
public String GetCommandPath(){
|
|
||||||
return "hello save";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,8 +6,9 @@ import java.util.Date;
|
||||||
import org.bukkit.command.CommandSender;
|
import org.bukkit.command.CommandSender;
|
||||||
import org.bukkit.configuration.file.FileConfiguration;
|
import org.bukkit.configuration.file.FileConfiguration;
|
||||||
|
|
||||||
|
import buttondevteam.lib.chat.CommandClass;
|
||||||
import buttondevteam.presents.architecture.commands.UniversalCommand;
|
import buttondevteam.presents.architecture.commands.UniversalCommand;
|
||||||
|
@CommandClass(path = "hello time")
|
||||||
public class HelloTime extends UniversalCommand {
|
public class HelloTime extends UniversalCommand {
|
||||||
final String path = "hellotime.lastincident";
|
final String path = "hellotime.lastincident";
|
||||||
|
|
||||||
|
@ -34,9 +35,5 @@ public class HelloTime extends UniversalCommand {
|
||||||
SimpleDateFormat dateformatter = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss z");
|
SimpleDateFormat dateformatter = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss z");
|
||||||
return dateformatter.format(dateTime);
|
return dateformatter.format(dateTime);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String GetCommandPath(){
|
|
||||||
return "hello time";
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -16,8 +16,5 @@ public class HelloBlock extends PlayerCommand {
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
public String GetCommandPath(){
|
|
||||||
return "hello block";
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,8 +3,9 @@ package buttondevteam.presents.hello.effects;
|
||||||
import org.bukkit.entity.EntityType;
|
import org.bukkit.entity.EntityType;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import buttondevteam.lib.chat.CommandClass;
|
||||||
import buttondevteam.presents.architecture.commands.PlayerCommand;
|
import buttondevteam.presents.architecture.commands.PlayerCommand;
|
||||||
|
@CommandClass(path = "hello cow")
|
||||||
public class HelloCow extends PlayerCommand {
|
public class HelloCow extends PlayerCommand {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -15,14 +16,4 @@ public class HelloCow extends PlayerCommand {
|
||||||
);
|
);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean GetModOnly() {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
@Override
|
|
||||||
public String GetCommandPath(){
|
|
||||||
return "hello cow";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,9 +4,11 @@ import org.bukkit.Material;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
|
|
||||||
import buttondevteam.presents.architecture.commands.PlayerCommand;
|
import buttondevteam.lib.chat.CommandClass;
|
||||||
|
import buttondevteam.presents.architecture.commands.ModCommand;
|
||||||
|
|
||||||
public class HelloItem extends PlayerCommand {
|
@CommandClass(path = "hello item")
|
||||||
|
public class HelloItem extends ModCommand {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public boolean OnCommand(Player player, String alias, String[] args) {
|
public boolean OnCommand(Player player, String alias, String[] args) {
|
||||||
|
@ -15,14 +17,6 @@ public class HelloItem extends PlayerCommand {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean GetModOnly() {
|
|
||||||
// TODO Auto-generated method stub
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
@Override
|
|
||||||
public String GetCommandPath(){
|
|
||||||
return "hello item";
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -8,8 +8,10 @@ import org.bukkit.entity.Player;
|
||||||
import org.bukkit.inventory.ItemStack;
|
import org.bukkit.inventory.ItemStack;
|
||||||
import org.bukkit.inventory.meta.ItemMeta;
|
import org.bukkit.inventory.meta.ItemMeta;
|
||||||
|
|
||||||
|
import buttondevteam.lib.chat.CommandClass;
|
||||||
import buttondevteam.presents.architecture.commands.ModCommand;
|
import buttondevteam.presents.architecture.commands.ModCommand;
|
||||||
|
|
||||||
|
@CommandClass(path = "hello magicpotato")
|
||||||
public class HelloMagicPotato extends ModCommand {
|
public class HelloMagicPotato extends ModCommand {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -31,7 +33,4 @@ public class HelloMagicPotato extends ModCommand {
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
public String GetCommandPath(){
|
|
||||||
return "hello magicpotato";
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -3,8 +3,10 @@ package buttondevteam.presents.hello.effects;
|
||||||
import org.bukkit.Particle;
|
import org.bukkit.Particle;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import buttondevteam.lib.chat.CommandClass;
|
||||||
import buttondevteam.presents.architecture.commands.PlayerCommand;
|
import buttondevteam.presents.architecture.commands.PlayerCommand;
|
||||||
|
|
||||||
|
@CommandClass(path = "hello particle")
|
||||||
public class HelloParticle extends PlayerCommand {
|
public class HelloParticle extends PlayerCommand {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
|
|
@ -3,8 +3,10 @@ package buttondevteam.presents.hello.effects;
|
||||||
import org.bukkit.Sound;
|
import org.bukkit.Sound;
|
||||||
import org.bukkit.entity.Player;
|
import org.bukkit.entity.Player;
|
||||||
|
|
||||||
|
import buttondevteam.lib.chat.CommandClass;
|
||||||
import buttondevteam.presents.architecture.commands.PlayerCommand;
|
import buttondevteam.presents.architecture.commands.PlayerCommand;
|
||||||
|
|
||||||
|
@CommandClass(path = "hello sound")
|
||||||
public class HelloSound extends PlayerCommand{
|
public class HelloSound extends PlayerCommand{
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -31,8 +33,5 @@ public class HelloSound extends PlayerCommand{
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
}
|
}
|
||||||
public String GetCommandPath(){
|
|
||||||
return "hello sound";
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue