It now runs

This commit is contained in:
Matthew Miller 2018-07-22 13:35:01 +10:00
parent 2e8d14c995
commit b10cf6adbc
9 changed files with 32 additions and 16 deletions

View File

@ -40,7 +40,11 @@ public static WorldGuard getInstance() {
return instance; return instance;
} }
public WorldGuard() { private WorldGuard() {
}
public void setup() {
getPlatform().load();
Flags.registerAll(); Flags.registerAll();
} }

View File

@ -27,8 +27,8 @@
public abstract class YamlWorldConfiguration extends WorldConfiguration { public abstract class YamlWorldConfiguration extends WorldConfiguration {
@Unreported private YAMLProcessor parentConfig; @Unreported protected YAMLProcessor parentConfig;
@Unreported private YAMLProcessor config; @Unreported protected YAMLProcessor config;
public boolean getBoolean(String node, boolean def) { public boolean getBoolean(String node, boolean def) {
boolean val = parentConfig.getBoolean(node, def); boolean val = parentConfig.getBoolean(node, def);

View File

@ -96,6 +96,11 @@ public interface WorldGuardPlatform {
*/ */
void broadcastNotification(String message); void broadcastNotification(String message);
/**
* Load the platform
*/
void load();
/** /**
* Unload the platform * Unload the platform
*/ */

View File

@ -43,6 +43,7 @@ public class BukkitConfigurationManager extends YamlConfigurationManager {
*/ */
public BukkitConfigurationManager(WorldGuardPlugin plugin) { public BukkitConfigurationManager(WorldGuardPlugin plugin) {
super(); super();
this.plugin = plugin;
} }
@Override @Override

View File

@ -66,8 +66,6 @@ public class BukkitWorldConfiguration extends YamlWorldConfiguration {
@Unreported private WorldGuardPlugin plugin; @Unreported private WorldGuardPlugin plugin;
@Unreported private String worldName; @Unreported private String worldName;
@Unreported private YAMLProcessor parentConfig;
@Unreported private YAMLProcessor config;
@Unreported private ChestProtection chestProtection = new SignChestProtection(); @Unreported private ChestProtection chestProtection = new SignChestProtection();

View File

@ -42,14 +42,10 @@
public class BukkitWorldGuardPlatform implements WorldGuardPlatform { public class BukkitWorldGuardPlatform implements WorldGuardPlatform {
private SessionManager sessionManager; private SessionManager sessionManager;
private final BukkitConfigurationManager configuration; private BukkitConfigurationManager configuration;
private final BukkitRegionContainer regionContainer; private BukkitRegionContainer regionContainer;
public BukkitWorldGuardPlatform() { public BukkitWorldGuardPlatform() {
sessionManager = new BukkitSessionManager(WorldGuardPlugin.inst());
configuration = new BukkitConfigurationManager(WorldGuardPlugin.inst());
regionContainer = new BukkitRegionContainer(WorldGuardPlugin.inst());
regionContainer.initialize();
} }
@Override @Override
@ -108,6 +104,15 @@ public void broadcastNotification(String message) {
WorldGuard.logger.info(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 @Override
public void unload() { public void unload() {
configuration.unload(); configuration.unload();

View File

@ -126,7 +126,7 @@ public class WorldGuardPlugin extends JavaPlugin {
private static WorldGuardPlugin inst; private static WorldGuardPlugin inst;
private static BukkitWorldGuardPlatform platform; private static BukkitWorldGuardPlatform platform;
private final CommandsManager<CommandSender> commands; private final CommandsManager<CommandSender> commands;
private final GlobalRegionManager globalRegionManager = new GlobalRegionManager((BukkitRegionContainer) WorldGuard.getInstance().getPlatform().getRegionContainer()); private GlobalRegionManager globalRegionManager;
private final Supervisor supervisor = new SimpleSupervisor(); private final Supervisor supervisor = new SimpleSupervisor();
private ListeningExecutorService executorService; private ListeningExecutorService executorService;
private ProfileService profileService; private ProfileService profileService;
@ -168,7 +168,9 @@ public void onEnable() {
executorService = MoreExecutors.listeningDecorator(EvenMoreExecutors.newBoundedCachedThreadPool(0, 1, 20)); executorService = MoreExecutors.listeningDecorator(EvenMoreExecutors.newBoundedCachedThreadPool(0, 1, 20));
WorldGuard.getInstance().setPlatform(platform = new BukkitWorldGuardPlatform()); // Initialise WorldGuard WorldGuard.getInstance().setPlatform(platform = new BukkitWorldGuardPlatform()); // Initialise WorldGuard
WorldGuard.getInstance().setup();
BukkitSessionManager sessionManager = (BukkitSessionManager) platform.getSessionManager(); BukkitSessionManager sessionManager = (BukkitSessionManager) platform.getSessionManager();
globalRegionManager = new GlobalRegionManager(WorldGuard.getInstance().getPlatform().getRegionContainer());
// Set the proper command injector // Set the proper command injector
commands.setInjector(new SimpleInjector(this)); commands.setInjector(new SimpleInjector(this));

View File

@ -106,9 +106,8 @@ public void onBreakBlock(final BreakBlockEvent event) {
@EventHandler(ignoreCancelled = true) @EventHandler(ignoreCancelled = true)
public void onUseBlock(final UseBlockEvent event) { public void onUseBlock(final UseBlockEvent event) {
final Player player = event.getCause().getFirstPlayer(); 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 // Early guard
if (!wcfg.signChestProtection) { if (!wcfg.signChestProtection) {
@ -116,6 +115,7 @@ public void onUseBlock(final UseBlockEvent event) {
} }
if (player != null) { if (player != null) {
final LocalPlayer localPlayer = WorldGuardPlugin.inst().wrapPlayer(player);
event.filter(target -> { event.filter(target -> {
if (wcfg.isChestProtected(BukkitAdapter.adapt(target.getBlock().getLocation()), localPlayer)) { if (wcfg.isChestProtected(BukkitAdapter.adapt(target.getBlock().getLocation()), localPlayer)) {
sendMessage(event, player, ChatColor.DARK_RED + "This chest is protected."); sendMessage(event, player, ChatColor.DARK_RED + "This chest is protected.");

View File

@ -80,9 +80,10 @@ public void onPlayerMove(PlayerMoveEvent event) {
LocalPlayer localPlayer = plugin.wrapPlayer(player); LocalPlayer localPlayer = plugin.wrapPlayer(player);
Session session = WorldGuard.getInstance().getPlatform().getSessionManager().get(localPlayer); 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.setX(override.getBlockX() + 0.5);
override.setY(override.getBlockY()); override.setY(override.getBlockY());
override.setZ(override.getBlockZ() + 0.5); override.setZ(override.getBlockZ() + 0.5);