diff --git a/src/main/java/ru/simsonic/rscPermissions/BridgeForBukkitAPI.java b/src/main/java/ru/simsonic/rscPermissions/BridgeForBukkitAPI.java index 2798bd1..9c33c04 100644 --- a/src/main/java/ru/simsonic/rscPermissions/BridgeForBukkitAPI.java +++ b/src/main/java/ru/simsonic/rscPermissions/BridgeForBukkitAPI.java @@ -3,6 +3,7 @@ package ru.simsonic.rscPermissions; import com.sk89q.wepif.PermissionsResolverManager; import net.milkbowl.vault.chat.Chat; import net.milkbowl.vault.permission.Permission; +import org.bukkit.ChatColor; import org.bukkit.command.ConsoleCommandSender; import org.bukkit.plugin.Plugin; import org.bukkit.plugin.ServicePriority; @@ -63,9 +64,24 @@ public final class BridgeForBukkitAPI { return this.vaultChat; } - private void setupVault() + public void sendConsoleMessage(String message) { final ConsoleCommandSender console = rscp.getServer().getConsoleSender(); + if(console == null) + { + // Decolorized chat prefix + final String dcp = ChatColor.stripColor(Settings.CHAT_PREFIX); + // Decolorize messages + message = ChatColor.stripColor(message); + // Strip prefix + if(message.startsWith(dcp)) + message = message.substring(dcp.length()); + BukkitPluginMain.consoleLog.info(message); + } else + console.sendMessage(Phrases.INTEGRATION_V_Y.toPlayer()); + } + private void setupVault() + { final Plugin plugin = rscp.getServer().getPluginManager().getPlugin("Vault"); if(plugin != null) { @@ -77,13 +93,12 @@ public final class BridgeForBukkitAPI rscp.getServer().getServicesManager().register( net.milkbowl.vault.permission.Permission.class, vaultPermission, rscp, ServicePriority.Highest); - console.sendMessage(Phrases.INTEGRATION_V_Y.toPlayer()); + sendConsoleMessage(Phrases.INTEGRATION_V_Y.toPlayer()); } else - console.sendMessage(Phrases.INTEGRATION_V_N.toPlayer()); + sendConsoleMessage(Phrases.INTEGRATION_V_N.toPlayer()); } private void setupWEPIF() { - final ConsoleCommandSender console = rscp.getServer().getConsoleSender(); final Plugin plugin = rscp.getServer().getPluginManager().getPlugin("WorldEdit"); if(plugin != null) { @@ -93,9 +108,9 @@ public final class BridgeForBukkitAPI prm.setPluginPermissionsResolver(wepif); else PermissionsResolverManager.initialize(wepif); - console.sendMessage(Phrases.INTEGRATION_WE_Y.toPlayer()); + sendConsoleMessage(Phrases.INTEGRATION_WE_Y.toPlayer()); } else - console.sendMessage(Phrases.INTEGRATION_WE_N.toPlayer()); + sendConsoleMessage(Phrases.INTEGRATION_WE_N.toPlayer()); } public void printDebugString(String info) { diff --git a/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitRegionProviders.java b/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitRegionProviders.java index 4272e52..d98122c 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitRegionProviders.java +++ b/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitRegionProviders.java @@ -23,16 +23,15 @@ public final class BukkitRegionProviders private final BukkitPluginMain rscp; private Plugin worldguard; private Plugin residence; - private final Map> regionsByPlayer = new HashMap<>(); - private final Map playerRegionHashes = new HashMap<>(); - private final Map playerLastWorld = new HashMap<>(); + private final Map> regionsByPlayer = new HashMap<>(); + private final Map playerRegionHashes = new HashMap<>(); + private final Map playerLastWorld = new HashMap<>(); public BukkitRegionProviders(BukkitPluginMain rscp) { this.rscp = rscp; } public synchronized void integrate() { - final ConsoleCommandSender console = rscp.getServer().getConsoleSender(); // WorldGuard if(rscp.settings.isUseWorldGuard()) { @@ -40,10 +39,10 @@ public final class BukkitRegionProviders if(plugin != null && plugin instanceof WorldGuardPlugin) { this.worldguard = plugin; - console.sendMessage(Phrases.INTEGRATION_WG_Y.toPlayer()); + rscp.rscpAPIs.sendConsoleMessage(Phrases.INTEGRATION_WG_Y.toPlayer()); } else { this.worldguard = null; - console.sendMessage(Phrases.INTEGRATION_WG_N.toPlayer()); + rscp.rscpAPIs.sendConsoleMessage(Phrases.INTEGRATION_WG_N.toPlayer()); } } else this.worldguard = null; @@ -75,7 +74,7 @@ public final class BukkitRegionProviders playerRegions.add(region.getId()); } catch(RuntimeException | IncompatibleClassChangeError ex) { worldguard = null; - rscp.getServer().getConsoleSender().sendMessage(GenericChatCodes.processStringStatic("[rscp] " + Phrases.INTEGRATION_WG_OLD.toString())); + rscp.rscpAPIs.sendConsoleMessage(Phrases.INTEGRATION_WG_OLD.toPlayer()); } // Is it changed? int hashcode = playerRegions.hashCode(); diff --git a/src/main/java/ru/simsonic/rscPermissions/BukkitPluginMain.java b/src/main/java/ru/simsonic/rscPermissions/BukkitPluginMain.java index 40f3879..c8d5e34 100644 --- a/src/main/java/ru/simsonic/rscPermissions/BukkitPluginMain.java +++ b/src/main/java/ru/simsonic/rscPermissions/BukkitPluginMain.java @@ -69,15 +69,6 @@ public final class BukkitPluginMain extends JavaPlugin settings.isUsingAncestorPrefixes()); internalCache.setCurrentServerId(getServer().getServerId()); Phrases.applyTranslation(settings.getTranslationProvider()); - // Restore temporary cached data from json files - final DatabaseContents contents = localStorage.retrieveContents(); - contents.filterServerId(getServer().getServerId()).filterLifetime(); - internalCache.fill(contents); - final ConsoleCommandSender console = getServer().getConsoleSender(); - console.sendMessage(Phrases.FETCHED_LOCAL_CACHE.toPlayer() - .replace("{:E}", String.valueOf(contents.entities.length)) - .replace("{:P}", String.valueOf(contents.permissions.length)) - .replace("{:I}", String.valueOf(contents.inheritance.length))); // Integrate Metrics if(settings.isUseMetrics()) try @@ -95,10 +86,18 @@ public final class BukkitPluginMain extends JavaPlugin rscpAPIs.onEnable(); // WorldGuard, Residence and other possible region list providers regionProviders.integrate(); + // Restore temporary cached data from json files + final DatabaseContents contents = localStorage.retrieveContents(); + contents.filterServerId(getServer().getServerId()).filterLifetime(); + rscpAPIs.sendConsoleMessage(Phrases.FETCHED_LOCAL_CACHE.toPlayer() + .replace("{:E}", String.valueOf(contents.entities.length)) + .replace("{:P}", String.valueOf(contents.permissions.length)) + .replace("{:I}", String.valueOf(contents.inheritance.length))); // Start all needed parallel threads as daemons permissionManager.startDeamon(); regionObserver.startDeamon(); // Connect to database and initiate data fetching + connection.setLogger(this.getLogger()); connection.initialize(settings.getConnectionParams()); fetchNowAndReschedule(); // Check for update and notify admins diff --git a/src/main/java/ru/simsonic/rscPermissions/Engine/Backends/BackendDatabase.java b/src/main/java/ru/simsonic/rscPermissions/Engine/Backends/BackendDatabase.java index 60b056d..b11da90 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Engine/Backends/BackendDatabase.java +++ b/src/main/java/ru/simsonic/rscPermissions/Engine/Backends/BackendDatabase.java @@ -5,7 +5,6 @@ import java.sql.SQLException; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; -import java.util.logging.Level; import java.util.logging.Logger; import ru.simsonic.rscCommonsLibrary.ConnectionMySQL; import ru.simsonic.rscPermissions.API.EntityType; @@ -15,8 +14,11 @@ import ru.simsonic.rscPermissions.API.RowPermission; public class BackendDatabase extends ConnectionMySQL { - private final Logger consoleLog; - public BackendDatabase(Logger logger) + private Logger consoleLog; + public BackendDatabase() + { + } + public void setLogger(Logger logger) { this.consoleLog = logger; } diff --git a/src/main/java/ru/simsonic/rscPermissions/Engine/Backends/DatabaseEditor.java b/src/main/java/ru/simsonic/rscPermissions/Engine/Backends/DatabaseEditor.java index 2fdfece..fd0071b 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Engine/Backends/DatabaseEditor.java +++ b/src/main/java/ru/simsonic/rscPermissions/Engine/Backends/DatabaseEditor.java @@ -18,7 +18,6 @@ public class DatabaseEditor extends BackendDatabase private final Map inheritance = new HashMap<>(); public DatabaseEditor(BukkitPluginMain rscp) { - super(rscp.getServer().getLogger()); this.plugin = rscp; } @Override diff --git a/src/main/java/ru/simsonic/rscPermissions/IndependentMain.java b/src/main/java/ru/simsonic/rscPermissions/IndependentMain.java index 509e14f..8e39194 100644 --- a/src/main/java/ru/simsonic/rscPermissions/IndependentMain.java +++ b/src/main/java/ru/simsonic/rscPermissions/IndependentMain.java @@ -2,7 +2,6 @@ package ru.simsonic.rscPermissions; import java.io.File; import java.util.Map; -import java.util.logging.Logger; import ru.simsonic.rscPermissions.Engine.Backends.BackendDatabase; import ru.simsonic.rscPermissions.Engine.Backends.BackendJson; import ru.simsonic.rscPermissions.Engine.Backends.DatabaseContents; @@ -12,7 +11,7 @@ import ru.simsonic.rscPermissions.Engine.ResolutionResult; public class IndependentMain { private static final BackendJson localJsn = new BackendJson(new File("../")); - private static final BackendDatabase database = new BackendDatabase(Logger.getGlobal()); + private static final BackendDatabase database = new BackendDatabase(); private static final InternalCache intCache = new InternalCache(); @SuppressWarnings({"DeadBranch", "UnusedAssignment"}) public static void main(String args[])