diff --git a/.idea/libraries/Maven__com_github_TBMCPlugins_ButtonCore_Towny_master_v1_0_g8d3b6b6_296.xml b/.idea/libraries/Maven__com_github_TBMCPlugins_ButtonCore_Towny_master_v1_0_g8d3b6b6_296.xml new file mode 100644 index 0000000..8991a67 --- /dev/null +++ b/.idea/libraries/Maven__com_github_TBMCPlugins_ButtonCore_Towny_master_v1_0_g8d3b6b6_296.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__com_github_milkbowl_VaultAPI_master_8dc0859cba_1.xml b/.idea/libraries/Maven__com_github_milkbowl_VaultAPI_master_c8cb88f27a_1.xml old mode 100755 new mode 100644 similarity index 55% rename from .idea/libraries/Maven__com_github_milkbowl_VaultAPI_master_8dc0859cba_1.xml rename to .idea/libraries/Maven__com_github_milkbowl_VaultAPI_master_c8cb88f27a_1.xml index 2f453df..b5aaa43 --- a/.idea/libraries/Maven__com_github_milkbowl_VaultAPI_master_8dc0859cba_1.xml +++ b/.idea/libraries/Maven__com_github_milkbowl_VaultAPI_master_c8cb88f27a_1.xml @@ -1,13 +1,13 @@ - + - + - + - + \ No newline at end of file diff --git a/.idea/libraries/Maven__javax_persistence_persistence_api_1_0.xml b/.idea/libraries/Maven__javax_persistence_persistence_api_1_0.xml deleted file mode 100755 index e60370e..0000000 --- a/.idea/libraries/Maven__javax_persistence_persistence_api_1_0.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_avaje_ebean_2_8_1.xml b/.idea/libraries/Maven__org_avaje_ebean_2_8_1.xml deleted file mode 100755 index 91f161a..0000000 --- a/.idea/libraries/Maven__org_avaje_ebean_2_8_1.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/libraries/Maven__org_bukkit_bukkit_1_13_1_R0_1_SNAPSHOT.xml b/.idea/libraries/Maven__org_bukkit_bukkit_1_13_1_R0_1_SNAPSHOT.xml new file mode 100644 index 0000000..4f2c5e4 --- /dev/null +++ b/.idea/libraries/Maven__org_bukkit_bukkit_1_13_1_R0_1_SNAPSHOT.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/libraries/Maven__org_bukkit_bukkit_1_9_R0_1_SNAPSHOT.xml b/.idea/libraries/Maven__org_bukkit_bukkit_1_9_R0_1_SNAPSHOT.xml deleted file mode 100755 index 2fb4911..0000000 --- a/.idea/libraries/Maven__org_bukkit_bukkit_1_9_R0_1_SNAPSHOT.xml +++ /dev/null @@ -1,13 +0,0 @@ - - - - - - - - - - - - - \ No newline at end of file diff --git a/.idea/markdown-navigator.xml b/.idea/markdown-navigator.xml new file mode 100644 index 0000000..3e62462 --- /dev/null +++ b/.idea/markdown-navigator.xml @@ -0,0 +1,82 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/.idea/markdown-navigator/profiles_settings.xml b/.idea/markdown-navigator/profiles_settings.xml new file mode 100644 index 0000000..57927c5 --- /dev/null +++ b/.idea/markdown-navigator/profiles_settings.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..e96534f --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/BuildConfigUpdater/BuildConfigUpdater.iml b/BuildConfigUpdater/BuildConfigUpdater.iml index 4902d56..73696cd 100644 --- a/BuildConfigUpdater/BuildConfigUpdater.iml +++ b/BuildConfigUpdater/BuildConfigUpdater.iml @@ -12,7 +12,6 @@ - diff --git a/BuildConfigUpdater/src/main/java/BCUMain.java b/BuildConfigUpdater/src/main/java/BCUMain.java index bca7209..07666d3 100644 --- a/BuildConfigUpdater/src/main/java/BCUMain.java +++ b/BuildConfigUpdater/src/main/java/BCUMain.java @@ -1,4 +1,4 @@ -import buttondevteam.lib.PluginUpdater; +import buttondevteam.component.updater.PluginUpdater; import java.util.List; import java.util.stream.Collectors; diff --git a/ButtonCore/src/main/java/buttondevteam/component/commands/CommandComponent.java b/ButtonCore/src/main/java/buttondevteam/component/commands/CommandComponent.java new file mode 100644 index 0000000..b3f1059 --- /dev/null +++ b/ButtonCore/src/main/java/buttondevteam/component/commands/CommandComponent.java @@ -0,0 +1,16 @@ +package buttondevteam.component.commands; + +import buttondevteam.lib.architecture.Component; +import org.bukkit.plugin.java.JavaPlugin; + +public class CommandComponent extends Component { //TODO: Do we just move everything here? + @Override + public void register(JavaPlugin plugin) { + + } + + @Override + public void unregister(JavaPlugin plugin) { + + } +} diff --git a/ButtonCore/src/main/java/buttondevteam/component/restart/RestartComponent.java b/ButtonCore/src/main/java/buttondevteam/component/restart/RestartComponent.java new file mode 100644 index 0000000..3061824 --- /dev/null +++ b/ButtonCore/src/main/java/buttondevteam/component/restart/RestartComponent.java @@ -0,0 +1,21 @@ +package buttondevteam.component.restart; + +import buttondevteam.core.PrimeRestartCommand; +import buttondevteam.core.ScheduledRestartCommand; +import buttondevteam.lib.architecture.Component; +import buttondevteam.lib.chat.TBMCChatAPI; +import org.bukkit.plugin.java.JavaPlugin; + +public class RestartComponent extends Component { + @Override + public void register(JavaPlugin plugin) { + //TODO: Separately (dis)allow commands + TBMCChatAPI.AddCommand(plugin, ScheduledRestartCommand.class); + TBMCChatAPI.AddCommand(plugin, PrimeRestartCommand.class); + } + + @Override + public void unregister(JavaPlugin plugin) { + + } +} diff --git a/ButtonCore/src/main/java/buttondevteam/lib/PluginUpdater.java b/ButtonCore/src/main/java/buttondevteam/component/updater/PluginUpdater.java similarity index 97% rename from ButtonCore/src/main/java/buttondevteam/lib/PluginUpdater.java rename to ButtonCore/src/main/java/buttondevteam/component/updater/PluginUpdater.java index ca758f8..ce2e993 100755 --- a/ButtonCore/src/main/java/buttondevteam/lib/PluginUpdater.java +++ b/ButtonCore/src/main/java/buttondevteam/component/updater/PluginUpdater.java @@ -1,5 +1,6 @@ -package buttondevteam.lib; +package buttondevteam.component.updater; +import buttondevteam.lib.TBMCCoreAPI; import com.google.gson.JsonArray; import com.google.gson.JsonElement; import com.google.gson.JsonObject; @@ -136,7 +137,7 @@ public class PluginUpdater { public static List GetPluginNames() { List ret = new ArrayList<>(); try { - String resp = TBMCCoreAPI.DownloadString("https://api.github.com/orgs/TBMCPlugins/repos"); + String resp = TBMCCoreAPI.DownloadString("https://api.github.com/orgs/" + "TBMCPlugins" + "/repos"); //TODO: PluginUpdater JsonArray arr = new JsonParser().parse(resp).getAsJsonArray(); for (JsonElement obj : arr) { JsonObject jobj = obj.getAsJsonObject(); diff --git a/ButtonCore/src/main/java/buttondevteam/component/updater/PluginUpdaterComponent.java b/ButtonCore/src/main/java/buttondevteam/component/updater/PluginUpdaterComponent.java new file mode 100644 index 0000000..1427927 --- /dev/null +++ b/ButtonCore/src/main/java/buttondevteam/component/updater/PluginUpdaterComponent.java @@ -0,0 +1,17 @@ +package buttondevteam.component.updater; + +import buttondevteam.lib.architecture.Component; +import buttondevteam.lib.chat.TBMCChatAPI; +import org.bukkit.plugin.java.JavaPlugin; + +public class PluginUpdaterComponent extends Component { + @Override + public void register(JavaPlugin plugin) { + TBMCChatAPI.AddCommand(plugin, UpdatePluginCommand.class); + } + + @Override + public void unregister(JavaPlugin plugin) { + + } +} diff --git a/ButtonCore/src/main/java/buttondevteam/core/UpdatePluginCommand.java b/ButtonCore/src/main/java/buttondevteam/component/updater/UpdatePluginCommand.java similarity index 94% rename from ButtonCore/src/main/java/buttondevteam/core/UpdatePluginCommand.java rename to ButtonCore/src/main/java/buttondevteam/component/updater/UpdatePluginCommand.java index ba5b309..ee006c4 100755 --- a/ButtonCore/src/main/java/buttondevteam/core/UpdatePluginCommand.java +++ b/ButtonCore/src/main/java/buttondevteam/component/updater/UpdatePluginCommand.java @@ -1,6 +1,6 @@ -package buttondevteam.core; +package buttondevteam.component.updater; -import buttondevteam.lib.PluginUpdater; +import buttondevteam.core.MainPlugin; import buttondevteam.lib.TBMCCoreAPI; import buttondevteam.lib.chat.CommandClass; import buttondevteam.lib.chat.TBMCCommandBase; diff --git a/ButtonCore/src/main/java/buttondevteam/core/MainPlugin.java b/ButtonCore/src/main/java/buttondevteam/core/MainPlugin.java index beb7651..b25ed1f 100755 --- a/ButtonCore/src/main/java/buttondevteam/core/MainPlugin.java +++ b/ButtonCore/src/main/java/buttondevteam/core/MainPlugin.java @@ -1,6 +1,6 @@ package buttondevteam.core; -import buttondevteam.lib.PluginUpdater; +import buttondevteam.component.updater.PluginUpdater; import buttondevteam.lib.TBMCCoreAPI; import buttondevteam.lib.chat.Channel; import buttondevteam.lib.chat.ChatRoom; @@ -40,9 +40,6 @@ public class MainPlugin extends JavaPlugin { setupPermissions(); Test = getConfig().getBoolean("test", true); saveConfig(); - TBMCChatAPI.AddCommand(this, UpdatePluginCommand.class); - TBMCChatAPI.AddCommand(this, ScheduledRestartCommand.class); - TBMCChatAPI.AddCommand(this, PrimeRestartCommand.class); TBMCCoreAPI.RegisterEventsForExceptions(new PlayerListener(), this); TBMCCoreAPI.RegisterUserClass(TBMCPlayerBase.class); TBMCChatAPI.RegisterChatChannel(Channel.GlobalChat = new Channel("§fOOC§f", Color.White, "ooc", null)); diff --git a/ButtonCore/src/main/java/buttondevteam/core/PlayerListener.java b/ButtonCore/src/main/java/buttondevteam/core/PlayerListener.java index af8220e..be7c10b 100755 --- a/ButtonCore/src/main/java/buttondevteam/core/PlayerListener.java +++ b/ButtonCore/src/main/java/buttondevteam/core/PlayerListener.java @@ -1,7 +1,7 @@ package buttondevteam.core; import buttondevteam.lib.TBMCSystemChatEvent; -import buttondevteam.lib.chat.IDiscordSender; +import buttondevteam.lib.chat.IFakePlayer; import buttondevteam.lib.player.TBMCPlayerBase; import org.bukkit.Bukkit; import org.bukkit.ChatColor; @@ -43,7 +43,7 @@ public class PlayerListener implements Listener { if (PrimeRestartCommand.isLoud()) Bukkit.broadcastMessage("§cNobody is online anymore. Restarting."); Bukkit.spigot().restart(); - } else if (!(event.getPlayer() instanceof IDiscordSender) && System.nanoTime() - 10 * 1000000000L - lasttime > 0) { //Ten seconds passed since last reminder + } else if (!(event.getPlayer() instanceof IFakePlayer) && System.nanoTime() - 10 * 1000000000L - lasttime > 0) { //Ten seconds passed since last reminder lasttime = System.nanoTime(); if (PrimeRestartCommand.isLoud()) Bukkit.broadcastMessage(ChatColor.DARK_RED + "The server will restart as soon as nobody is online."); diff --git a/ButtonCore/src/main/java/buttondevteam/lib/TBMCCoreAPI.java b/ButtonCore/src/main/java/buttondevteam/lib/TBMCCoreAPI.java index 76498d5..e114196 100755 --- a/ButtonCore/src/main/java/buttondevteam/lib/TBMCCoreAPI.java +++ b/ButtonCore/src/main/java/buttondevteam/lib/TBMCCoreAPI.java @@ -1,5 +1,6 @@ package buttondevteam.lib; +import buttondevteam.component.updater.PluginUpdater; import buttondevteam.core.MainPlugin; import buttondevteam.lib.player.ChromaGamerBase; import buttondevteam.lib.potato.DebugPotato; diff --git a/ButtonCore/src/main/java/buttondevteam/lib/architecture/Component.java b/ButtonCore/src/main/java/buttondevteam/lib/architecture/Component.java index 5c2824b..33c6788 100644 --- a/ButtonCore/src/main/java/buttondevteam/lib/architecture/Component.java +++ b/ButtonCore/src/main/java/buttondevteam/lib/architecture/Component.java @@ -75,6 +75,14 @@ public abstract class Component { */ public abstract void register(JavaPlugin plugin); + /** + * Unregisters the module, when called by the JavaPlugin class. Do + * any cleanups needed within this method. + * + * @param plugin Plugin class called to register commands and listeners + */ + public abstract void unregister(JavaPlugin plugin); + /** * Registers a TBMCCommand to the plugin. Make sure to add it to plugin.yml and use {@link buttondevteam.lib.chat.CommandClass}. * diff --git a/ButtonCore/src/main/java/buttondevteam/lib/chat/ChatMessage.java b/ButtonCore/src/main/java/buttondevteam/lib/chat/ChatMessage.java index a6fc3f1..056674a 100644 --- a/ButtonCore/src/main/java/buttondevteam/lib/chat/ChatMessage.java +++ b/ButtonCore/src/main/java/buttondevteam/lib/chat/ChatMessage.java @@ -9,38 +9,41 @@ import org.bukkit.command.CommandSender; @Builder @Getter public class ChatMessage { - /** - * The MC channel to send the message to. - */ - private final Channel channel; - /** - * The sender which sends the message. - */ - private final CommandSender sender; - /** - * The Chroma user which sends the message. - */ - private final ChromaGamerBase user; - /** - * The message to send as the user. - */ - private final String message; - /** - * Indicates whether the message comes from running a command (like /tableflip). Implemented to be used from Discord. - */ - private boolean fromCommand; - /** - * The sender which we should check for permissions. Same as {@link #sender} by default. - */ - private CommandSender permCheck; + /** + * The MC channel to send the message to. + */ + private final Channel channel; + /** + * The sender which sends the message. + */ + private final CommandSender sender; + /** + * The Chroma user which sends the message. + */ + private final ChromaGamerBase user; + /** + * The message to send as the user. + */ + private final String message; + /** + * Indicates whether the message comes from running a command (like /tableflip). Implemented to be used from Discord. + */ + private boolean fromCommand; + /** + * The sender which we should check for permissions. Same as {@link #sender} by default. + */ + private CommandSender permCheck; + /** + * The origin of the message, "minecraft" or "discord" for example. + */ + private final String origin; - private static ChatMessageBuilder builder() { - return new ChatMessageBuilder(); - } - - @NonNull - public static ChatMessageBuilder builder(Channel channel, CommandSender sender, ChromaGamerBase user, String message) { - return builder().channel(channel).sender(sender).user(user).message(message); - } + private static ChatMessageBuilder builder() { + return new ChatMessageBuilder(); + } + @NonNull + public static ChatMessageBuilder builder(Channel channel, CommandSender sender, ChromaGamerBase user, String message) { + return builder().channel(channel).sender(sender).user(user).message(message); + } } diff --git a/ButtonCore/src/main/java/buttondevteam/lib/chat/IDiscordSender.java b/ButtonCore/src/main/java/buttondevteam/lib/chat/IFakePlayer.java similarity index 71% rename from ButtonCore/src/main/java/buttondevteam/lib/chat/IDiscordSender.java rename to ButtonCore/src/main/java/buttondevteam/lib/chat/IFakePlayer.java index fd41c90..4f9318c 100755 --- a/ButtonCore/src/main/java/buttondevteam/lib/chat/IDiscordSender.java +++ b/ButtonCore/src/main/java/buttondevteam/lib/chat/IFakePlayer.java @@ -7,6 +7,6 @@ import org.bukkit.command.CommandSender; * @author Norbi * */ -public interface IDiscordSender extends CommandSender { +public interface IFakePlayer extends CommandSender { } diff --git a/ButtonCore/src/main/java/buttondevteam/lib/chat/TBMCChatAPI.java b/ButtonCore/src/main/java/buttondevteam/lib/chat/TBMCChatAPI.java index f1fcd98..18b0487 100755 --- a/ButtonCore/src/main/java/buttondevteam/lib/chat/TBMCChatAPI.java +++ b/ButtonCore/src/main/java/buttondevteam/lib/chat/TBMCChatAPI.java @@ -35,7 +35,7 @@ public class TBMCChatAPI { /** * Returns messages formatted for Minecraft chat listing the subcommands of the command. - * + * * @param command * The command which we want the subcommands of * @param sender @@ -49,7 +49,7 @@ public class TBMCChatAPI { /** * Returns messages formatted for Minecraft chat listing the subcommands of the command.
* Returns a header if subcommands were found, otherwise returns an empty array. - * + * * @param command * The command which we want the subcommands of * @param sender