Browse Source

Better ingame debug and comments in config.yml.

master
Stanislav Usenkov 9 years ago
parent
commit
15b2fdc7ef
  1. 16
      src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPermissionManager.java
  2. 18
      src/main/java/ru/simsonic/rscPermissions/Bukkit/Commands/BukkitCommands.java
  3. 2
      src/main/java/ru/simsonic/rscPermissions/Engine/Phrases.java
  4. 20
      src/main/resources/config.yml
  5. 2
      src/main/resources/languages/english.yml
  6. 2
      src/main/resources/languages/russian.yml

16
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.rscMinecraftLibrary.Bukkit.Tools;
import ru.simsonic.rscPermissions.API.Settings; import ru.simsonic.rscPermissions.API.Settings;
import ru.simsonic.rscPermissions.BukkitPluginMain; import ru.simsonic.rscPermissions.BukkitPluginMain;
import ru.simsonic.rscPermissions.Engine.Phrases;
import ru.simsonic.rscPermissions.Engine.ResolutionParams; import ru.simsonic.rscPermissions.Engine.ResolutionParams;
import ru.simsonic.rscPermissions.Engine.ResolutionResult; import ru.simsonic.rscPermissions.Engine.ResolutionResult;
@ -124,10 +125,17 @@ public class BukkitPermissionManager extends RestartableThread
player.setOp(asterisk != null ? asterisk : false); player.setOp(asterisk != null ? asterisk : false);
// Show debugging information // Show debugging information
if(isDebugging(player)) if(isDebugging(player))
player.sendMessage(GenericChatCodes.processStringStatic(Settings.CHAT_PREFIX {
+ "[DEBUG] Inheritances list: {_LG}" + Arrays.toString(result.getDeorderedGroups()) final String groupList = "{_LG}" + GenericChatCodes.glue(result.getDeorderedGroups(), "{_LS}, {_LG}") + "{_LS}";
+ "{_LS}; you have total {_LG}" + attachment.getPermissions().size() final String permsSize = String.valueOf(attachment.getPermissions().size());
+ "{_LS} permissions.")); 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));
}
} }
}); });
} }

18
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())); help.addAll(Tools.getPluginWelcome(rscp, Phrases.HELP_HEADER_1.toString()));
if(isLocker) if(isLocker)
help.add(Phrases.HELP_HEADER_2.toString().replace("{:SERVERID}", rscp.getServer().getServerId())); 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(); final String mmode = rscp.settings.getMaintenanceMode();
if(isLocker && !"".equals(mmode)) if(isLocker && !"".equals(mmode))
help.add(Phrases.HELP_HEADER_3.toString().replace("{:MMODE}", 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()); help.add(Phrases.HELP_USAGE.toString());
if(isAdmin) if(isAdmin)
{
help.addAll(cmdEntity.getHelp()); 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}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("{_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_DEBUG.toString());
help.add(Phrases.HELP_CMD_FETCH.toString()); help.add(Phrases.HELP_CMD_FETCH.toString());
help.add(Phrases.HELP_CMD_RELOAD.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()); help.add(Phrases.HELP_CMD_HELP.toString());
switch(args[0].toLowerCase()) switch(args[0].toLowerCase())
{ {

2
src/main/java/ru/simsonic/rscPermissions/Engine/Phrases.java

@ -33,6 +33,8 @@ public enum Phrases
INTEGRATION_R_N ("integration.residence-no"), INTEGRATION_R_N ("integration.residence-no"),
DEBUG_ON ("debug.enable"), DEBUG_ON ("debug.enable"),
DEBUG_OFF ("debug.disable"), DEBUG_OFF ("debug.disable"),
DEBUG_INGAME_1 ("debug.ingame-1"),
DEBUG_INGAME_2 ("debug.ingame-2"),
FETCHED_ANSWER ("database.command-answer"), FETCHED_ANSWER ("database.command-answer"),
FETCHED_LOCAL_CACHE("database.fetched-local"), FETCHED_LOCAL_CACHE("database.fetched-local"),
FETCHED_REMOTE_DB ("database.fetched-remote"), FETCHED_REMOTE_DB ("database.fetched-remote"),

20
src/main/resources/config.yml

@ -1,28 +1,48 @@
settings: settings:
# We have english and russian languages out of the box.
language: english language: english
# Default group for players not in database (prototyping like 'Group.Instance' is allowed)
default-group: Default default-group: Default
# Should default group be applied for players that explicitly have other group?
always-inherit-default-group: true always-inherit-default-group: true
# Should group with empty prefix(suffix) inherit concatenation of parent prefixes(suffixes)?
groups-inherit-parent-prefixes: true 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 treat-asterisk-as-op: true
# How often should plugin reload database contents into local cache.
auto-reload-delay-sec: 900 auto-reload-delay-sec: 900
# How ofter should plugin check if player has moved between different regions.
region-finder-thread-granularity-msec: 1000 region-finder-thread-granularity-msec: 1000
# Please provide here desired MySQL connections details
connection: connection:
database: localhost:3306/minecraft database: localhost:3306/minecraft
username: user1 username: user1
password: pass1 password: pass1
prefixes: rscp_ prefixes: rscp_
# Optional integration with plugins which can provide region(area) names for us.
integration: integration:
# Use WorldGuard (v6+) as region provider?
worldguard: true worldguard: true
# Use Residence (v3+) as region provider?
residence: true residence: true
# Send statistics to mcstats.org?
use-metrics: true use-metrics: true
# Named limits for entering server when there few slots are free.
# Non-positive values are skipped.
slot-limits: slot-limits:
administrators: 5 administrators: 5
premium: 25 premium: 25
# Currently enabled maintenance mode (empty means disabled)
maintenance-mode: '' maintenance-mode: ''
# Customizable texts for maintenance modes
maintenances: maintenances:
# Maintenance mode caption ('default' is used when specified caption cannot be found)
default: default:
ping-motd: '{_LR}Maintenance mode' ping-motd: '{_LR}Maintenance mode'
kick-online: '{_LR}Sorry! Server is going into 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.' block-join: '{_LR}You are not allowed to enter when maintenance is on.'
# Please don't tough it
internal: internal:
version: 4 version: 4

2
src/main/resources/languages/english.yml

@ -21,6 +21,8 @@ integration:
debug: debug:
enable: "You will see a lot of debugging information now." enable: "You will see a lot of debugging information now."
disable: "Debugging information is now hidden for you." 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: database:
command-answer: "Tables have been fetched." command-answer: "Tables have been fetched."
fetched-local: "{_LG}Loaded {:E} entity, {:P} permission and {:I} inheritance rows from local cache." fetched-local: "{_LG}Loaded {:E} entity, {:P} permission and {:I} inheritance rows from local cache."

2
src/main/resources/languages/russian.yml

@ -21,6 +21,8 @@ integration:
debug: debug:
enable: "Теперь Вы будете видеть отладочную информацию." enable: "Теперь Вы будете видеть отладочную информацию."
disable: "Отладочная информация теперь скрыта от Вас." disable: "Отладочная информация теперь скрыта от Вас."
ingame-1: "{_WH}[DEBUG]{_R}{_LS} Группы, в которые Вы входите: {_LG}{:PARENTS}{_LS}."
ingame-2: "{_WH}[DEBUG]{_R}{_LS} Всего у Вас {_LG}{:PERMISSIONS}{_LS} прав."
database: database:
command-answer: "База данных перечитана." command-answer: "База данных перечитана."
fetched-local: "{_LG}Восстановлено {:E} сущностей, {:P} прав и {:I} наследований." fetched-local: "{_LG}Восстановлено {:E} сущностей, {:P} прав и {:I} наследований."

Loading…
Cancel
Save