Browse Source

Version is 0.9.13b (BETA) for now! So I see it is quite stable. Before release I have to implement the least of Vault methods.

* Attention about old WorldGuard version.
* Pretty format for debug info.
* getGroups() returns in normal letter case.
master
SimSonic 10 years ago
parent
commit
42f0afe570
  1. 2
      pom.xml
  2. 14
      src/main/java/ru/simsonic/rscPermissions/BridgeForBukkitAPI.java
  3. 7
      src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPermissionManager.java
  4. 4
      src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitRegionProviders.java
  5. 5
      src/main/java/ru/simsonic/rscPermissions/Engine/InternalCache.java
  6. 1
      src/main/java/ru/simsonic/rscPermissions/Engine/Phrases.java
  7. 1
      src/main/resources/languages/english.yml
  8. 1
      src/main/resources/languages/russian.yml

2
pom.xml

@ -4,7 +4,7 @@
<groupId>ru.simsonic</groupId>
<artifactId>rscPermissions</artifactId>
<version>0.9.12a</version>
<version>0.9.13b</version>
<packaging>jar</packaging>
<name>rscPermissions</name>

14
src/main/java/ru/simsonic/rscPermissions/BridgeForBukkitAPI.java

@ -75,10 +75,18 @@ public class BridgeForBukkitAPI
if(rscp.permissionManager.isConsoleDebugging())
{
final StringBuilder sb = new StringBuilder(Settings.chatPrefix);
sb.append("[DEBUG] An API method was invoked from the path:\n");
sb.append("[DEBUG] An API method was invoked from the path:").append(System.lineSeparator());
for(StackTraceElement ste : Thread.currentThread().getStackTrace())
if(!ste.getClassName().equals(BridgeForBukkitAPI.class.getName()))
sb.append(ste.toString()).append(System.lineSeparator());
{
final String className = ste.getClassName();
if(!className.equals(BridgeForBukkitAPI.class.getName())
&& !className.equals(Thread.class.getName())
)
sb.append(Settings.chatPrefix).append("[DEBUG] ")
.append(className.startsWith(BukkitPluginMain.class.getPackage().getName()) ? "{_LG}" : "{_LS}")
.append(ste.toString())
.append(System.lineSeparator());
}
rscp.getServer().getConsoleSender().sendMessage(GenericChatCodes.processStringStatic(sb.toString()));
}
}

7
src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPermissionManager.java

@ -1,6 +1,7 @@
package ru.simsonic.rscPermissions.Bukkit;
import java.net.InetSocketAddress;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@ -122,9 +123,9 @@ public class BukkitPermissionManager extends RestartableThread
// Show debugging information
if(isDebugging(player))
player.sendMessage(GenericChatCodes.processStringStatic(Settings.chatPrefix
+ "[DEBUG] {_DS}Inheritances list: {_LS}" + result.groups.toString()
+ "{_DS}; you have total {_LS}" + attachment.getPermissions().size()
+ "{_DS} permissions."));
+ "[DEBUG] Inheritances list: {_LG}" + Arrays.toString(result.getDeorderedGroups())
+ "{_LS}; you have total {_LG}" + attachment.getPermissions().size()
+ "{_LS} permissions."));
}
});
}

4
src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitRegionProviders.java

@ -3,6 +3,7 @@ import com.sk89q.worldguard.bukkit.WorldGuardPlugin;
import com.sk89q.worldguard.protection.ApplicableRegionSet;
import com.sk89q.worldguard.protection.managers.RegionManager;
import com.sk89q.worldguard.protection.regions.ProtectedRegion;
import java.io.Serializable;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
@ -88,7 +89,8 @@ public final class BukkitRegionProviders
final ApplicableRegionSet appregs = rman.getApplicableRegions(location);
for(ProtectedRegion region : appregs)
playerRegions.add(region.getId());
} catch(RuntimeException ex) {
} catch(RuntimeException | IncompatibleClassChangeError ex) {
BukkitPluginMain.consoleLog.info(GenericChatCodes.processStringStatic("[rscp] " + Phrases.INTEGRATION_WG_OLD.toString()));
}
// Residence
if(residence != null && residence.isEnabled())

5
src/main/java/ru/simsonic/rscPermissions/Engine/InternalCache.java

@ -304,7 +304,10 @@ public class InternalCache
}
public synchronized Set<String> getGroups()
{
return entities_g.keySet();
final HashSet<String> result = new HashSet<>(entities_g.size());
for(RowEntity row : entities_g.values())
result.add(row.entity);
return result;
}
public synchronized void clear()
{

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

@ -20,6 +20,7 @@ public enum Phrases
INTEGRATION_V_N ("integration.vault-no"),
INTEGRATION_WG_Y ("integration.worldguard-yes"),
INTEGRATION_WG_N ("integration.worldguard-no"),
INTEGRATION_WG_OLD ("integration.worldguard-old"),
INTEGRATION_R_Y ("integration.residence-yes"),
INTEGRATION_R_N ("integration.residence-no"),
DEBUG_ON ("debug.enable"),

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

@ -10,6 +10,7 @@ integration:
vault-no: "{_LR}There is no Vault found. Vault is highly recommended to be installed on your server."
worldguard-yes: "{_LG}WorldGuard was found and integrated."
worldguard-no: "{_YL}WorldGuard was not found."
worldguard-old: "{_LR}WorldGuard 5.9 or older is found, I need 6.0 or later. {_YL}Region support for WG is disabled."
residence-yes: "{_LG}Residence was found and integrated."
residence-no: "{_YL}Residence was not found."
debug:

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

@ -10,6 +10,7 @@ integration:
vault-no: "{_LR}Не удаётся найти плагин Vault. Рекомендуется его скорейшая установка."
worldguard-yes: "{_LG}WorldGuard обнаружён и подключён."
worldguard-no: "{_YL}WorldGuard не обнаружен."
worldguard-old: "{_LR}Найден WorldGuard 5.9 или старше, но для работы требуется версия 6.0 или новее. {_YL}Поддержка регионов WG будет отключена."
residence-yes: "{_LG}Residence обнаружён и подключён."
residence-no: "{_YL}Residence не обнаружен."
debug:

Loading…
Cancel
Save