Skip to content

Commit

Permalink
Moved WorldEdit plugin listening to private handler in plugin main. C…
Browse files Browse the repository at this point in the history
…loses #385.
  • Loading branch information
dumptruckman committed Jul 16, 2015
1 parent 3b1b6cc commit d3f4c53
Show file tree
Hide file tree
Showing 2 changed files with 38 additions and 29 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,12 @@
import org.bukkit.configuration.file.FileConfiguration;
import org.bukkit.configuration.file.YamlConfiguration;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.server.PluginDisableEvent;
import org.bukkit.event.server.PluginEnableEvent;
import org.bukkit.permissions.Permission;
import org.bukkit.plugin.Plugin;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin;

Expand Down Expand Up @@ -161,7 +166,7 @@ private void registerEvents() {
*/
private void checkForWorldEdit() {
worldEditConnection = new WorldEditConnection(this);
getServer().getPluginManager().registerEvents(worldEditConnection, this);
getServer().getPluginManager().registerEvents(new WorldEditPluginListener(worldEditConnection), this);
worldEditConnection.connect();
}

Expand Down Expand Up @@ -483,4 +488,35 @@ public boolean isWandEnabled() {
public void setWandEnabled(boolean enabled) {
WandEnabled = enabled;
}

private static class WorldEditPluginListener implements Listener {

private final WorldEditConnection worldEditConnection;

private WorldEditPluginListener(WorldEditConnection worldEditConnection) {
this.worldEditConnection = worldEditConnection;
}

private boolean isPluginWorldEdit(Plugin plugin) {
if (plugin == null) {
throw new RuntimeException("plugin must not be null.");
}

return plugin.getName().equals("WorldEdit");
}

@EventHandler
private void pluginEnabled(PluginEnableEvent event) {
if (isPluginWorldEdit(event.getPlugin())) {
worldEditConnection.connect();
}
}

@EventHandler
private void pluginDisableEvent(PluginDisableEvent event) {
if (isPluginWorldEdit(event.getPlugin())) {
worldEditConnection.disconnect();
}
}
}
}
Original file line number Diff line number Diff line change
@@ -1,18 +1,13 @@
package com.onarandombox.MultiversePortals;

import com.google.common.base.Verify;
import com.sk89q.worldedit.bukkit.WorldEditAPI;
import com.sk89q.worldedit.bukkit.WorldEditPlugin;
import com.sk89q.worldedit.bukkit.selections.Selection;
import org.bukkit.Location;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.server.PluginDisableEvent;
import org.bukkit.event.server.PluginEnableEvent;
import org.bukkit.plugin.Plugin;

public class WorldEditConnection implements Listener {
public class WorldEditConnection {

private final Plugin connectingPlugin;

Expand Down Expand Up @@ -62,28 +57,6 @@ void disconnect() {
this.worldEditAPI = null;
}

private boolean isPluginWorldEdit(Plugin plugin) {
if (plugin == null) {
throw new RuntimeException("plugin must not be null.");
}

return plugin.getName().equals("WorldEdit");
}

@EventHandler
private void pluginEnabled(PluginEnableEvent event) {
if (isPluginWorldEdit(event.getPlugin())) {
connect();
}
}

@EventHandler
private void pluginDisableEvent(PluginDisableEvent event) {
if (isPluginWorldEdit(event.getPlugin())) {
disconnect();
}
}

/**
* Tests the connection to the WorldEdit plugin.
*
Expand Down

0 comments on commit d3f4c53

Please sign in to comment.