diff --git a/config.yml b/config.yml new file mode 100644 index 0000000..e69de29 diff --git a/plugin.yml b/plugin.yml new file mode 100644 index 0000000..753898a --- /dev/null +++ b/plugin.yml @@ -0,0 +1,4 @@ +main: buttondevteam.minecraft.Main +name: PlaceMinecraft +version: 0.0.1 + diff --git a/src/main/java/buttondevteam/architecture/Component.java b/src/main/java/buttondevteam/architecture/Component.java new file mode 100644 index 0000000..5bfa73d --- /dev/null +++ b/src/main/java/buttondevteam/architecture/Component.java @@ -0,0 +1,70 @@ +package buttondevteam.architecture; + +import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.event.Listener; +import org.bukkit.plugin.java.JavaPlugin; + +import buttondevteam.architecture.commands.BaseCommand; +import buttondevteam.lib.TBMCCoreAPI; +import buttondevteam.lib.chat.TBMCChatAPI; + +/** + * 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, + * 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, + * 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. + * @author Alisolarflare + * + */ +public abstract class Component{ + /** + * Registers the module, when called by the JavaPlugin class. Call + * registerCommand() and registerListener() within this method. + * + * @param plugin Plugin class called to register commands and listeners + */ + public abstract void register(JavaPlugin plugin); + /** + * Registers a TBMCCommand to the plugin + * @param plugin Main plugin responsible for stuff + * @param label Name of the command in plugin.yml + * @param commandExecutor Custom coded CommandExecutor class + */ + protected void registerCommand(JavaPlugin plugin, BaseCommand commandBase){ + TBMCChatAPI.AddCommand(plugin, commandBase); + //plugin.getCommand(commandBase.getClass().getSimpleName().toString()).setExecutor(commandBase); + } + /** + * Registers a Listener to this plugin + * @param plugin Main plugin responsible for stuff + * @param label Name of the command in plugin.yml + * @param commandExecutor Custom coded CommandExecutor class + */ + protected Listener registerListener(JavaPlugin plugin, Listener listener){ + TBMCCoreAPI.RegisterEventsForExceptions(listener, plugin); + return listener; + } + + public void saveData(FileConfiguration config, String pathToData, Object data){ + config.set("moduledata." + this.getClassName() + "." + pathToData, data); + } + public Object getData(FileConfiguration config, String pathToData, Object data){ + return config.get("moduledata." + this.getClassName() + "." + pathToData, data); + } + + public String getClassName(){ + Class enclosingClass = getClass().getEnclosingClass(); + String className = "nullModule"; + if (enclosingClass != null) { + className = (enclosingClass.getName()); + } else { + className = (getClass().getName()); + } + return className; + } + +} diff --git a/src/main/java/buttondevteam/architecture/commands/BaseCommand.java b/src/main/java/buttondevteam/architecture/commands/BaseCommand.java new file mode 100644 index 0000000..ec10e27 --- /dev/null +++ b/src/main/java/buttondevteam/architecture/commands/BaseCommand.java @@ -0,0 +1,22 @@ +package buttondevteam.architecture.commands; + +import org.bukkit.command.Command; +import org.bukkit.command.CommandExecutor; +import org.bukkit.command.CommandSender; + +import buttondevteam.lib.chat.TBMCCommandBase; + +public abstract class BaseCommand extends TBMCCommandBase implements CommandExecutor{ + @Override + public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { + // TODO Auto-generated method stub + return OnCommand(sender, label, args); + } + @Override + public String[] GetHelpText(String alias){ + return new String[] { + "This command doesn't have help text ask a dev to write one", + "If you're a dev, write the help text you lazy bastard. -Ali" + }; + } +} diff --git a/src/main/java/buttondevteam/architecture/commands/CommandBlockCommand.java b/src/main/java/buttondevteam/architecture/commands/CommandBlockCommand.java new file mode 100644 index 0000000..5dec530 --- /dev/null +++ b/src/main/java/buttondevteam/architecture/commands/CommandBlockCommand.java @@ -0,0 +1,21 @@ +package buttondevteam.architecture.commands; + +public abstract class CommandBlockCommand extends BaseCommand{ + @Override + public String[] GetHelpText(String alias){ + return new String[] { + "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; + } + +} diff --git a/src/main/java/buttondevteam/architecture/commands/ModCommand.java b/src/main/java/buttondevteam/architecture/commands/ModCommand.java new file mode 100644 index 0000000..f4b4025 --- /dev/null +++ b/src/main/java/buttondevteam/architecture/commands/ModCommand.java @@ -0,0 +1,17 @@ +package buttondevteam.architecture.commands; + +public abstract class ModCommand extends PlayerCommand{ + + @Override + 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; + } +} diff --git a/src/main/java/buttondevteam/architecture/commands/PlayerCommand.java b/src/main/java/buttondevteam/architecture/commands/PlayerCommand.java new file mode 100644 index 0000000..f6be69f --- /dev/null +++ b/src/main/java/buttondevteam/architecture/commands/PlayerCommand.java @@ -0,0 +1,38 @@ +package buttondevteam.architecture.commands; + +import org.bukkit.command.Command; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; + +public abstract class PlayerCommand extends BaseCommand{ + /**replaces CommandExecutor functionality*/ + @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 + public boolean GetModOnly() { + return false; + } + @Override + public String[] GetHelpText(String alias){ + return new String[] { + "This command doesn't have help text. ", + "If you're a player, ask a mod to write one", + "If you're a mod, ask a dev to write one", + "If you're a dev, write the help text you lazy bastard. -Ali" + }; + } + +} diff --git a/src/main/java/buttondevteam/minecraft/Main.java b/src/main/java/buttondevteam/minecraft/Main.java new file mode 100644 index 0000000..e1b74d1 --- /dev/null +++ b/src/main/java/buttondevteam/minecraft/Main.java @@ -0,0 +1,22 @@ +package buttondevteam.minecraft; +import java.util.logging.Logger; + +import org.bukkit.plugin.PluginDescriptionFile; +import org.bukkit.plugin.java.JavaPlugin; + + + +public class Main extends JavaPlugin{ + public void onEnable(){ + PluginDescriptionFile pdfFile = getDescription(); + + Logger logger = getLogger(); + logger.info(pdfFile.getName() + " has been started (V." + pdfFile.getVersion()+ ")."); + + + + logger.info(pdfFile.getName() + " has fully registered (V." + pdfFile.getVersion()+ ")."); + + + } +} diff --git a/src/main/java/buttondevteam/minecraft/place/Place.java b/src/main/java/buttondevteam/minecraft/place/Place.java new file mode 100644 index 0000000..e70aa8a --- /dev/null +++ b/src/main/java/buttondevteam/minecraft/place/Place.java @@ -0,0 +1,5 @@ +package buttondevteam.minecraft.place; + +public class Place { + +} diff --git a/src/main/java/buttondevteam/minecraft/place/Reader.java b/src/main/java/buttondevteam/minecraft/place/Reader.java new file mode 100644 index 0000000..5670b10 --- /dev/null +++ b/src/main/java/buttondevteam/minecraft/place/Reader.java @@ -0,0 +1,5 @@ +package buttondevteam.minecraft.place; + +public class Reader { + +} diff --git a/src/main/java/buttondevteam/minecraft/place/Translator.java b/src/main/java/buttondevteam/minecraft/place/Translator.java new file mode 100644 index 0000000..eb61575 --- /dev/null +++ b/src/main/java/buttondevteam/minecraft/place/Translator.java @@ -0,0 +1,5 @@ +package buttondevteam.minecraft.place; + +public class Translator { + +} diff --git a/src/main/java/buttondevteam/minecraft/place/Writer.java b/src/main/java/buttondevteam/minecraft/place/Writer.java new file mode 100644 index 0000000..87377c9 --- /dev/null +++ b/src/main/java/buttondevteam/minecraft/place/Writer.java @@ -0,0 +1,5 @@ +package buttondevteam.minecraft.place; + +public class Writer { + +}