From 237c896fffc20404635742091c29d5d9de927cd8 Mon Sep 17 00:00:00 2001 From: ElgarL Date: Sun, 11 Nov 2012 20:39:03 +0000 Subject: Add support for Rcon. --- EssentialsGroupManager/src/Changelog.txt | 3 ++- .../src/org/anjocaido/groupmanager/GroupManager.java | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/EssentialsGroupManager/src/Changelog.txt b/EssentialsGroupManager/src/Changelog.txt index 077ea9163..d11911c18 100644 --- a/EssentialsGroupManager/src/Changelog.txt +++ b/EssentialsGroupManager/src/Changelog.txt @@ -201,4 +201,5 @@ v 2.0: - Remove info node support from GlobalGroups. It should not have them as GlobalGroups are only permission collections. - Change order of data in Users.yml to [name, Group, SubGroup, Permissions, Info nodes]. - Add alphabetically sorted user lists. - - allWorldsDataList now returns fully mirrored worlds which are not identical mirrors (fixes the /manselect list). \ No newline at end of file + - allWorldsDataList now returns fully mirrored worlds which are not identical mirrors (fixes the /manselect list). + - Add support for Rcon. \ No newline at end of file diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java index d78473847..b02b2ccd6 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java @@ -37,6 +37,7 @@ import org.bukkit.OfflinePlayer; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.command.ConsoleCommandSender; +import org.bukkit.command.RemoteConsoleCommandSender; import org.bukkit.entity.Player; import org.bukkit.plugin.PluginDescriptionFile; import org.bukkit.plugin.ServicePriority; @@ -398,7 +399,7 @@ public class GroupManager extends JavaPlugin { if (isOpOverride || worldsHolder.getWorldPermissions(senderPlayer).has(senderPlayer, "groupmanager." + cmd.getName())) { playerCanDo = true; } - } else if (sender instanceof ConsoleCommandSender) { + } else if ((sender instanceof ConsoleCommandSender) || (sender instanceof RemoteConsoleCommandSender)) { if (!lastError.isEmpty() && !commandLabel.equalsIgnoreCase("manload")) { sender.sendMessage(ChatColor.RED + "All commands are locked due to an error." + ChatColor.BOLD + "" + ChatColor.UNDERLINE + "Check the log" + ChatColor.RESET + " and then try a '/manload'."); -- cgit v1.2.3 From a7aa8be37a1bd3e4432d39d2a7e7666ff2b3ca98 Mon Sep 17 00:00:00 2001 From: ElgarL Date: Sun, 11 Nov 2012 20:56:07 +0000 Subject: Prevent GM commands from being used on CommandBlocks. --- EssentialsGroupManager/src/Changelog.txt | 3 ++- .../src/org/anjocaido/groupmanager/GroupManager.java | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/EssentialsGroupManager/src/Changelog.txt b/EssentialsGroupManager/src/Changelog.txt index d11911c18..4ea195a5d 100644 --- a/EssentialsGroupManager/src/Changelog.txt +++ b/EssentialsGroupManager/src/Changelog.txt @@ -202,4 +202,5 @@ v 2.0: - Change order of data in Users.yml to [name, Group, SubGroup, Permissions, Info nodes]. - Add alphabetically sorted user lists. - allWorldsDataList now returns fully mirrored worlds which are not identical mirrors (fixes the /manselect list). - - Add support for Rcon. \ No newline at end of file + - Add support for Rcon. + - Prevent GM commands from being used on CommandBlocks. \ No newline at end of file diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java index b02b2ccd6..1f19f32bd 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java @@ -381,6 +381,12 @@ public class GroupManager extends JavaPlugin { Group senderGroup = null; User senderUser = null; boolean isOpOverride = config.isOpOverride(); + + // PREVENT GM COMMANDS BEING USED ON COMMANDBLOCKS + if (sender.getClass().getName().equals("org.bukkit.command.BlockCommandSender")) { + sender.sendMessage(ChatColor.RED + "GM Commands can not be called from CommandBlocks"); + return true; + } // DETERMINING PLAYER INFORMATION if (sender instanceof Player) { -- cgit v1.2.3 From 269cf85457362af5dfd486cdc43d652d57f6c8d7 Mon Sep 17 00:00:00 2001 From: ElgarL Date: Tue, 13 Nov 2012 10:17:15 +0000 Subject: Update bukkit.jar to #1593 in lib so we can reference the new interfaces. --- .../org/anjocaido/groupmanager/GroupManager.java | 3 ++- lib/bukkit.jar | Bin 4752091 -> 4797157 bytes 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java index 1f19f32bd..f38f91b8e 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java @@ -34,6 +34,7 @@ import org.anjocaido.groupmanager.utils.Tasks; import org.bukkit.Bukkit; import org.bukkit.ChatColor; import org.bukkit.OfflinePlayer; +import org.bukkit.command.BlockCommandSender; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.command.ConsoleCommandSender; @@ -383,7 +384,7 @@ public class GroupManager extends JavaPlugin { boolean isOpOverride = config.isOpOverride(); // PREVENT GM COMMANDS BEING USED ON COMMANDBLOCKS - if (sender.getClass().getName().equals("org.bukkit.command.BlockCommandSender")) { + if (sender instanceof BlockCommandSender) { sender.sendMessage(ChatColor.RED + "GM Commands can not be called from CommandBlocks"); return true; } diff --git a/lib/bukkit.jar b/lib/bukkit.jar index 543daac0f..4b282ee2b 100644 Binary files a/lib/bukkit.jar and b/lib/bukkit.jar differ -- cgit v1.2.3 From 1151f1a29c15527eb5867b5d4fac7203bb244772 Mon Sep 17 00:00:00 2001 From: ElgarL Date: Tue, 20 Nov 2012 14:55:06 +0000 Subject: Fix recursive error detection when partial mirroring the main world --- .../org/anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java index 92fec7737..12a6a5150 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java @@ -204,10 +204,10 @@ public class WorldsHolder { mirroredWorlds.add((String)key); } else - GroupManager.logger.log(Level.WARNING, "Mirroring error with " + (String)key + ". Recursive loop detected!"); + throw new IllegalStateException("Unknown mirroring format for " + (String)key); } else { - throw new IllegalStateException("Unknown mirroring format for " + (String)key); + GroupManager.logger.log(Level.WARNING, "Mirroring error with " + (String)key + ". Recursive loop detected!"); } } -- cgit v1.2.3