Browse Source

Some fixes for restore 1.4.7 compatibility.

master
Stanislav Usenkov 9 years ago
parent
commit
8b83db5460
  1. 27
      src/main/java/ru/simsonic/rscPermissions/BridgeForBukkitAPI.java
  2. 13
      src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitRegionProviders.java
  3. 17
      src/main/java/ru/simsonic/rscPermissions/BukkitPluginMain.java
  4. 8
      src/main/java/ru/simsonic/rscPermissions/Engine/Backends/BackendDatabase.java
  5. 1
      src/main/java/ru/simsonic/rscPermissions/Engine/Backends/DatabaseEditor.java
  6. 3
      src/main/java/ru/simsonic/rscPermissions/IndependentMain.java

27
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)
{

13
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<Player, Set<String>> regionsByPlayer = new HashMap<>();
private final Map<Player, Integer> playerRegionHashes = new HashMap<>();
private final Map<Player, World> playerLastWorld = new HashMap<>();
private final Map<Player, Set<String>> regionsByPlayer = new HashMap<>();
private final Map<Player, Integer> playerRegionHashes = new HashMap<>();
private final Map<Player, World> 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();

17
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

8
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;
}

1
src/main/java/ru/simsonic/rscPermissions/Engine/Backends/DatabaseEditor.java

@ -18,7 +18,6 @@ public class DatabaseEditor extends BackendDatabase
private final Map<String, RowInheritance> inheritance = new HashMap<>();
public DatabaseEditor(BukkitPluginMain rscp)
{
super(rscp.getServer().getLogger());
this.plugin = rscp;
}
@Override

3
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[])

Loading…
Cancel
Save