aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/com/MylesAndMore/tumble
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/MylesAndMore/tumble')
-rw-r--r--src/main/java/com/MylesAndMore/tumble/Main.java1
-rw-r--r--src/main/java/com/MylesAndMore/tumble/commands/SetAutoStart.java79
2 files changed, 80 insertions, 0 deletions
diff --git a/src/main/java/com/MylesAndMore/tumble/Main.java b/src/main/java/com/MylesAndMore/tumble/Main.java
index 04c8053..a35a519 100644
--- a/src/main/java/com/MylesAndMore/tumble/Main.java
+++ b/src/main/java/com/MylesAndMore/tumble/Main.java
@@ -15,6 +15,7 @@ public class Main extends JavaPlugin{
this.getCommand("link").setExecutor(new SetWorldConfig());
this.getCommand("start").setExecutor(new StartGame());
this.getCommand("winlocation").setExecutor(new SetWinnerLoc());
+ this.getCommand("autostart").setExecutor(new SetAutoStart());
// Save the default config file (packaged in the JAR)
this.saveDefaultConfig();
diff --git a/src/main/java/com/MylesAndMore/tumble/commands/SetAutoStart.java b/src/main/java/com/MylesAndMore/tumble/commands/SetAutoStart.java
new file mode 100644
index 0000000..d64573c
--- /dev/null
+++ b/src/main/java/com/MylesAndMore/tumble/commands/SetAutoStart.java
@@ -0,0 +1,79 @@
+package com.MylesAndMore.tumble.commands;
+
+import com.MylesAndMore.tumble.TumbleManager;
+import org.bukkit.ChatColor;
+import org.bukkit.command.Command;
+import org.bukkit.command.CommandExecutor;
+import org.bukkit.command.CommandSender;
+
+import java.util.Objects;
+
+public class SetAutoStart implements CommandExecutor{
+ @Override
+ public boolean onCommand(CommandSender sender, Command command, String label, String[] args) {
+ // Check if sender has perms to run command
+ if (sender.hasPermission("autostart")) {
+ // Check if game and lobby worlds are null
+ if (TumbleManager.getGameWorld() != null) {
+ if (TumbleManager.getLobbyWorld() != null) {
+ // Check the player # argument and parse it into an int
+ int args0 = 0;
+ try {
+ args0 = Integer.parseInt(args[0]);
+ } catch (NumberFormatException nfe){
+ sender.sendMessage(ChatColor.RED + "Player amount must be a valid number.");
+ } catch (Exception e){
+ sender.sendMessage(ChatColor.RED + "Invalid player amount.");
+ }
+ // Check the amount of args entered
+ if (args.length == 2) {
+ // PlayerAmount & enable/disable were entered
+ // Check if a playerAmount between 2-8 was entered
+ if ((args0 >= 2) && (args0 <= 8)) {
+ if (Objects.equals(args[1], "enable")) {
+ // Write values to the config
+ TumbleManager.getPlugin().getConfig().set("autoStart.players", args0);
+ TumbleManager.getPlugin().getConfig().set("autoStart.enabled", args[1]);
+ TumbleManager.getPlugin().saveConfig();
+ }
+ else if (Objects.equals(args[1], "disable")) {
+ TumbleManager.getPlugin().getConfig().set("autoStart.players", args0);
+ TumbleManager.getPlugin().getConfig().set("autoStart.enabled", args[1]);
+ TumbleManager.getPlugin().saveConfig();
+ }
+ else {
+ return false;
+ }
+ }
+ else {
+ sender.sendMessage(ChatColor.RED + "Please enter a player amount between two and eight!");
+ }
+ }
+ else if (args.length == 1) {
+ // Only PlayerAmount was entered
+ if ((args0 >= 2) && (args0 <= 8)) {
+ TumbleManager.getPlugin().getConfig().set("autoStart.players", args0);
+ TumbleManager.getPlugin().saveConfig();
+ }
+ else {
+ sender.sendMessage(ChatColor.RED + "Please enter a player amount between two and eight!");
+ }
+ }
+ else {
+ return false;
+ }
+ }
+ else {
+ sender.sendMessage(ChatColor.RED + "Please link a lobby world first!");
+ }
+ }
+ else {
+ sender.sendMessage(ChatColor.RED + "Please link a game world first!");
+ }
+ }
+ else {
+ sender.sendMessage(ChatColor.RED + TumbleManager.getPermissionMessage());
+ }
+ return true;
+ }
+}