From b10cf6adbcd3dbbd9c66616ed6ef8b1add2315b2 Mon Sep 17 00:00:00 2001 From: Matthew Miller Date: Sun, 22 Jul 2018 13:35:01 +1000 Subject: [PATCH] It now runs --- .../java/com/sk89q/worldguard/WorldGuard.java | 6 +++++- .../config/YamlWorldConfiguration.java | 4 ++-- .../internal/platform/WorldGuardPlatform.java | 5 +++++ .../bukkit/BukkitConfigurationManager.java | 1 + .../bukkit/BukkitWorldConfiguration.java | 2 -- .../bukkit/BukkitWorldGuardPlatform.java | 17 +++++++++++------ .../worldguard/bukkit/WorldGuardPlugin.java | 4 +++- .../listener/ChestProtectionListener.java | 4 ++-- .../bukkit/listener/PlayerMoveListener.java | 5 +++-- 9 files changed, 32 insertions(+), 16 deletions(-) diff --git a/worldguard-core/src/main/java/com/sk89q/worldguard/WorldGuard.java b/worldguard-core/src/main/java/com/sk89q/worldguard/WorldGuard.java index 0c472259b..7430ac32a 100644 --- a/worldguard-core/src/main/java/com/sk89q/worldguard/WorldGuard.java +++ b/worldguard-core/src/main/java/com/sk89q/worldguard/WorldGuard.java @@ -40,7 +40,11 @@ public static WorldGuard getInstance() { return instance; } - public WorldGuard() { + private WorldGuard() { + } + + public void setup() { + getPlatform().load(); Flags.registerAll(); } diff --git a/worldguard-core/src/main/java/com/sk89q/worldguard/config/YamlWorldConfiguration.java b/worldguard-core/src/main/java/com/sk89q/worldguard/config/YamlWorldConfiguration.java index 7fde19f4b..c90a62fde 100644 --- a/worldguard-core/src/main/java/com/sk89q/worldguard/config/YamlWorldConfiguration.java +++ b/worldguard-core/src/main/java/com/sk89q/worldguard/config/YamlWorldConfiguration.java @@ -27,8 +27,8 @@ public abstract class YamlWorldConfiguration extends WorldConfiguration { - @Unreported private YAMLProcessor parentConfig; - @Unreported private YAMLProcessor config; + @Unreported protected YAMLProcessor parentConfig; + @Unreported protected YAMLProcessor config; public boolean getBoolean(String node, boolean def) { boolean val = parentConfig.getBoolean(node, def); diff --git a/worldguard-core/src/main/java/com/sk89q/worldguard/internal/platform/WorldGuardPlatform.java b/worldguard-core/src/main/java/com/sk89q/worldguard/internal/platform/WorldGuardPlatform.java index 30dfbf370..696c32f35 100644 --- a/worldguard-core/src/main/java/com/sk89q/worldguard/internal/platform/WorldGuardPlatform.java +++ b/worldguard-core/src/main/java/com/sk89q/worldguard/internal/platform/WorldGuardPlatform.java @@ -96,6 +96,11 @@ public interface WorldGuardPlatform { */ void broadcastNotification(String message); + /** + * Load the platform + */ + void load(); + /** * Unload the platform */ diff --git a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/BukkitConfigurationManager.java b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/BukkitConfigurationManager.java index 0140fce2f..8240904d1 100644 --- a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/BukkitConfigurationManager.java +++ b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/BukkitConfigurationManager.java @@ -43,6 +43,7 @@ public class BukkitConfigurationManager extends YamlConfigurationManager { */ public BukkitConfigurationManager(WorldGuardPlugin plugin) { super(); + this.plugin = plugin; } @Override diff --git a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/BukkitWorldConfiguration.java b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/BukkitWorldConfiguration.java index 03e4a6c23..2d55da3ae 100644 --- a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/BukkitWorldConfiguration.java +++ b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/BukkitWorldConfiguration.java @@ -66,8 +66,6 @@ public class BukkitWorldConfiguration extends YamlWorldConfiguration { @Unreported private WorldGuardPlugin plugin; @Unreported private String worldName; - @Unreported private YAMLProcessor parentConfig; - @Unreported private YAMLProcessor config; @Unreported private ChestProtection chestProtection = new SignChestProtection(); diff --git a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/BukkitWorldGuardPlatform.java b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/BukkitWorldGuardPlatform.java index c3f1b6566..05e39f320 100644 --- a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/BukkitWorldGuardPlatform.java +++ b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/BukkitWorldGuardPlatform.java @@ -42,14 +42,10 @@ public class BukkitWorldGuardPlatform implements WorldGuardPlatform { private SessionManager sessionManager; - private final BukkitConfigurationManager configuration; - private final BukkitRegionContainer regionContainer; + private BukkitConfigurationManager configuration; + private BukkitRegionContainer regionContainer; public BukkitWorldGuardPlatform() { - sessionManager = new BukkitSessionManager(WorldGuardPlugin.inst()); - configuration = new BukkitConfigurationManager(WorldGuardPlugin.inst()); - regionContainer = new BukkitRegionContainer(WorldGuardPlugin.inst()); - regionContainer.initialize(); } @Override @@ -108,6 +104,15 @@ public void broadcastNotification(String message) { WorldGuard.logger.info(message); } + @Override + public void load() { + sessionManager = new BukkitSessionManager(WorldGuardPlugin.inst()); + configuration = new BukkitConfigurationManager(WorldGuardPlugin.inst()); + configuration.load(); + regionContainer = new BukkitRegionContainer(WorldGuardPlugin.inst()); + regionContainer.initialize(); + } + @Override public void unload() { configuration.unload(); diff --git a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardPlugin.java b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardPlugin.java index 4c4b81aa1..92dc3106a 100644 --- a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardPlugin.java +++ b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/WorldGuardPlugin.java @@ -126,7 +126,7 @@ public class WorldGuardPlugin extends JavaPlugin { private static WorldGuardPlugin inst; private static BukkitWorldGuardPlatform platform; private final CommandsManager commands; - private final GlobalRegionManager globalRegionManager = new GlobalRegionManager((BukkitRegionContainer) WorldGuard.getInstance().getPlatform().getRegionContainer()); + private GlobalRegionManager globalRegionManager; private final Supervisor supervisor = new SimpleSupervisor(); private ListeningExecutorService executorService; private ProfileService profileService; @@ -168,7 +168,9 @@ public void onEnable() { executorService = MoreExecutors.listeningDecorator(EvenMoreExecutors.newBoundedCachedThreadPool(0, 1, 20)); WorldGuard.getInstance().setPlatform(platform = new BukkitWorldGuardPlatform()); // Initialise WorldGuard + WorldGuard.getInstance().setup(); BukkitSessionManager sessionManager = (BukkitSessionManager) platform.getSessionManager(); + globalRegionManager = new GlobalRegionManager(WorldGuard.getInstance().getPlatform().getRegionContainer()); // Set the proper command injector commands.setInjector(new SimpleInjector(this)); diff --git a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/listener/ChestProtectionListener.java b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/listener/ChestProtectionListener.java index 8f0a2864a..d92242245 100644 --- a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/listener/ChestProtectionListener.java +++ b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/listener/ChestProtectionListener.java @@ -106,9 +106,8 @@ public void onBreakBlock(final BreakBlockEvent event) { @EventHandler(ignoreCancelled = true) public void onUseBlock(final UseBlockEvent event) { final Player player = event.getCause().getFirstPlayer(); - final LocalPlayer localPlayer = WorldGuardPlugin.inst().wrapPlayer(player); - final BukkitWorldConfiguration wcfg = getWorldConfig(localPlayer); + final BukkitWorldConfiguration wcfg = getWorldConfig(BukkitAdapter.adapt(event.getWorld())); // Early guard if (!wcfg.signChestProtection) { @@ -116,6 +115,7 @@ public void onUseBlock(final UseBlockEvent event) { } if (player != null) { + final LocalPlayer localPlayer = WorldGuardPlugin.inst().wrapPlayer(player); event.filter(target -> { if (wcfg.isChestProtected(BukkitAdapter.adapt(target.getBlock().getLocation()), localPlayer)) { sendMessage(event, player, ChatColor.DARK_RED + "This chest is protected."); diff --git a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/listener/PlayerMoveListener.java b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/listener/PlayerMoveListener.java index 713b8f6f3..69f0b36e5 100644 --- a/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/listener/PlayerMoveListener.java +++ b/worldguard-legacy/src/main/java/com/sk89q/worldguard/bukkit/listener/PlayerMoveListener.java @@ -80,9 +80,10 @@ public void onPlayerMove(PlayerMoveEvent event) { LocalPlayer localPlayer = plugin.wrapPlayer(player); Session session = WorldGuard.getInstance().getPlatform().getSessionManager().get(localPlayer); - final Location override = BukkitAdapter.adapt(session.testMoveTo(localPlayer, BukkitAdapter.adapt(event.getTo()), MoveType.MOVE)); + com.sk89q.worldedit.util.Location weLocation = session.testMoveTo(localPlayer, BukkitAdapter.adapt(event.getTo()), MoveType.MOVE); - if (override != null) { + if (weLocation != null) { + final Location override = BukkitAdapter.adapt(weLocation); override.setX(override.getBlockX() + 0.5); override.setY(override.getBlockY()); override.setZ(override.getBlockZ() + 0.5);