From 8d5b1af8bf88d0aad2bf7db7b09dbe21483328bd Mon Sep 17 00:00:00 2001 From: Stanislav Usenkov Date: Tue, 9 Dec 2014 15:40:31 +0700 Subject: [PATCH] =?UTF-8?q?=D0=92=D0=B5=D1=80=D1=81=D0=B8=D1=8F=200.9.0a:?= =?UTF-8?q?=20*=20=D0=A3=D0=B4=D0=B0=D0=BB=D0=B5=D0=BD=D0=B0=20=D1=80?= =?UTF-8?q?=D0=B0=D0=B1=D0=BE=D1=82=D0=B0=20=D1=81=20=D0=BB=D0=B5=D1=81?= =?UTF-8?q?=D1=82=D0=BD=D0=B8=D1=86=D0=B0=D0=BC=D0=B8.=20=D0=9F=D0=BE?= =?UTF-8?q?=D1=82=D0=B5=D0=BD=D1=86=D0=B8=D0=B0=D0=BB=D1=8C=D0=BD=D0=BE=20?= =?UTF-8?q?=D1=8D=D1=82=D0=BE=20=D0=B4=D0=BE=D0=BB=D0=B6=D0=B5=D0=BD=20?= =?UTF-8?q?=D0=B4=D0=B5=D0=BB=D0=B0=D1=82=D1=8C=20=D0=B4=D1=80=D1=83=D0=B3?= =?UTF-8?q?=D0=BE=D0=B9=20=D0=BF=D0=BB=D0=B0=D0=B3=D0=B8=D0=BD.=20*=20?= =?UTF-8?q?=D0=9E=D0=B1=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D1=8B=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=B2=D0=B8=D1=81=D0=B8=D0=BC=D0=BE=D1=81=D1=82=D0=B8=20?= =?UTF-8?q?=D0=B8=20=D0=B8=D1=85=20=D0=B8=D1=81=D1=82=D0=BE=D1=87=D0=BD?= =?UTF-8?q?=D0=B8=D0=BA=D0=B8.=20*=20=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5?= =?UTF-8?q?=D0=BD=D0=BE=20=D0=B8=D0=BC=D1=8F=20=D0=B3=D0=BB=D0=B0=D0=B2?= =?UTF-8?q?=D0=BD=D0=BE=D0=B3=D0=BE=20=D0=BA=D0=BB=D0=B0=D1=81=D1=81=D0=B0?= =?UTF-8?q?=20=D0=BD=D0=B0=20BukkitPliginMain.=20*=20=D0=A1=D0=BE=D0=B7?= =?UTF-8?q?=D0=B4=D0=B0=D0=BD=20=D0=BD=D0=B0=20=D0=B1=D1=83=D0=B4=D1=83?= =?UTF-8?q?=D1=89=D0=B5=D0=B9=20=D0=BD=D0=BE=D0=B2=D1=8B=D0=B9=20=D0=BA?= =?UTF-8?q?=D0=BB=D0=B0=D1=81=D1=81=20SpongePluginMain.=20*=20=D0=A1=D1=82?= =?UTF-8?q?=D0=B0=D1=82=D1=83=D1=81=20"=D0=B0=D0=BB=D1=8C=D1=84=D0=B0",=20?= =?UTF-8?q?=D1=82.=D0=BA.=20=D0=BD=D0=BE=D0=B2=D1=8B=D0=B9=20=D0=BA=D0=B5?= =?UTF-8?q?=D1=88=20=D0=B5=D1=89=D1=91=20=D0=BD=D0=B5=20=D0=BE=D1=82=D1=82?= =?UTF-8?q?=D0=B5=D1=81=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 200 +++++++++--------- .../rscPermissions/{ => API}/Settings.java | 3 +- .../rscPermissions/Backends/Backend.java | 6 +- .../rscPermissions/Backends/BackendMySQL.java | 79 +------ .../rscPermissions/BridgeForBukkitAPI.java | 4 +- .../Bukkit/BukkitPermissions.java | 8 +- .../Bukkit/BukkitPluginConfiguration.java | 12 +- .../Bukkit/PlayerEventsListener.java | 6 +- ...PluginClass.java => BukkitPluginMain.java} | 5 +- .../rscPermissions/CommandHelper.java | 59 +----- .../rscPermissions/ConnectionHelper.java | 6 +- .../rscPermissions/DataTypes/Destination.java | 2 +- .../DataTypes/RowInheritance.java | 2 +- .../rscPermissions/DataTypes/RowLadder.java | 44 ---- .../Importers/BaseImporter.java | 8 +- .../AbstractPermissionsCache.java | 2 - .../InternalCache/BrandNewCache.java | 27 +-- .../InternalCache/LocalCacheData.java | 26 +-- .../InternalCache/LocalCacheFunctions.java | 43 +--- .../InternalCache/LocalCacheTree.java | 11 +- .../ru/simsonic/rscPermissions/Ladders.java | 123 ----------- .../rscPermissions/MaintenanceMode.java | 4 +- .../rscPermissions/RegionListProviders.java | 12 +- .../rscPermissions/RegionUpdateObserver.java | 6 +- .../rscPermissions/SpongePluginMain.java | 27 +++ src/main/resources/plugin.yml | 12 +- .../resources/sqlt/Drop_user_from_ladder.sqlt | 14 -- .../resources/sqlt/Initialize_main_v1.sqlt | 17 -- .../sqlt/Insert_example_rows_v1.sqlt | 11 - src/main/resources/sqlt/Set_user_rank.sqlt | 7 - 30 files changed, 195 insertions(+), 591 deletions(-) rename src/main/java/ru/simsonic/rscPermissions/{ => API}/Settings.java (88%) rename src/main/java/ru/simsonic/rscPermissions/{MainPluginClass.java => BukkitPluginMain.java} (94%) delete mode 100644 src/main/java/ru/simsonic/rscPermissions/DataTypes/RowLadder.java delete mode 100644 src/main/java/ru/simsonic/rscPermissions/Ladders.java create mode 100644 src/main/java/ru/simsonic/rscPermissions/SpongePluginMain.java delete mode 100644 src/main/resources/sqlt/Drop_user_from_ladder.sqlt delete mode 100644 src/main/resources/sqlt/Set_user_rank.sqlt diff --git a/pom.xml b/pom.xml index 70bd921..9cf23f8 100644 --- a/pom.xml +++ b/pom.xml @@ -4,11 +4,107 @@ ru.simsonic rscPermissions - 0.9.0b + 0.9.0a jar rscPermissions - http://maven.apache.org + https://github.com/SimSonic/rscPermissions + + + + + + sponge-repo + http://repo.spongepowered.org/Sponge/maven + + + bukkit-repo + http://repo.bukkit.org/content/groups/public + + + spigot-repo + https://hub.spigotmc.org/nexus/content/groups/public/ + + + + vault-repo + http://nexus.theyeticave.net/content/repositories/pub_releases + + + + sk89q-repo + http://maven.sk89q.com/repo/ + + + Residence + http://ci.drtshock.net/plugin/repository/everything/ + + + + + + + mysql + mysql-connector-java + 5.1.34 + runtime + + + + com.google.code.gson + gson + 2.3.1 + provided + + + + org.bukkit + bukkit + 1.7.9-R0.2 + provided + + + + org.spongepowered + spongeapi + 1.0 + provided + + + + net.milkbowl.vault + VaultAPI + 1.5 + provided + + + + com.sk89q + worldedit + 6.0.0-SNAPSHOT + provided + + + com.sk89q + worldguard + 6.0.0-SNAPSHOT + provided + + + net.t00thpick1 + Residence + 3.0-SNAPSHOT + provided + + + + ru.simsonic + rscAPI + 1.2.3 + compile + jar + + UTF-8 @@ -64,23 +160,10 @@ - org.apache.maven.plugins maven-javadoc-plugin - 2.9.1 + 2.10.1 attach-javadocs @@ -102,87 +185,4 @@ - - - - bukkit-repo - http://repo.bukkit.org/content/groups/public - - - - VaultAPI - http://nexus.theyeticave.net/content/repositories/pub_releases - - - - sk89q-repo - http://maven.sk89q.com/repo/ - - - maven.sk89q.com - http://maven.sk89q.com/artifactory/libs-release-local - - - maven.sk89q.com-snapshot - http://maven.sk89q.com/artifactory/libs-snapshot-local - - - Residence - http://ci.drtshock.net/plugin/repository/everything/ - - - - voxile.ru - http://s9.voxile.ru/plugin/repository/everything/ - - - - - mysql - mysql-connector-java - 5.1.32 - runtime - - - org.bukkit - bukkit - 1.7.9-R0.2 - provided - jar - - - ru.simsonic - rscAPI - 1.2.1 - compile - jar - - - net.milkbowl.vault - VaultAPI - 1.4 - provided - - - com.sk89q - worldedit - 5.6.2 - compile - jar - - - com.sk89q - worldguard - 6.0.0-SNAPSHOT - provided - jar - - - net.t00thpick1 - Residence - 3.0-SNAPSHOT - provided - jar - - - \ No newline at end of file + diff --git a/src/main/java/ru/simsonic/rscPermissions/Settings.java b/src/main/java/ru/simsonic/rscPermissions/API/Settings.java similarity index 88% rename from src/main/java/ru/simsonic/rscPermissions/Settings.java rename to src/main/java/ru/simsonic/rscPermissions/API/Settings.java index 78def4c..e93f4b7 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Settings.java +++ b/src/main/java/ru/simsonic/rscPermissions/API/Settings.java @@ -1,4 +1,5 @@ -package ru.simsonic.rscPermissions; +package ru.simsonic.rscPermissions.API; +import ru.simsonic.rscPermissions.ConnectionHelper; public interface Settings { diff --git a/src/main/java/ru/simsonic/rscPermissions/Backends/Backend.java b/src/main/java/ru/simsonic/rscPermissions/Backends/Backend.java index 0d07b87..5fdc5d3 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Backends/Backend.java +++ b/src/main/java/ru/simsonic/rscPermissions/Backends/Backend.java @@ -1,7 +1,6 @@ package ru.simsonic.rscPermissions.Backends; import ru.simsonic.rscPermissions.DataTypes.RowEntity; import ru.simsonic.rscPermissions.DataTypes.RowInheritance; -import ru.simsonic.rscPermissions.DataTypes.RowLadder; import ru.simsonic.rscPermissions.DataTypes.RowPermission; import ru.simsonic.rscPermissions.InternalCache.AbstractPermissionsCache; @@ -14,11 +13,8 @@ public interface Backend public abstract RowEntity[] fetchEntities(); public abstract RowPermission[] fetchPermissions(); public abstract RowInheritance[] fetchInheritance(); - public abstract RowLadder[] fetchLadders(); public abstract void insertExampleRows(); public abstract void updateEntityText(String entity, boolean entity_type, String text, boolean isPrefix); - public abstract void setUserRank(String user, String ladder, int rank); - public abstract void dropUserFromLadder(String user, String ladder); public abstract void addUserParentGroup(String user, String newGroup); -} \ No newline at end of file +} diff --git a/src/main/java/ru/simsonic/rscPermissions/Backends/BackendMySQL.java b/src/main/java/ru/simsonic/rscPermissions/Backends/BackendMySQL.java index 06423f0..7f45a92 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Backends/BackendMySQL.java +++ b/src/main/java/ru/simsonic/rscPermissions/Backends/BackendMySQL.java @@ -7,19 +7,17 @@ import ru.simsonic.rscPermissions.DataTypes.Destination; import ru.simsonic.rscPermissions.DataTypes.EntityType; import ru.simsonic.rscPermissions.DataTypes.RowEntity; import ru.simsonic.rscPermissions.DataTypes.RowInheritance; -import ru.simsonic.rscPermissions.DataTypes.RowLadder; import ru.simsonic.rscPermissions.DataTypes.RowPermission; import ru.simsonic.rscPermissions.InternalCache.AbstractPermissionsCache; -import ru.simsonic.rscPermissions.MainPluginClass; -import ru.simsonic.rscPermissions.Settings; +import ru.simsonic.rscPermissions.BukkitPluginMain; import ru.simsonic.utilities.ConnectionMySQL; public class BackendMySQL extends ConnectionMySQL implements Backend { - protected final MainPluginClass plugin; + protected final BukkitPluginMain plugin; protected static enum WorkMode { read, write, none, } protected WorkMode RememberWork; - public BackendMySQL(MainPluginClass plugin) + public BackendMySQL(BukkitPluginMain plugin) { this.plugin = plugin; } @@ -86,14 +84,13 @@ public class BackendMySQL extends ConnectionMySQL implements Backend public synchronized void fetchIntoCache(AbstractPermissionsCache cache) { cleanupTables(); - MainPluginClass.consoleLog.log(Level.INFO, - "[rscp] Fetched {0}e, {1}p, {2}i, {3}l, from \"{4}\".", + BukkitPluginMain.consoleLog.log(Level.INFO, + "[rscp] Fetched {0}e, {1}p, {2}i, from \"{4}\".", new Object[] { Integer.toString(cache.ImportEntities(fetchEntities())), Integer.toString(cache.ImportPermissions(fetchPermissions())), Integer.toString(cache.ImportInheritance(fetchInheritance())), - Integer.toString(cache.ImportLadders(fetchLadders())), RememberName, }); } @@ -117,7 +114,7 @@ public class BackendMySQL extends ConnectionMySQL implements Backend } rs.close(); } catch(SQLException ex) { - MainPluginClass.consoleLog.log(Level.WARNING, "[rscp] Exception in rs2e(): {0}", ex); + BukkitPluginMain.consoleLog.log(Level.WARNING, "[rscp] Exception in rs2e(): {0}", ex); } return result.toArray(new RowEntity[result.size()]); } @@ -149,7 +146,7 @@ public class BackendMySQL extends ConnectionMySQL implements Backend } rs.close(); } catch(SQLException ex) { - MainPluginClass.consoleLog.log(Level.WARNING, "[rscp] Exception in rs2p(): {0}", ex); + BukkitPluginMain.consoleLog.log(Level.WARNING, "[rscp] Exception in rs2p(): {0}", ex); } return result.toArray(new RowPermission[result.size()]); } @@ -182,42 +179,11 @@ public class BackendMySQL extends ConnectionMySQL implements Backend } rs.close(); } catch(SQLException ex) { - MainPluginClass.consoleLog.log(Level.WARNING, "[rscp] Exception in rs2i(): {0}", ex); + BukkitPluginMain.consoleLog.log(Level.WARNING, "[rscp] Exception in rs2i(): {0}", ex); } return result.toArray(new RowInheritance[result.size()]); } @Override - public synchronized RowLadder[] fetchLadders() - { - final ArrayList result = new ArrayList<>(); - final ResultSet rs = executeQuery("SELECT * FROM `{DATABASE}`.`{PREFIX}ladders`;"); - try - { - while(rs.next()) - { - RowLadder row = new RowLadder(); - row.id = rs.getInt("id"); - row.climber = rs.getString("climber"); - if("".equals(row.climber)) - row.climber = null; - row.climberType = EntityType.byValue(rs.getInt("climber_type")); - row.ladder = rs.getString("ladder"); - String[] breaked = row.ladder.split(Settings.separatorRegExp); - if(breaked.length == 2) - { - row.ladder = breaked[0]; - row.instance = breaked[1]; - } - row.rank = rs.getInt("rank"); - result.add(row); - } - rs.close(); - } catch(SQLException ex) { - MainPluginClass.consoleLog.log(Level.WARNING, "[rscp] Exception in rs2l(): {0}", ex); - } - return result.toArray(new RowLadder[result.size()]); - } - @Override public synchronized void insertExampleRows() { executeUpdateT("Insert_example_rows_v1"); @@ -236,37 +202,10 @@ public class BackendMySQL extends ConnectionMySQL implements Backend executeUpdateT("Update_entity_text"); } @Override - public synchronized void setUserRank(String user, String ladder, int rank) - { - if("".equals(user) || "".equals(ladder)) - return; - setupQueryTemplate("{USER}", user); - setupQueryTemplate("{LADDER}", ladder); - setupQueryTemplate("{RANK}", Integer.toString(rank)); - executeUpdateT("Set_user_rank"); - } - @Override - public synchronized void dropUserFromLadder(String user, String ladder) - { - String instance = ""; - String[] breaked = ladder.split(Settings.separatorRegExp); - if(breaked.length == 2) - { - ladder = breaked[0]; - instance = breaked[1]; - } - if("".equals(user) || "".equals(ladder)) - return; - setupQueryTemplate("{USER}", user); - setupQueryTemplate("{LADDER}", ladder); - setupQueryTemplate("{INSTANCE}", instance); - executeUpdateT("Drop_user_from_ladder"); - } - @Override public synchronized void addUserParentGroup(String user, String newGroup) { setupQueryTemplate("{USER}", user); setupQueryTemplate("{PARENT}", newGroup); executeUpdate("INSERT INTO `{DATABASE}`.`{PREFIX}inheritance` (`entity`, `parent`, `inheritance_type`) VALUES ('{USER}', '{PARENT}', b'1');"); } -} \ No newline at end of file +} diff --git a/src/main/java/ru/simsonic/rscPermissions/BridgeForBukkitAPI.java b/src/main/java/ru/simsonic/rscPermissions/BridgeForBukkitAPI.java index c72fe97..f641f88 100644 --- a/src/main/java/ru/simsonic/rscPermissions/BridgeForBukkitAPI.java +++ b/src/main/java/ru/simsonic/rscPermissions/BridgeForBukkitAPI.java @@ -4,10 +4,10 @@ import ru.simsonic.rscPermissions.Bukkit.VaultPermission; public class BridgeForBukkitAPI { - private final MainPluginClass rscp; + private final BukkitPluginMain rscp; private final VaultPermission vaultPermission; private final VaultChat vaultChat; - protected BridgeForBukkitAPI(MainPluginClass plugin) + protected BridgeForBukkitAPI(BukkitPluginMain plugin) { this.rscp = plugin; this.vaultPermission = new VaultPermission(this); diff --git a/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPermissions.java b/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPermissions.java index 9f5550b..6057df3 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPermissions.java +++ b/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPermissions.java @@ -7,12 +7,12 @@ import org.bukkit.entity.Player; import org.bukkit.permissions.PermissionAttachment; import ru.simsonic.rscPermissions.DataTypes.RowPermission; import ru.simsonic.rscPermissions.InternalCache.BrandNewCache; -import ru.simsonic.rscPermissions.MainPluginClass; +import ru.simsonic.rscPermissions.BukkitPluginMain; public class BukkitPermissions implements Runnable { - private final MainPluginClass rscp; - public BukkitPermissions(MainPluginClass plugin) + private final BukkitPluginMain rscp; + public BukkitPermissions(BukkitPluginMain plugin) { this.rscp = plugin; } @@ -53,7 +53,7 @@ public class BukkitPermissions implements Runnable thread.interrupt(); thread.join(); } catch(InterruptedException ex) { - MainPluginClass.consoleLog.log(Level.SEVERE, "[rscp] Exception in BukkitPermissions: {0}", ex); + BukkitPluginMain.consoleLog.log(Level.SEVERE, "[rscp] Exception in BukkitPermissions: {0}", ex); } } thread = null; diff --git a/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPluginConfiguration.java b/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPluginConfiguration.java index 8c23cac..f7c1c3e 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPluginConfiguration.java +++ b/src/main/java/ru/simsonic/rscPermissions/Bukkit/BukkitPluginConfiguration.java @@ -7,12 +7,12 @@ import java.util.List; import java.util.Map; import org.bukkit.configuration.file.FileConfiguration; import ru.simsonic.rscPermissions.ConnectionHelper; -import ru.simsonic.rscPermissions.MainPluginClass; -import ru.simsonic.rscPermissions.Settings; +import ru.simsonic.rscPermissions.BukkitPluginMain; +import ru.simsonic.rscPermissions.API.Settings; public class BukkitPluginConfiguration implements Settings { - private final MainPluginClass plugin; + private final BukkitPluginMain plugin; private String strDefaultGroup = "Default"; private String strMaintenanceMode = ""; private boolean bAlwaysInheritDefault = false; @@ -23,7 +23,7 @@ public class BukkitPluginConfiguration implements Settings private int nAutoReloadDelayTicks = 20 * 900; private int nRegionFinderGranularity = 1000; public final int CurrentVersion = 3; - public BukkitPluginConfiguration(final MainPluginClass plugin) + public BukkitPluginConfiguration(final BukkitPluginMain plugin) { this.plugin = plugin; } @@ -36,10 +36,10 @@ public class BukkitPluginConfiguration implements Settings { case 1: update_v1_to_v2(config); - MainPluginClass.consoleLog.info("[rscp] Configuration updated from v1 to v2."); + BukkitPluginMain.consoleLog.info("[rscp] Configuration updated from v1 to v2."); case 2: update_v2_to_v3(config); - MainPluginClass.consoleLog.info("[rscp] Configuration updated from v2 to v3."); + BukkitPluginMain.consoleLog.info("[rscp] Configuration updated from v2 to v3."); case CurrentVersion: // Current version plugin.saveConfig(); break; diff --git a/src/main/java/ru/simsonic/rscPermissions/Bukkit/PlayerEventsListener.java b/src/main/java/ru/simsonic/rscPermissions/Bukkit/PlayerEventsListener.java index e47609f..7a1f24e 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Bukkit/PlayerEventsListener.java +++ b/src/main/java/ru/simsonic/rscPermissions/Bukkit/PlayerEventsListener.java @@ -8,12 +8,12 @@ import org.bukkit.event.player.PlayerKickEvent; import org.bukkit.event.player.PlayerLevelChangeEvent; import org.bukkit.event.player.PlayerLoginEvent; import org.bukkit.event.player.PlayerQuitEvent; -import ru.simsonic.rscPermissions.MainPluginClass; +import ru.simsonic.rscPermissions.BukkitPluginMain; public class PlayerEventsListener implements Listener { - private final MainPluginClass rscp; - public PlayerEventsListener(MainPluginClass plugin) + private final BukkitPluginMain rscp; + public PlayerEventsListener(BukkitPluginMain plugin) { this.rscp = plugin; } diff --git a/src/main/java/ru/simsonic/rscPermissions/MainPluginClass.java b/src/main/java/ru/simsonic/rscPermissions/BukkitPluginMain.java similarity index 94% rename from src/main/java/ru/simsonic/rscPermissions/MainPluginClass.java rename to src/main/java/ru/simsonic/rscPermissions/BukkitPluginMain.java index 83021c7..5964851 100644 --- a/src/main/java/ru/simsonic/rscPermissions/MainPluginClass.java +++ b/src/main/java/ru/simsonic/rscPermissions/BukkitPluginMain.java @@ -1,4 +1,5 @@ package ru.simsonic.rscPermissions; +import ru.simsonic.rscPermissions.API.Settings; import java.io.IOException; import java.util.logging.Level; import java.util.logging.Logger; @@ -14,7 +15,7 @@ import ru.simsonic.rscPermissions.InternalCache.BrandNewCache; import ru.simsonic.utilities.CommandAnswerException; import ru.simsonic.utilities.LanguageUtility; -public final class MainPluginClass extends JavaPlugin +public final class BukkitPluginMain extends JavaPlugin { private static final String chatPrefix = "{_YL}[rscp] {GOLD}"; public static final Logger consoleLog = Logger.getLogger("Minecraft"); @@ -127,7 +128,7 @@ public final class MainPluginClass extends JavaPlugin System.out.println("rscPermissions - Bukkit superperms plugin © SimSonic"); System.out.println("http://dev.bukkit.org/bukkit-plugins/rscpermissions/"); // TEST SECTION STARTS BELOW - MainPluginClass mpc = new MainPluginClass(); + BukkitPluginMain mpc = new BukkitPluginMain(); ConnectionHelper ch = new ConnectionHelper(mpc, null); ch.Initialize("Test", "voxile.ru:3306/servers-shared", "server-primary", "zcHzCBFZtTv28JfG", "rscp_"); ch.Connect(); diff --git a/src/main/java/ru/simsonic/rscPermissions/CommandHelper.java b/src/main/java/ru/simsonic/rscPermissions/CommandHelper.java index 055c1b9..83645f5 100644 --- a/src/main/java/ru/simsonic/rscPermissions/CommandHelper.java +++ b/src/main/java/ru/simsonic/rscPermissions/CommandHelper.java @@ -11,12 +11,10 @@ import ru.simsonic.utilities.CommandAnswerException; public class CommandHelper { - private final MainPluginClass plugin; - public final Ladders ladderHelper; - public CommandHelper(final MainPluginClass rscp) + private final BukkitPluginMain plugin; + public CommandHelper(final BukkitPluginMain rscp) { this.plugin = rscp; - ladderHelper = new Ladders(rscp); } public void onCommand(CommandSender sender, Command cmd, String label, String[] args) throws CommandAnswerException { @@ -24,31 +22,14 @@ public class CommandHelper { case "rscp": onCommandHub(sender, args); - return; - case "promote": - if(args.length >= 1) - { - ladderHelper.executePromotion(sender, args[0], (args.length >= 2) ? args[1] : null, true); - return; - } - throw new CommandAnswerException("/promote "); - case "demote": - if(args.length >= 1) - { - ladderHelper.executePromotion(sender, args[0], (args.length >= 2) ? args[1] : null, false); - return; - } - throw new CommandAnswerException("/demote "); + break; } } private void onCommandHub(CommandSender sender, String[] args) throws CommandAnswerException { final ArrayList help = new ArrayList<>(); if(sender.hasPermission("rscp.admin")) - { - help.add("/rscp (user|group|ladder) {_LS}-- PermissionsEx-like admin commands"); - help.add("/rscp (promote|demote) {_LS}-- admin promotion/demotion commands"); - } + help.add("/rscp (user|group) {_LS}-- PermissionsEx-like admin commands"); if(sender.hasPermission("rscp.admin.lock")) help.add("/rscp (lock|unlock) {_LS}-- maintenance mode control"); if(sender.hasPermission("rscp.admin")) @@ -74,21 +55,6 @@ public class CommandHelper case "group": onCommandHubGroup(sender, args); return; - case "ladder": - onCommandHubLadder(sender, args); - return; - case "promote": - /* rscp promote */ - if(args.length < 3) - throw new CommandAnswerException("/rscp promote "); - ladderHelper.executePromotion(sender, args[1], args[2], true); - return; - case "demote": - /* rscp demote */ - if(args.length < 3) - throw new CommandAnswerException("/rscp demote "); - ladderHelper.executePromotion(sender, args[1], args[2], false); - return; case "lock": /* rscp lock [mMode] */ if(sender.hasPermission("rscp.lock")) @@ -138,7 +104,6 @@ public class CommandHelper "Entities: {MAGENTA}" + Integer.toString(importer_pex.getEntities().length), "Permissions: {MAGENTA}" + Integer.toString(importer_pex.getPermissions().length), "Inheritance: {MAGENTA}" + Integer.toString(importer_pex.getInheritance().length), - "Ladders: {MAGENTA}" + Integer.toString(importer_pex.getLadders().length), "{_DR}{_B}FAKE :p - all this is undone yet!", }); case "pex-sql": @@ -320,20 +285,4 @@ public class CommandHelper throw new CommandAnswerException(list); } } - private void onCommandHubLadder(CommandSender sender, String[] args) throws CommandAnswerException - { - if(sender.hasPermission("rscp.admin") == false) - throw new CommandAnswerException("Not enough permissions."); - final String[] help = new String[] - { - "rscPermissions command hub (ladder section).", - "{MAGENTA}Usage:", - // "/rscp ladder list groups", - // "/rscp ladder list users", - }; - if(args.length < 3) - throw new CommandAnswerException(help); - final String ladder = args[1]; - throw new CommandAnswerException("dummy :p)"); - } } diff --git a/src/main/java/ru/simsonic/rscPermissions/ConnectionHelper.java b/src/main/java/ru/simsonic/rscPermissions/ConnectionHelper.java index a86a83a..7308032 100644 --- a/src/main/java/ru/simsonic/rscPermissions/ConnectionHelper.java +++ b/src/main/java/ru/simsonic/rscPermissions/ConnectionHelper.java @@ -8,7 +8,7 @@ import ru.simsonic.utilities.ConnectionMySQL; public class ConnectionHelper extends BackendMySQL { private ConnectionHelper nextInChain = null; - public ConnectionHelper(MainPluginClass rscp, ConnectionHelper nextInChain) + public ConnectionHelper(BukkitPluginMain rscp, ConnectionHelper nextInChain) { super(rscp); this.nextInChain = nextInChain; @@ -60,7 +60,7 @@ public class ConnectionHelper extends BackendMySQL syncTask.wait(); } } catch(InterruptedException ex) { - MainPluginClass.consoleLog.log(Level.SEVERE, "[rscp] Exception in FetchTables(): {0}", ex); + BukkitPluginMain.consoleLog.log(Level.SEVERE, "[rscp] Exception in FetchTables(): {0}", ex); } // plugin.cache.calculateStartupPermissions(); } @@ -118,7 +118,7 @@ public class ConnectionHelper extends BackendMySQL } }); } catch(InterruptedException ex) { - MainPluginClass.consoleLog.log(Level.SEVERE, "[rscp] Exception in MigrateFromPExSQL(): {0}", ex); + BukkitPluginMain.consoleLog.log(Level.SEVERE, "[rscp] Exception in MigrateFromPExSQL(): {0}", ex); } } }; diff --git a/src/main/java/ru/simsonic/rscPermissions/DataTypes/Destination.java b/src/main/java/ru/simsonic/rscPermissions/DataTypes/Destination.java index b949fb2..3a6945d 100644 --- a/src/main/java/ru/simsonic/rscPermissions/DataTypes/Destination.java +++ b/src/main/java/ru/simsonic/rscPermissions/DataTypes/Destination.java @@ -5,7 +5,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import org.bukkit.Location; import org.bukkit.World; -import ru.simsonic.rscPermissions.Settings; +import ru.simsonic.rscPermissions.API.Settings; import ru.simsonic.utilities.LanguageUtility; public class Destination diff --git a/src/main/java/ru/simsonic/rscPermissions/DataTypes/RowInheritance.java b/src/main/java/ru/simsonic/rscPermissions/DataTypes/RowInheritance.java index 1daad2f..959d3c9 100644 --- a/src/main/java/ru/simsonic/rscPermissions/DataTypes/RowInheritance.java +++ b/src/main/java/ru/simsonic/rscPermissions/DataTypes/RowInheritance.java @@ -1,6 +1,6 @@ package ru.simsonic.rscPermissions.DataTypes; import java.util.Arrays; -import ru.simsonic.rscPermissions.Settings; +import ru.simsonic.rscPermissions.API.Settings; import ru.simsonic.utilities.LanguageUtility; public class RowInheritance extends ConditionalRow implements Comparable diff --git a/src/main/java/ru/simsonic/rscPermissions/DataTypes/RowLadder.java b/src/main/java/ru/simsonic/rscPermissions/DataTypes/RowLadder.java deleted file mode 100644 index 4adfb07..0000000 --- a/src/main/java/ru/simsonic/rscPermissions/DataTypes/RowLadder.java +++ /dev/null @@ -1,44 +0,0 @@ -package ru.simsonic.rscPermissions.DataTypes; - -public class RowLadder extends AbstractRow implements Comparable -{ - public String climber; - public EntityType climberType; - public String ladder; - public String instance; - public int rank; - @Override - public int compareTo(RowLadder t) - { - return rank - t.rank; - } - public RowLadder nextNode; - public RowLadder prevNode; - public int getLadderTopRank() - { - int result = rank; - for(RowLadder row = nextNode; row != null; row = nextNode) - result = row.rank; - return result; - } - public int getLadderBottomRank() - { - int result = rank; - for(RowLadder row = prevNode; row != null; row = prevNode) - result = row.rank; - return result; - } - public RowLadder getActualNode(int userRank) - { - RowLadder result = this; - for(; result.nextNode != null; result = result.nextNode) - if(result.nextNode.rank > userRank) - break; - return result; - } - @Override - public Table getTable() - { - return Table.ladders; - } -} \ No newline at end of file diff --git a/src/main/java/ru/simsonic/rscPermissions/Importers/BaseImporter.java b/src/main/java/ru/simsonic/rscPermissions/Importers/BaseImporter.java index dfcfcc6..30c6416 100644 --- a/src/main/java/ru/simsonic/rscPermissions/Importers/BaseImporter.java +++ b/src/main/java/ru/simsonic/rscPermissions/Importers/BaseImporter.java @@ -2,7 +2,6 @@ package ru.simsonic.rscPermissions.Importers; import java.util.ArrayList; import ru.simsonic.rscPermissions.DataTypes.RowEntity; import ru.simsonic.rscPermissions.DataTypes.RowInheritance; -import ru.simsonic.rscPermissions.DataTypes.RowLadder; import ru.simsonic.rscPermissions.DataTypes.RowPermission; public abstract class BaseImporter @@ -10,7 +9,6 @@ public abstract class BaseImporter protected ArrayList imported_e = new ArrayList<>(); protected ArrayList imported_p = new ArrayList<>(); protected ArrayList imported_i = new ArrayList<>(); - protected ArrayList imported_l = new ArrayList<>(); public RowEntity[] getEntities() { return imported_e.toArray(new RowEntity[imported_e.size()]); @@ -23,8 +21,4 @@ public abstract class BaseImporter { return imported_i.toArray(new RowInheritance[imported_i.size()]); } - public RowLadder[] getLadders() - { - return imported_l.toArray(new RowLadder[imported_l.size()]); - } -} \ No newline at end of file +} diff --git a/src/main/java/ru/simsonic/rscPermissions/InternalCache/AbstractPermissionsCache.java b/src/main/java/ru/simsonic/rscPermissions/InternalCache/AbstractPermissionsCache.java index 9380af9..e006df6 100644 --- a/src/main/java/ru/simsonic/rscPermissions/InternalCache/AbstractPermissionsCache.java +++ b/src/main/java/ru/simsonic/rscPermissions/InternalCache/AbstractPermissionsCache.java @@ -1,7 +1,6 @@ package ru.simsonic.rscPermissions.InternalCache; import ru.simsonic.rscPermissions.DataTypes.RowEntity; import ru.simsonic.rscPermissions.DataTypes.RowInheritance; -import ru.simsonic.rscPermissions.DataTypes.RowLadder; import ru.simsonic.rscPermissions.DataTypes.RowPermission; public interface AbstractPermissionsCache @@ -9,5 +8,4 @@ public interface AbstractPermissionsCache public int ImportEntities(RowEntity[] rows); public int ImportPermissions(RowPermission[] rows); public int ImportInheritance(RowInheritance[] rows); - public int ImportLadders(RowLadder[] rows); } diff --git a/src/main/java/ru/simsonic/rscPermissions/InternalCache/BrandNewCache.java b/src/main/java/ru/simsonic/rscPermissions/InternalCache/BrandNewCache.java index 26bac59..f689f27 100644 --- a/src/main/java/ru/simsonic/rscPermissions/InternalCache/BrandNewCache.java +++ b/src/main/java/ru/simsonic/rscPermissions/InternalCache/BrandNewCache.java @@ -8,15 +8,14 @@ import org.bukkit.entity.Player; import ru.simsonic.rscPermissions.DataTypes.EntityType; import ru.simsonic.rscPermissions.DataTypes.RowEntity; import ru.simsonic.rscPermissions.DataTypes.RowInheritance; -import ru.simsonic.rscPermissions.DataTypes.RowLadder; import ru.simsonic.rscPermissions.DataTypes.RowPermission; -import ru.simsonic.rscPermissions.MainPluginClass; -import ru.simsonic.rscPermissions.Settings; +import ru.simsonic.rscPermissions.BukkitPluginMain; +import ru.simsonic.rscPermissions.API.Settings; public class BrandNewCache implements AbstractPermissionsCache { - protected final MainPluginClass plugin; - public BrandNewCache(MainPluginClass rscp) + protected final BukkitPluginMain plugin; + public BrandNewCache(BukkitPluginMain rscp) { this.plugin = rscp; } @@ -32,8 +31,6 @@ public class BrandNewCache implements AbstractPermissionsCache protected final ArrayList permissions_p2u = new ArrayList<>(); protected final ArrayList inheritance_g2g = new ArrayList<>(); protected final ArrayList inheritance_g2u = new ArrayList<>(); - protected final ArrayList ladders_g = new ArrayList<>(); - protected final ArrayList ladders_u = new ArrayList<>(); public static class InheritanceLeaf implements Comparable { public RowInheritance node; @@ -282,20 +279,4 @@ public class BrandNewCache implements AbstractPermissionsCache } return inheritance_g2g.size() + inheritance_g2u.size(); } - @Override - public synchronized int ImportLadders(RowLadder[] rows) - { - ladders_g.clear(); - ladders_u.clear(); - if(rows == null) - return 0; - for(RowLadder row : rows) - { - if(row.climberType == EntityType.group) - ladders_g.add(row); - else - ladders_u.add(row); - } - return ladders_g.size() + ladders_u.size(); - } } diff --git a/src/main/java/ru/simsonic/rscPermissions/InternalCache/LocalCacheData.java b/src/main/java/ru/simsonic/rscPermissions/InternalCache/LocalCacheData.java index 92d28db..58c4940 100644 --- a/src/main/java/ru/simsonic/rscPermissions/InternalCache/LocalCacheData.java +++ b/src/main/java/ru/simsonic/rscPermissions/InternalCache/LocalCacheData.java @@ -5,13 +5,12 @@ import java.util.concurrent.ConcurrentHashMap; import ru.simsonic.rscPermissions.DataTypes.EntityType; import ru.simsonic.rscPermissions.DataTypes.RowEntity; import ru.simsonic.rscPermissions.DataTypes.RowInheritance; -import ru.simsonic.rscPermissions.DataTypes.RowLadder; import ru.simsonic.rscPermissions.DataTypes.RowPermission; -import ru.simsonic.rscPermissions.MainPluginClass; +import ru.simsonic.rscPermissions.BukkitPluginMain; public class LocalCacheData { - protected final MainPluginClass plugin; + protected final BukkitPluginMain plugin; protected final HashMap entities_g = new HashMap<>(); protected final HashMap entities_u = new HashMap<>(); protected final ConcurrentHashMap prefixes_u = new ConcurrentHashMap<>(); @@ -20,9 +19,7 @@ public class LocalCacheData protected final ArrayList permissions_p2u = new ArrayList<>(); protected final ArrayList inheritance_g2g = new ArrayList<>(); protected final ArrayList inheritance_g2u = new ArrayList<>(); - protected final ArrayList ladders_g = new ArrayList<>(); - protected final ArrayList ladders_u = new ArrayList<>(); - protected LocalCacheData(MainPluginClass rscp) + protected LocalCacheData(BukkitPluginMain rscp) { this.plugin = rscp; } @@ -71,19 +68,4 @@ public class LocalCacheData } return inheritance_g2g.size() + inheritance_g2u.size(); } - public synchronized int ImportLadders(RowLadder[] rows) - { - ladders_g.clear(); - ladders_u.clear(); - if(rows == null) - return 0; - for(RowLadder row : rows) - { - if(row.climberType == EntityType.group) - ladders_g.add(row); - else - ladders_u.add(row); - } - return ladders_g.size() + ladders_u.size(); - } -} \ No newline at end of file +} diff --git a/src/main/java/ru/simsonic/rscPermissions/InternalCache/LocalCacheFunctions.java b/src/main/java/ru/simsonic/rscPermissions/InternalCache/LocalCacheFunctions.java index 0d317b6..44c111b 100644 --- a/src/main/java/ru/simsonic/rscPermissions/InternalCache/LocalCacheFunctions.java +++ b/src/main/java/ru/simsonic/rscPermissions/InternalCache/LocalCacheFunctions.java @@ -5,14 +5,13 @@ import java.util.HashSet; import java.util.Set; import ru.simsonic.rscPermissions.DataTypes.RowEntity; import ru.simsonic.rscPermissions.DataTypes.RowInheritance; -import ru.simsonic.rscPermissions.DataTypes.RowLadder; import ru.simsonic.rscPermissions.DataTypes.RowPermission; -import ru.simsonic.rscPermissions.MainPluginClass; -import ru.simsonic.rscPermissions.Settings; +import ru.simsonic.rscPermissions.BukkitPluginMain; +import ru.simsonic.rscPermissions.API.Settings; public class LocalCacheFunctions extends LocalCacheTree { - public LocalCacheFunctions(MainPluginClass rscp) + public LocalCacheFunctions(BukkitPluginMain rscp) { super(rscp); } @@ -38,37 +37,6 @@ public class LocalCacheFunctions extends LocalCacheTree RowEntity entity = entities_g.get(group.toLowerCase()); return (entity != null) ? entity.suffix : null; } - public synchronized ArrayList buildLadderTemplate(String ladder) - { - final ArrayList result = new ArrayList<>(); - RowLadder prev = null; - for(RowLadder row : ladders_g) - if(row.ladder.equalsIgnoreCase(ladder)) - { - if(prev != null) - { - prev.nextNode = row; - row.prevNode = prev; - } - result.add(row); - prev = row; - } - Collections.sort(result); - return result; - } - public synchronized int getUserRank(String user, String ladder, String instance) - { - for(RowLadder row : ladders_u) - if(row.climber.equalsIgnoreCase(user) && row.ladder.equalsIgnoreCase(ladder)) - if(instance == null || "".equals(instance)) - { - if(row.instance == null || "".equals(row.instance)) - return row.rank; - } else - if(instance.equalsIgnoreCase(row.instance)) - return row.rank; - return 0; - } public synchronized ArrayList getUserGroups(String player) { final ArrayList tree = mapTrees.get(player.toLowerCase()); @@ -93,9 +61,6 @@ public class LocalCacheFunctions extends LocalCacheTree } for(RowInheritance row : inheritance_g2u) result.add(row.parent.toLowerCase()); - for(RowLadder row : ladders_g) - if(row.climber != null) - result.add(row.climber.toLowerCase()); return result; } -} \ No newline at end of file +} diff --git a/src/main/java/ru/simsonic/rscPermissions/InternalCache/LocalCacheTree.java b/src/main/java/ru/simsonic/rscPermissions/InternalCache/LocalCacheTree.java index e392f30..8362d14 100644 --- a/src/main/java/ru/simsonic/rscPermissions/InternalCache/LocalCacheTree.java +++ b/src/main/java/ru/simsonic/rscPermissions/InternalCache/LocalCacheTree.java @@ -8,10 +8,9 @@ import java.util.concurrent.ConcurrentHashMap; import org.bukkit.entity.Player; import ru.simsonic.rscPermissions.DataTypes.RowEntity; import ru.simsonic.rscPermissions.DataTypes.RowInheritance; -import ru.simsonic.rscPermissions.DataTypes.RowLadder; import ru.simsonic.rscPermissions.DataTypes.RowPermission; -import ru.simsonic.rscPermissions.MainPluginClass; -import ru.simsonic.rscPermissions.Settings; +import ru.simsonic.rscPermissions.BukkitPluginMain; +import ru.simsonic.rscPermissions.API.Settings; import ru.simsonic.utilities.LanguageUtility; public class LocalCacheTree extends LocalCacheData @@ -22,7 +21,7 @@ public class LocalCacheTree extends LocalCacheData public String instance; public RowInheritance row; } - protected LocalCacheTree(MainPluginClass rscp) + protected LocalCacheTree(BukkitPluginMain rscp) { super(rscp); } @@ -46,8 +45,6 @@ public class LocalCacheTree extends LocalCacheData permissions_p2u.clear(); inheritance_g2g.clear(); inheritance_g2u.clear(); - ladders_g.clear(); - ladders_u.clear(); } public synchronized void calculateStartupPermissions() { @@ -60,8 +57,6 @@ public class LocalCacheTree extends LocalCacheData playerEntities.add(row.entity); for(RowInheritance row : inheritance_g2u) playerEntities.add(row.entity); - for(RowLadder row : ladders_u) - playerEntities.add(row.climber); // Recalculate for(String entityNameOrUUID : playerEntities) calculateBasePermissions(entityNameOrUUID); diff --git a/src/main/java/ru/simsonic/rscPermissions/Ladders.java b/src/main/java/ru/simsonic/rscPermissions/Ladders.java deleted file mode 100644 index 9855fd7..0000000 --- a/src/main/java/ru/simsonic/rscPermissions/Ladders.java +++ /dev/null @@ -1,123 +0,0 @@ -package ru.simsonic.rscPermissions; -import java.util.ArrayList; -import org.bukkit.command.CommandSender; -import org.bukkit.entity.Player; -import ru.simsonic.rscPermissions.Backends.BackendMySQL; -import ru.simsonic.rscPermissions.DataTypes.RowLadder; - -public class Ladders -{ - private final MainPluginClass plugin; - public Ladders(MainPluginClass rscp) - { - this.plugin = rscp; - } - public String[] executePromotion(CommandSender sender, String user, String ladder, boolean bPromote) - { - if(plugin.connectionList == null) - return null; - final BackendMySQL connection = plugin.connectionList.findConnectedNode(); - if(connection == null || !connection.canWrite()) - return null; - if("".equals(user) || (user == null)) - return new String[] { (bPromote ? "/promote" : "/demote") + " " }; - if("".equals(ladder) || (ladder == null)) - return new String[] { "You should specify ladder to promote on." }; - final Player player = plugin.getServer().getPlayerExact(user); - if(player == null) - return new String[] { "Player must be online." }; - String template = ladder; - String instance = ""; - String[] breaked = ladder.split(Settings.separatorRegExp); - if(breaked.length == 2) - { - template = breaked[0].toLowerCase(); - instance = breaked[1]; - } - final String perm_onself = bPromote ? "rscp.promote-self." : "rscp.demote-self."; - final String perm_sender = bPromote ? "rscp.promote." : "rscp.demote."; - final String perm_target = bPromote ? "rscp.promotable." : "rscp.demotable."; - boolean bOS = sender.hasPermission(perm_onself + "*"); - boolean bSP = sender.hasPermission(perm_sender + "*"); - boolean bUP = player.hasPermission(perm_target + "*"); - if(!"".equals(instance)) - { - bOS = bOS || sender.hasPermission(perm_onself + template + ".*"); - bOS = bOS || sender.hasPermission(perm_onself + template + "." + instance.toLowerCase()); - bSP = bSP || sender.hasPermission(perm_sender + template + ".*"); - bSP = bSP || sender.hasPermission(perm_sender + template + "." + instance.toLowerCase()); - bUP = bUP || player.hasPermission(perm_target + template + ".*"); - bUP = bUP || player.hasPermission(perm_target + template + "." + instance.toLowerCase()); - } else { - bOS = bOS || sender.hasPermission(perm_onself + template); - bSP = bSP || sender.hasPermission(perm_sender + template); - bUP = bUP || player.hasPermission(perm_target + template); - } - if(sender instanceof Player) - if(player != (Player)sender) - bOS = false; - boolean bPromotionAllowed = bOS || (bSP && bUP) || sender.hasPermission("rscp.admin.promote"); - if(bPromotionAllowed == false) - { - if(bSP == false) - return new String[] { "You are not allowed to promote/demote on this ladder." }; - if(bUP == false) - return new String[] { "Player is not promotable on this ladder." }; - } - /* - int rank = plugin.cache2.getUserRank(user, template, instance); - final ArrayList ladderArray = plugin.cache.buildLadderTemplate(template); - if(ladderArray.isEmpty()) - return new String[] { "There is no such ladder." }; - RowLadder position = ladderArray.get(0).getActualNode(rank); - if(bPromote) - { - if(position.nextNode != null) - position = position.nextNode; - } else - if(position.prevNode != null) - position = position.prevNode; - if(position.instance != null) - if(Settings.instantiator.equals(position.instance)) - { - if("".equals(instance)) - return new String[] { "Operation requires ladder instance (