aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMyles <mylesandmore9@gmail.com>2022-11-26 19:35:20 -0600
committerMyles <mylesandmore9@gmail.com>2022-11-26 19:35:20 -0600
commit051caba9c9e9d6a6c096ab9afccd9f9ec4f903dd (patch)
treee63255609b431aeb7ae2cd3d86b445c199e3f5cc /src
parent482eb665acb52fe7ea9b61b1bb950b5e4e93df3f (diff)
downloadTumble-051caba9c9e9d6a6c096ab9afccd9f9ec4f903dd.tar.gz
Tumble-051caba9c9e9d6a6c096ab9afccd9f9ec4f903dd.tar.bz2
Tumble-051caba9c9e9d6a6c096ab9afccd9f9ec4f903dd.zip
add PluginManager
Diffstat (limited to 'src')
-rw-r--r--src/main/java/com/MylesAndMore/tumble/EventListener.java8
-rw-r--r--src/main/java/com/MylesAndMore/tumble/PluginManager.java18
-rw-r--r--src/main/java/com/MylesAndMore/tumble/commands/ReloadCommand.java9
-rw-r--r--src/main/java/com/MylesAndMore/tumble/commands/SetWorldConfig.java29
-rw-r--r--src/main/java/com/MylesAndMore/tumble/commands/StartGame.java18
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;
}