diff --git a/src/config.yml b/src/config.yml index 3e5c8aa6..f29a9a95 100644 --- a/src/config.yml +++ b/src/config.yml @@ -53,3 +53,12 @@ flatlands_generation_params: 16,stone,32,dirt,1,grass # Admin-Only Mode admin_only_mode: false + +# SuperUsers; telnet users who have the permissions for certain high-profile commands (/doom, /lockup, ect) +superuser_names: + - markbyron + - mark + - madgeek1450 + - madgeek + - darthsalamon + - darth diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_doom.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_doom.java index 7aa70675..8b8408bf 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_doom.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_doom.java @@ -1,7 +1,5 @@ package me.StevenLawson.TotalFreedomMod.Commands; -import java.util.Arrays; -import java.util.List; import me.StevenLawson.TotalFreedomMod.TFM_Util; import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.ChatColor; @@ -12,18 +10,10 @@ import org.bukkit.entity.Player; public class Command_doom extends TFM_Command { - public final static List ALLOWED_USERS = Arrays.asList( - "madgeek", - "darth", - "madgeek1450", - "mark", - "markbyron", - "darthsalamon"); - @Override public boolean run(final CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (!(senderIsConsole && ALLOWED_USERS.contains(sender.getName().toLowerCase()))) + if (!(senderIsConsole && TotalFreedomMod.superUsers.contains(sender.getName().toLowerCase()))) { sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); return true; diff --git a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_lockup.java b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_lockup.java index f5e69ecc..d6bda7d3 100644 --- a/src/me/StevenLawson/TotalFreedomMod/Commands/Command_lockup.java +++ b/src/me/StevenLawson/TotalFreedomMod/Commands/Command_lockup.java @@ -2,6 +2,7 @@ package me.StevenLawson.TotalFreedomMod.Commands; import java.util.Random; import me.StevenLawson.TotalFreedomMod.TFM_UserInfo; +import me.StevenLawson.TotalFreedomMod.TFM_Util; import me.StevenLawson.TotalFreedomMod.TotalFreedomMod; import org.bukkit.ChatColor; import org.bukkit.Location; @@ -15,7 +16,7 @@ public class Command_lockup extends TFM_Command @Override public boolean run(CommandSender sender, Player sender_p, Command cmd, String commandLabel, String[] args, boolean senderIsConsole) { - if (!senderIsConsole) + if (!(senderIsConsole && TotalFreedomMod.superUsers.contains(sender.getName().toLowerCase()))) { sender.sendMessage(TotalFreedomMod.MSG_NO_PERMS); return true; @@ -25,19 +26,22 @@ public class Command_lockup extends TFM_Command { if (args[0].equalsIgnoreCase("all")) { + TFM_Util.adminAction(sender.getName(), "Locking up all players", true); + for (Player p : server.getOnlinePlayers()) { startLockup(p); } - sender.sendMessage(ChatColor.GRAY + "Locking up all players."); + TFM_Util.playerMsg(sender, "Locked up all players."); } else if (args[0].equalsIgnoreCase("purge")) { + TFM_Util.adminAction(sender.getName(), "Unlocking all players", true); for (Player p : server.getOnlinePlayers()) { cancelLockup(p); } - sender.sendMessage(ChatColor.GRAY + "Not locking up all players."); + TFM_Util.playerMsg(sender, "Unlocked all players."); } else { @@ -59,8 +63,9 @@ public class Command_lockup extends TFM_Command return true; } + TFM_Util.adminAction(sender.getName(), "Locking up " + p.getName(), true); startLockup(p); - sender.sendMessage(ChatColor.GRAY + "Locking up " + p.getName()); + TFM_Util.playerMsg(sender, "Locked up " + p.getName() + "."); } else if (args[1].equalsIgnoreCase("off")) { @@ -75,8 +80,9 @@ public class Command_lockup extends TFM_Command return true; } + TFM_Util.adminAction(sender.getName(), "Unlocking " + p.getName(), true); cancelLockup(p); - sender.sendMessage(ChatColor.GRAY + "Not locking up " + p.getName() + " anymore."); + TFM_Util.playerMsg(sender, "Unlocked " + p.getName() + "."); } else { diff --git a/src/me/StevenLawson/TotalFreedomMod/TotalFreedomMod.java b/src/me/StevenLawson/TotalFreedomMod/TotalFreedomMod.java index 13e961c4..a20122ec 100644 --- a/src/me/StevenLawson/TotalFreedomMod/TotalFreedomMod.java +++ b/src/me/StevenLawson/TotalFreedomMod/TotalFreedomMod.java @@ -3,12 +3,15 @@ package me.StevenLawson.TotalFreedomMod; import java.io.File; import java.io.InputStream; import java.util.*; + import me.StevenLawson.TotalFreedomMod.Commands.TFM_Command; import me.StevenLawson.TotalFreedomMod.Listener.TFM_BlockListener; import me.StevenLawson.TotalFreedomMod.Listener.TFM_EntityListener; import me.StevenLawson.TotalFreedomMod.Listener.TFM_PlayerListener; import me.StevenLawson.TotalFreedomMod.Listener.TFM_WeatherListener; + import org.apache.commons.lang.exception.ExceptionUtils; + import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.Server; @@ -185,11 +188,24 @@ public class TotalFreedomMod extends JavaPlugin public static String flatlandsGenerationParams = "16,stone,32,dirt,1,grass"; public static boolean allowFliudSpread = false; public static boolean adminOnlyMode = false; + public static String[] tempArray = + { + "markbyron", + "mark", + "madgeek1450", + "madgeek", + "darthsalamon", + "darth" + }; + + public static List superUsers = Arrays.asList(tempArray); public void loadMainConfig() { try { + tempArray = null; + TFM_Util.createDefaultConfiguration(CONFIG_FILE, getFile()); FileConfiguration config = YamlConfiguration.loadConfiguration(new File(getDataFolder(), CONFIG_FILE)); @@ -222,6 +238,7 @@ public class TotalFreedomMod extends JavaPlugin flatlandsGenerationParams = config.getString("flatlands_generation_params", flatlandsGenerationParams); allowFliudSpread = config.getBoolean("allow_fluid_spread", allowFliudSpread); adminOnlyMode = config.getBoolean("admin_only_mode", adminOnlyMode); + superUsers = config.getStringList("superuser_names"); } catch (Exception ex) {