From 15b2fdc7ef682f511c795e5f7ea1d84762fca858 Mon Sep 17 00:00:00 2001 From: Stanislav Usenkov Date: Thu, 4 Aug 2016 19:08:41 +0700 Subject: [PATCH] Better ingame debug and comments in config.yml. --- .../Bukkit/BukkitPermissionManager.java | 16 +++++++++++---- .../Bukkit/Commands/BukkitCommands.java | 18 +++++++++-------- .../rscPermissions/Engine/Phrases.java | 2 ++ src/main/resources/config.yml | 20 +++++++++++++++++++ src/main/resources/languages/english.yml | 2 ++ src/main/resources/languages/russian.yml | 2 ++ 6 files changed, 48 insertions(+), 12 deletions(-) diff --git a/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPermissionManager.java b/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPermissionManager.java index 62c6656..3b6a5fb 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPermissionManager.java +++ b/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPermissionManager.java @@ -17,6 +17,7 @@ import ru.simsonic.rscMinecraftLibrary.Bukkit.GenericChatCodes; import ru.simsonic.rscMinecraftLibrary.Bukkit.Tools; import ru.simsonic.rscPermissions.API.Settings; import ru.simsonic.rscPermissions.BukkitPluginMain; +import ru.simsonic.rscPermissions.Engine.Phrases; import ru.simsonic.rscPermissions.Engine.ResolutionParams; import ru.simsonic.rscPermissions.Engine.ResolutionResult; @@ -124,10 +125,17 @@ public class BukkitPermissionManager extends RestartableThread player.setOp(asterisk != null ? asterisk : false); // Show debugging information if(isDebugging(player)) - player.sendMessage(GenericChatCodes.processStringStatic(Settings.CHAT_PREFIX - + "[DEBUG] Inheritances list: {_LG}" + Arrays.toString(result.getDeorderedGroups()) - + "{_LS}; you have total {_LG}" + attachment.getPermissions().size() - + "{_LS} permissions.")); + { + final String groupList = "{_LG}" + GenericChatCodes.glue(result.getDeorderedGroups(), "{_LS}, {_LG}") + "{_LS}"; + final String permsSize = String.valueOf(attachment.getPermissions().size()); + final String[] lines = new String[] + { + Phrases.DEBUG_INGAME_1.toString().replace("{:PARENTS}", groupList), + Phrases.DEBUG_INGAME_2.toString().replace("{:PERMISSIONS}", permsSize), + }; + for(String line : lines) + player.sendMessage(GenericChatCodes.processStringStatic(Settings.CHAT_PREFIX + line)); + } } }); } diff --git a/src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/BukkitCommands.java b/src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/BukkitCommands.java index a343dc5..a528110 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/BukkitCommands.java +++ b/src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/BukkitCommands.java @@ -94,26 +94,28 @@ public class BukkitCommands help.addAll(Tools.getPluginWelcome(rscp, Phrases.HELP_HEADER_1.toString())); if(isLocker) help.add(Phrases.HELP_HEADER_2.toString().replace("{:SERVERID}", rscp.getServer().getServerId())); - if(args.length == 0) - throw new CommandAnswerException(help); final String mmode = rscp.settings.getMaintenanceMode(); if(isLocker && !"".equals(mmode)) help.add(Phrases.HELP_HEADER_3.toString().replace("{:MMODE}", mmode)); + if(args.length == 0) + throw new CommandAnswerException(help); + // Generating full help page help.add(Phrases.HELP_USAGE.toString()); if(isAdmin) - { help.addAll(cmdEntity.getHelp()); + if(isLocker) + { + help.add(Phrases.HELP_CMD_LOCK.toString()); + help.add(Phrases.HELP_CMD_UNLOCK.toString()); + } + if(isAdmin) + { help.add("{_YL}/rscp {_LR}examplerows {_LS}- insert some fake rows into database"); help.add("{_YL}/rscp {_LR}import pex-sql {_LS}- import data from pex's database (in the same schema)"); help.add(Phrases.HELP_CMD_DEBUG.toString()); help.add(Phrases.HELP_CMD_FETCH.toString()); help.add(Phrases.HELP_CMD_RELOAD.toString()); } - if(isLocker) - { - help.add(Phrases.HELP_CMD_LOCK.toString()); - help.add(Phrases.HELP_CMD_UNLOCK.toString()); - } help.add(Phrases.HELP_CMD_HELP.toString()); switch(args[0].toLowerCase()) { diff --git a/src/main/java/ru/simsonic/rscPermissions/Engine/Phrases.java b/src/main/java/ru/simsonic/rscPermissions/Engine/Phrases.java index f3a4c06..d2b49fd 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Engine/Phrases.java +++ b/src/main/java/ru/simsonic/rscPermissions/Engine/Phrases.java @@ -33,6 +33,8 @@ public enum Phrases INTEGRATION_R_N ("integration.residence-no"), DEBUG_ON ("debug.enable"), DEBUG_OFF ("debug.disable"), + DEBUG_INGAME_1 ("debug.ingame-1"), + DEBUG_INGAME_2 ("debug.ingame-2"), FETCHED_ANSWER ("database.command-answer"), FETCHED_LOCAL_CACHE("database.fetched-local"), FETCHED_REMOTE_DB ("database.fetched-remote"), diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index 0899bb5..2d81f54 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -1,28 +1,48 @@ settings: + # We have english and russian languages out of the box. language: english + # Default group for players not in database (prototyping like 'Group.Instance' is allowed) default-group: Default + # Should default group be applied for players that explicitly have other group? always-inherit-default-group: true + # Should group with empty prefix(suffix) inherit concatenation of parent prefixes(suffixes)? groups-inherit-parent-prefixes: true + # Should the permission '*' be treated as server operator status? + # Plugin will set and remove OPs automatically. treat-asterisk-as-op: true + # How often should plugin reload database contents into local cache. auto-reload-delay-sec: 900 + # How ofter should plugin check if player has moved between different regions. region-finder-thread-granularity-msec: 1000 + # Please provide here desired MySQL connections details connection: database: localhost:3306/minecraft username: user1 password: pass1 prefixes: rscp_ + # Optional integration with plugins which can provide region(area) names for us. integration: + # Use WorldGuard (v6+) as region provider? worldguard: true + # Use Residence (v3+) as region provider? residence: true + # Send statistics to mcstats.org? use-metrics: true + # Named limits for entering server when there few slots are free. + # Non-positive values are skipped. slot-limits: administrators: 5 premium: 25 + # Currently enabled maintenance mode (empty means disabled) maintenance-mode: '' + # Customizable texts for maintenance modes maintenances: + # Maintenance mode caption ('default' is used when specified caption cannot be found) default: ping-motd: '{_LR}Maintenance mode' kick-online: '{_LR}Sorry! Server is going into maintenance mode.' block-join: '{_LR}You are not allowed to enter when maintenance is on.' + +# Please don't tough it internal: version: 4 diff --git a/src/main/resources/languages/english.yml b/src/main/resources/languages/english.yml index 9743fde..6593487 100644 --- a/src/main/resources/languages/english.yml +++ b/src/main/resources/languages/english.yml @@ -21,6 +21,8 @@ integration: debug: enable: "You will see a lot of debugging information now." disable: "Debugging information is now hidden for you." + ingame-1: "{_WH}[DEBUG]{_R}{_LS} Your parent groups: {_LG}{:PARENTS}{_LS}." + ingame-2: "{_WH}[DEBUG]{_R}{_LS} Now you have total {_LG}{:PERMISSIONS}{_LS} permissions." database: command-answer: "Tables have been fetched." fetched-local: "{_LG}Loaded {:E} entity, {:P} permission and {:I} inheritance rows from local cache." diff --git a/src/main/resources/languages/russian.yml b/src/main/resources/languages/russian.yml index 98939b7..44ac0f8 100644 --- a/src/main/resources/languages/russian.yml +++ b/src/main/resources/languages/russian.yml @@ -21,6 +21,8 @@ integration: debug: enable: "Теперь Вы будете видеть отладочную информацию." disable: "Отладочная информация теперь скрыта от Вас." + ingame-1: "{_WH}[DEBUG]{_R}{_LS} Группы, в которые Вы входите: {_LG}{:PARENTS}{_LS}." + ingame-2: "{_WH}[DEBUG]{_R}{_LS} Всего у Вас {_LG}{:PERMISSIONS}{_LS} прав." database: command-answer: "База данных перечитана." fetched-local: "{_LG}Восстановлено {:E} сущностей, {:P} прав и {:I} наследований."