From faad91849d6e244c4a95b5288a778f67af8831c7 Mon Sep 17 00:00:00 2001 From: ElgarL Date: Mon, 28 Jan 2013 04:13:16 +0000 Subject: Add support for BukkitForge using 'overworld' as the main world name. --- .../dataholder/worlds/WorldsHolder.java | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'EssentialsGroupManager/src/org/anjocaido') diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java index 12a6a5150..2661c6bc0 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/dataholder/worlds/WorldsHolder.java @@ -477,14 +477,22 @@ public class WorldsHolder { private void verifyFirstRun() { - Properties server = new Properties(); - try { - server.load(new FileInputStream(new File("server.properties"))); - serverDefaultWorldName = server.getProperty("level-name").toLowerCase(); - setupWorldFolder(serverDefaultWorldName); - } catch (IOException ex) { - GroupManager.logger.log(Level.SEVERE, null, ex); + /* Do not use the folder name if this + * is a Bukkit Forge server. + */ + if (plugin.getServer().getName().equalsIgnoreCase("BukkitForge")) { + serverDefaultWorldName = "overworld"; + + } else { + Properties server = new Properties(); + try { + server.load(new FileInputStream(new File("server.properties"))); + serverDefaultWorldName = server.getProperty("level-name").toLowerCase(); + } catch (IOException ex) { + GroupManager.logger.log(Level.SEVERE, null, ex); + } } + setupWorldFolder(serverDefaultWorldName); } -- cgit v1.2.3 From 9e4493fbb42b044f74d4ca08dec880fb63522593 Mon Sep 17 00:00:00 2001 From: ElgarL Date: Tue, 29 Jan 2013 16:14:24 +0000 Subject: Prevent '*' permissions granting the 'groupmanager.noofflineperm' permission. --- .../org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java | 2 ++ 1 file changed, 2 insertions(+) (limited to 'EssentialsGroupManager/src/org/anjocaido') diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java index 7396f3f70..a221c56a2 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/permissions/AnjoPermissionsHandler.java @@ -172,6 +172,8 @@ public class AnjoPermissionsHandler extends PermissionsReaderInterface { permArray.addAll(GroupManager.BukkitPermissions.getAllRegisteredPermissions(includeChildren)); allPerms = true; perms.remove("*"); + // Remove the no offline perms node as this should not be given. + perms.remove("groupmanager.noofflineperms"); } for (String perm : perms) { -- cgit v1.2.3 From 7fc4a75d4dc059de7da144e64f3bc5550a946096 Mon Sep 17 00:00:00 2001 From: ElgarL Date: Tue, 29 Jan 2013 16:33:20 +0000 Subject: Added '/mancheckw ' to inspect what permission files a world is referencing. --- .../org/anjocaido/groupmanager/GroupManager.java | 28 +++++++++++++++++++++- .../utils/GroupManagerPermissions.java | 3 ++- 2 files changed, 29 insertions(+), 2 deletions(-) (limited to 'EssentialsGroupManager/src/org/anjocaido') diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java index 3236b9b84..9a1583d86 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java @@ -1895,7 +1895,7 @@ public class GroupManager extends JavaPlugin { case manselect: if (args.length < 1) { - sender.sendMessage(ChatColor.RED + "Review your arguments count! (/ )"); + sender.sendMessage(ChatColor.RED + "Review your arguments count! (/manselect )"); sender.sendMessage(ChatColor.YELLOW + "Worlds available: "); ArrayList worlds = worldsHolder.allWorldsDataList(); auxString = ""; @@ -1935,6 +1935,32 @@ public class GroupManager extends JavaPlugin { sender.sendMessage(ChatColor.YELLOW + "You have removed your world selection. Working with current world(if possible)."); return true; + + case mancheckw: + if (args.length < 1) { + sender.sendMessage(ChatColor.RED + "Review your arguments count! (/mancheckw )"); + sender.sendMessage(ChatColor.YELLOW + "Worlds available: "); + ArrayList worlds = worldsHolder.allWorldsDataList(); + auxString = ""; + for (int i = 0; i < worlds.size(); i++) { + auxString += worlds.get(i).getName(); + if ((i + 1) < worlds.size()) { + auxString += ", "; + } + } + sender.sendMessage(ChatColor.YELLOW + auxString); + return false; + } + + + dataHolder = worldsHolder.getWorldData(auxString); + + sender.sendMessage(ChatColor.YELLOW + "You have selected world '" + dataHolder.getName() + "'."); + sender.sendMessage(ChatColor.YELLOW + "This world is using the following data files.."); + sender.sendMessage(ChatColor.YELLOW + "Groups: " + dataHolder.getGroupsFile().getAbsolutePath()); + sender.sendMessage(ChatColor.YELLOW + "Users: " + dataHolder.getUsersFile().getAbsolutePath()); + + return true; default: break; diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/GroupManagerPermissions.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/GroupManagerPermissions.java index 4a7298b9c..020e4c6f1 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/GroupManagerPermissions.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/utils/GroupManagerPermissions.java @@ -49,5 +49,6 @@ public enum GroupManagerPermissions { mantogglesave, manworld, manselect, - manclear + manclear, + mancheckw } -- cgit v1.2.3 From 6ea956b11c54f7247e82a2dcb1385670c481e2cc Mon Sep 17 00:00:00 2001 From: ElgarL Date: Tue, 29 Jan 2013 16:56:03 +0000 Subject: Doh, actually find what world we want to check properly with mancheckw. --- .../src/org/anjocaido/groupmanager/GroupManager.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'EssentialsGroupManager/src/org/anjocaido') diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java index 9a1583d86..050bd9995 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java @@ -1952,7 +1952,17 @@ public class GroupManager extends JavaPlugin { return false; } - + auxString = ""; + for (int i = 0; i < args.length; i++) { + if (args[i] == null) { + logger.warning("Bukkit gave invalid arguments array! Cmd: " + cmd.getName() + " args.length: " + args.length); + return false; + } + auxString += args[i]; + if (i < (args.length - 1)) { + auxString += " "; + } + } dataHolder = worldsHolder.getWorldData(auxString); sender.sendMessage(ChatColor.YELLOW + "You have selected world '" + dataHolder.getName() + "'."); -- cgit v1.2.3 From 623ff0f6290d6cc518a9a7dcb7f301dea7e4364f Mon Sep 17 00:00:00 2001 From: Necrodoom Date: Wed, 30 Jan 2013 18:47:19 +0200 Subject: register new config setting --- .../src/org/anjocaido/groupmanager/GMConfiguration.java | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'EssentialsGroupManager/src/org/anjocaido') diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java index 4fcd0a554..e5a24258e 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GMConfiguration.java @@ -22,6 +22,7 @@ import org.yaml.snakeyaml.reader.UnicodeReader; */ public class GMConfiguration { + private boolean allowCommandBlocks = false; private boolean opOverride = true; private boolean toggleValidate = true; private Integer saveInterval = 10; @@ -40,6 +41,7 @@ public class GMConfiguration { /* * Set defaults */ + allowCommandBlocks = false; opOverride = true; toggleValidate = true; saveInterval = 10; @@ -83,6 +85,7 @@ public class GMConfiguration { try { Map config = getElement("config", getElement("settings", GMconfig)); + allowCommandBlocks = (Boolean) config.get("allow_commandblocks"); opOverride = (Boolean) config.get("opOverrides"); toggleValidate = (Boolean) config.get("validate_toggle"); @@ -142,6 +145,10 @@ public class GMConfiguration { return (Map) map.get(element); } + public boolean isAllowCommandBlocks() { + + return allowCommandBlocks; + } public boolean isOpOverride() { @@ -183,4 +190,4 @@ public class GMConfiguration { } -} \ No newline at end of file +} -- cgit v1.2.3 From 4167dd25903d6bf75f6f84d919d088532a9c2fe3 Mon Sep 17 00:00:00 2001 From: Necrodoom Date: Wed, 30 Jan 2013 18:53:40 +0200 Subject: add allow commandblock check --- .../src/org/anjocaido/groupmanager/GroupManager.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'EssentialsGroupManager/src/org/anjocaido') diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java index 050bd9995..b99bebf63 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java @@ -387,10 +387,11 @@ public class GroupManager extends JavaPlugin { Group senderGroup = null; User senderUser = null; boolean isOpOverride = config.isOpOverride(); + boolean isAllowCommandBlocks = config.isAllowCommandBlocks(); // PREVENT GM COMMANDS BEING USED ON COMMANDBLOCKS - if (sender instanceof BlockCommandSender) { - sender.sendMessage(ChatColor.RED + "GM Commands can not be called from CommandBlocks"); + if (sender instanceof BlockCommandSender && !isAllowCommandBlocks) { + console.sendMessage(ChatColor.RED + "GM Commands can not be called from CommandBlocks"); return true; } -- cgit v1.2.3 From 738ded7ae5ca9d9990ca2298cac3f91b6768665e Mon Sep 17 00:00:00 2001 From: Necrodoom Date: Wed, 30 Jan 2013 19:25:35 +0200 Subject: update commandblock usage deny message --- .../src/org/anjocaido/groupmanager/GroupManager.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'EssentialsGroupManager/src/org/anjocaido') diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java index b99bebf63..4a9b65317 100644 --- a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java +++ b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java @@ -391,7 +391,8 @@ public class GroupManager extends JavaPlugin { // PREVENT GM COMMANDS BEING USED ON COMMANDBLOCKS if (sender instanceof BlockCommandSender && !isAllowCommandBlocks) { - console.sendMessage(ChatColor.RED + "GM Commands can not be called from CommandBlocks"); + Block block = ((BlockCommandSender)sender).getBlock(); + console.sendMessage(ChatColor.RED + "GM Commands can not be called from CommandBlock at location:" + ChatColor.GREEN + " " + block.getX + ", " + block.getY + ", " + block.getZ); return true; } @@ -400,7 +401,7 @@ public class GroupManager extends JavaPlugin { senderPlayer = (Player) sender; 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 + "" + ChatColor.RED + " and then try a '/manload'."); + GroupManager.logger.warning(ChatColor.RED + "All commands are locked due to an error. " + ChatColor.BOLD + "" + ChatColor.UNDERLINE + "Check the log" + ChatColor.RESET + "" + ChatColor.RED + " and then try a '/manload'."); return true; } -- cgit v1.2.3 From df0ccb58329de6a65c786996fdd70ec173846eaf Mon Sep 17 00:00:00 2001 From: ElgarL Date: Wed, 30 Jan 2013 19:55:38 +0000 Subject: Fix Necrodooms broken code. --- .../src/org/anjocaido/groupmanager/GroupManager.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'EssentialsGroupManager/src/org/anjocaido') diff --git a/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java b/EssentialsGroupManager/src/org/anjocaido/groupmanager/GroupManager.java index 4a9b65317..a7b072145 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.block.Block; import org.bukkit.command.BlockCommandSender; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; @@ -392,7 +393,7 @@ public class GroupManager extends JavaPlugin { // PREVENT GM COMMANDS BEING USED ON COMMANDBLOCKS if (sender instanceof BlockCommandSender && !isAllowCommandBlocks) { Block block = ((BlockCommandSender)sender).getBlock(); - console.sendMessage(ChatColor.RED + "GM Commands can not be called from CommandBlock at location:" + ChatColor.GREEN + " " + block.getX + ", " + block.getY + ", " + block.getZ); + GroupManager.logger.warning(ChatColor.RED + "GM Commands can not be called from the CommandBlock at location: " + ChatColor.GREEN + block.getWorld().getName() + " - " + block.getX() + ", " + block.getY() + ", " + block.getZ()); return true; } -- cgit v1.2.3