From 08189436cff46ecd50979bc0d70a3ccf026ec00d Mon Sep 17 00:00:00 2001 From: Myles <43725835+MylesAndMore@users.noreply.github.com> Date: Thu, 8 Dec 2022 18:28:46 +0000 Subject: add autostart config and command --- .../MylesAndMore/tumble/commands/SetAutoStart.java | 79 ++++++++++++++++++++++ 1 file changed, 79 insertions(+) create mode 100644 src/main/java/com/MylesAndMore/tumble/commands/SetAutoStart.java (limited to 'src/main/java/com/MylesAndMore/tumble/commands/SetAutoStart.java') 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; + } +} -- cgit v1.2.3 From 2d7de58b65fb7ecdd7c784707dbe2a39fa3d6e27 Mon Sep 17 00:00:00 2001 From: Myles Date: Thu, 8 Dec 2022 20:04:41 -0600 Subject: fix (most of) the bugs --- .../MylesAndMore/tumble/commands/SetAutoStart.java | 41 ++++++++++++++++------ 1 file changed, 30 insertions(+), 11 deletions(-) (limited to 'src/main/java/com/MylesAndMore/tumble/commands/SetAutoStart.java') diff --git a/src/main/java/com/MylesAndMore/tumble/commands/SetAutoStart.java b/src/main/java/com/MylesAndMore/tumble/commands/SetAutoStart.java index d64573c..0dcb4d9 100644 --- a/src/main/java/com/MylesAndMore/tumble/commands/SetAutoStart.java +++ b/src/main/java/com/MylesAndMore/tumble/commands/SetAutoStart.java @@ -1,6 +1,7 @@ package com.MylesAndMore.tumble.commands; import com.MylesAndMore.tumble.TumbleManager; +import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; @@ -16,30 +17,36 @@ public class SetAutoStart implements CommandExecutor{ // 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) { + // Check the player # argument and parse it into an int + int args0; + try { + args0 = Integer.parseInt(args[0]); + } catch (NumberFormatException nfe){ + sender.sendMessage(ChatColor.RED + "Player amount must be a valid number."); + return true; + } catch (Exception e){ + sender.sendMessage(ChatColor.RED + "Invalid player amount."); + return true; + } // 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().getConfig().set("autoStart.enabled", true); TumbleManager.getPlugin().saveConfig(); + sender.sendMessage(ChatColor.GREEN + "Configuration saved!"); + sender.sendMessage(ChatColor.GREEN + "Run " + ChatColor.GRAY + "/tumble:reload " + ChatColor.GREEN + "the changes to take effect."); } else if (Objects.equals(args[1], "disable")) { TumbleManager.getPlugin().getConfig().set("autoStart.players", args0); - TumbleManager.getPlugin().getConfig().set("autoStart.enabled", args[1]); + TumbleManager.getPlugin().getConfig().set("autoStart.enabled", false); TumbleManager.getPlugin().saveConfig(); + sender.sendMessage(ChatColor.GREEN + "Configuration saved!"); + sender.sendMessage(ChatColor.GREEN + "Run " + ChatColor.GRAY + "/tumble:reload " + ChatColor.GREEN + "the changes to take effect."); } else { return false; @@ -51,9 +58,21 @@ public class SetAutoStart implements CommandExecutor{ } else if (args.length == 1) { // Only PlayerAmount was entered + int args0; + try { + args0 = Integer.parseInt(args[0]); + } catch (NumberFormatException nfe){ + sender.sendMessage(ChatColor.RED + "Player amount must be a valid number."); + return true; + } catch (Exception e){ + sender.sendMessage(ChatColor.RED + "Invalid player amount."); + return true; + } if ((args0 >= 2) && (args0 <= 8)) { TumbleManager.getPlugin().getConfig().set("autoStart.players", args0); TumbleManager.getPlugin().saveConfig(); + sender.sendMessage(ChatColor.GREEN + "Configuration saved!"); + sender.sendMessage(ChatColor.GREEN + "Run " + ChatColor.GRAY + "/tumble:reload " + ChatColor.GREEN + "the changes to take effect."); } else { sender.sendMessage(ChatColor.RED + "Please enter a player amount between two and eight!"); -- cgit v1.2.3 From 074bd245939ae6cd29d5e2a55840fdecc512716e Mon Sep 17 00:00:00 2001 From: Myles <43725835+MylesAndMore@users.noreply.github.com> Date: Fri, 9 Dec 2022 17:33:51 +0000 Subject: start on the clump generation --- src/main/java/com/MylesAndMore/tumble/commands/SetAutoStart.java | 1 - 1 file changed, 1 deletion(-) (limited to 'src/main/java/com/MylesAndMore/tumble/commands/SetAutoStart.java') diff --git a/src/main/java/com/MylesAndMore/tumble/commands/SetAutoStart.java b/src/main/java/com/MylesAndMore/tumble/commands/SetAutoStart.java index 0dcb4d9..4b97d9a 100644 --- a/src/main/java/com/MylesAndMore/tumble/commands/SetAutoStart.java +++ b/src/main/java/com/MylesAndMore/tumble/commands/SetAutoStart.java @@ -1,7 +1,6 @@ package com.MylesAndMore.tumble.commands; import com.MylesAndMore.tumble.TumbleManager; -import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; -- cgit v1.2.3