diff options
author | Myles <mylesandmore9@gmail.com> | 2022-11-26 19:35:20 -0600 |
---|---|---|
committer | Myles <mylesandmore9@gmail.com> | 2022-11-26 19:35:20 -0600 |
commit | 051caba9c9e9d6a6c096ab9afccd9f9ec4f903dd (patch) | |
tree | e63255609b431aeb7ae2cd3d86b445c199e3f5cc /src/main/java/com | |
parent | 482eb665acb52fe7ea9b61b1bb950b5e4e93df3f (diff) | |
download | Tumble-051caba9c9e9d6a6c096ab9afccd9f9ec4f903dd.tar.gz Tumble-051caba9c9e9d6a6c096ab9afccd9f9ec4f903dd.tar.bz2 Tumble-051caba9c9e9d6a6c096ab9afccd9f9ec4f903dd.zip |
add PluginManager
Diffstat (limited to '')
5 files changed, 44 insertions, 38 deletions
diff --git a/src/main/java/com/MylesAndMore/tumble/EventListener.java b/src/main/java/com/MylesAndMore/tumble/EventListener.java index 7427ebe..f673b54 100644 --- a/src/main/java/com/MylesAndMore/tumble/EventListener.java +++ b/src/main/java/com/MylesAndMore/tumble/EventListener.java @@ -1,21 +1,17 @@ package com.MylesAndMore.tumble; -import org.bukkit.Bukkit; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerQuitEvent; -import org.bukkit.plugin.Plugin; public class EventListener implements Listener{ - Plugin plugin = Bukkit.getServer().getPluginManager().getPlugin("tumble"); - @EventHandler public void PlayerJoinEvent(PlayerJoinEvent event){ // On a PlayerJoinEvent, check if the config is set to hide the join/leave messages // If true, null out the join message (which just makes it so that there is no message) // If false, nothing will happen, and the default message will display - if (plugin.getConfig().getBoolean("hideJoinLeaveMessages")) { + if (PluginManager.getPlugin().getConfig().getBoolean("hideJoinLeaveMessages")) { event.setJoinMessage(null); } } @@ -25,7 +21,7 @@ public class EventListener implements Listener{ // On a PlayerQuitEvent, check if the config is set to hide the join/leave messages // If true, null out the quit message (which just makes it so that there is no message) // If false, nothing will happen, and the default message will display - if (plugin.getConfig().getBoolean("hideJoinLeaveMessages")) { + if (PluginManager.getPlugin().getConfig().getBoolean("hideJoinLeaveMessages")) { event.setQuitMessage(null); } } diff --git a/src/main/java/com/MylesAndMore/tumble/PluginManager.java b/src/main/java/com/MylesAndMore/tumble/PluginManager.java new file mode 100644 index 0000000..a6fdfd0 --- /dev/null +++ b/src/main/java/com/MylesAndMore/tumble/PluginManager.java @@ -0,0 +1,18 @@ +package com.MylesAndMore.tumble; + +import com.onarandombox.MultiverseCore.MultiverseCore; +import com.onarandombox.MultiverseCore.api.MVWorldManager; +import org.bukkit.Bukkit; +import org.bukkit.plugin.Plugin; + +public class PluginManager { + // Tumble plugin + public static Plugin getPlugin() { + return Bukkit.getServer().getPluginManager().getPlugin("tumble"); + } + + // Multiverse plugin + public static MultiverseCore getMV() { return (MultiverseCore) Bukkit.getServer().getPluginManager().getPlugin("Multiverse-Core"); } + // Multiverse worldManager + public static MVWorldManager getWorldManager() { return getMV().getMVWorldManager(); } +} diff --git a/src/main/java/com/MylesAndMore/tumble/commands/ReloadCommand.java b/src/main/java/com/MylesAndMore/tumble/commands/ReloadCommand.java index a36b1d7..a12f381 100644 --- a/src/main/java/com/MylesAndMore/tumble/commands/ReloadCommand.java +++ b/src/main/java/com/MylesAndMore/tumble/commands/ReloadCommand.java @@ -1,25 +1,22 @@ package com.MylesAndMore.tumble.commands; -import org.bukkit.Bukkit; +import com.MylesAndMore.tumble.PluginManager; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; -import org.bukkit.plugin.Plugin; public class ReloadCommand implements CommandExecutor { - Plugin plugin = Bukkit.getServer().getPluginManager().getPlugin("tumble"); - @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { // Check if the sender has perms to run command if (!sender.hasPermission("tumble.reload")) { // If sender does not have permission, display them the permissionMessage from the config - sender.sendMessage(ChatColor.RED + plugin.getConfig().getString("permissionMessage")); + sender.sendMessage(ChatColor.RED + PluginManager.getPlugin().getConfig().getString("permissionMessage")); } else { // If sender does have permission, reload the plugin's config and display a confirmation message - plugin.reloadConfig(); + PluginManager.getPlugin().reloadConfig(); sender.sendMessage(ChatColor.GREEN + "Tumble configuration reloaded successfully."); } return true; diff --git a/src/main/java/com/MylesAndMore/tumble/commands/SetWorldConfig.java b/src/main/java/com/MylesAndMore/tumble/commands/SetWorldConfig.java index 505af0d..fe663f9 100644 --- a/src/main/java/com/MylesAndMore/tumble/commands/SetWorldConfig.java +++ b/src/main/java/com/MylesAndMore/tumble/commands/SetWorldConfig.java @@ -1,34 +1,36 @@ package com.MylesAndMore.tumble.commands; +import com.MylesAndMore.tumble.PluginManager; import org.bukkit.Bukkit; import org.bukkit.ChatColor; +import org.bukkit.World; +import org.bukkit.WorldType; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; -import org.bukkit.plugin.Plugin; import java.util.Objects; public class SetWorldConfig implements CommandExecutor { - Plugin plugin = Bukkit.getServer().getPluginManager().getPlugin("tumble"); - @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { - // Initialize vars for their respective command arguments - String world = args[0]; - String worldType = args[1]; // Catch for null arguments - if (args.length > 0) { + if (args.length == 2) { // Check if sender has perms to run command - if (!sender.hasPermission("tumble.setworld")){ + if (sender.hasPermission("tumble.setworld")){ + // Initialize vars for their respective command arguments + String world = args[0]; + String worldType = args[1]; // Check if the world type is lobby if (Objects.equals(worldType, "lobby")) { // Check if the world is actually a world on the server if (Bukkit.getWorld(world) != null) { // Set the specified value of the world in the config under lobbyWorld - plugin.getConfig().set("lobbyWorld", world); + PluginManager.getPlugin().getConfig().set("lobbyWorld", world); // Save said config - plugin.saveConfig(); + PluginManager.getPlugin().saveConfig(); + // Add the world to the multiverse world manager + PluginManager.getWorldManager().addWorld(world, World.Environment.NORMAL, null, WorldType.FLAT, false, null); // Feedback sender.sendMessage(ChatColor.GREEN + "Lobby world successfully linked: " + ChatColor.GRAY + world); sender.sendMessage(ChatColor.GREEN + "Run /tumble:reload for the changes to take effect."); @@ -41,8 +43,9 @@ public class SetWorldConfig implements CommandExecutor { // Check if the world type is game else if (Objects.equals(args[1], "game")) { if (Bukkit.getWorld(world) != null) { - plugin.getConfig().set("gameWorld", world); - plugin.saveConfig(); + PluginManager.getPlugin().getConfig().set("gameWorld", world); + PluginManager.getPlugin().saveConfig(); + PluginManager.getWorldManager().addWorld(world, World.Environment.NORMAL, null, WorldType.FLAT, false, null); sender.sendMessage(ChatColor.GREEN + "Game world successfully linked: " + ChatColor.GRAY + world); sender.sendMessage(ChatColor.GREEN + "Run /tumble:reload for the changes to take effect."); } @@ -57,7 +60,7 @@ public class SetWorldConfig implements CommandExecutor { } // Feedback for if sender has no perms else { - sender.sendMessage(ChatColor.RED + plugin.getConfig().getString("permissionMessage")); + sender.sendMessage(ChatColor.RED + PluginManager.getPlugin().getConfig().getString("permissionMessage")); } } // Feedback for if no args were entered diff --git a/src/main/java/com/MylesAndMore/tumble/commands/StartGame.java b/src/main/java/com/MylesAndMore/tumble/commands/StartGame.java index feec5b4..8e1e4fd 100644 --- a/src/main/java/com/MylesAndMore/tumble/commands/StartGame.java +++ b/src/main/java/com/MylesAndMore/tumble/commands/StartGame.java @@ -1,22 +1,14 @@ package com.MylesAndMore.tumble.commands; -import com.onarandombox.MultiverseCore.MultiverseCore; -import com.onarandombox.MultiverseCore.api.MVWorldManager; +import com.MylesAndMore.tumble.PluginManager; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; -import org.bukkit.plugin.Plugin; public class StartGame implements CommandExecutor { - // Define tumble instances - Plugin plugin = Bukkit.getServer().getPluginManager().getPlugin("tumble"); - String gameWorld = plugin.getConfig().getString("gameWorld"); - - // Define multiverse instances - MultiverseCore mv = (MultiverseCore) Bukkit.getServer().getPluginManager().getPlugin("Multiverse-Core"); - MVWorldManager mvWorldManager = mv.getMVWorldManager(); + String gameWorld = PluginManager.getPlugin().getConfig().getString("gameWorld"); @Override public boolean onCommand(CommandSender sender, Command command, String label, String[] args) { @@ -27,9 +19,9 @@ public class StartGame implements CommandExecutor { sender.sendMessage("Starting game..."); // Use multiverse to load game world boolean includeLoaded = false; - boolean worldLoaded = (mvWorldManager.hasUnloadedWorld(gameWorld, includeLoaded)); + boolean worldLoaded = (PluginManager.getWorldManager().hasUnloadedWorld(gameWorld, includeLoaded)); if (worldLoaded) { - mvWorldManager.loadWorld(gameWorld); + PluginManager.getWorldManager().loadWorld(gameWorld); } else { sender.sendMessage(ChatColor.RED + "Failed to find a world named " + ChatColor.GRAY + gameWorld); @@ -49,7 +41,7 @@ public class StartGame implements CommandExecutor { } // Feedback for if the sender has no perms else { - sender.sendMessage(ChatColor.RED + plugin.getConfig().getString("permissionMessage")); + sender.sendMessage(ChatColor.RED + PluginManager.getPlugin().getConfig().getString("permissionMessage")); } return true; } |