Made each "basic" listeners register themselves on instanciation

This commit is contained in:
Florian CUNY 2019-02-14 11:24:58 +01:00
parent 7ac5f556a1
commit 53137b526d
9 changed files with 47 additions and 27 deletions

View File

@ -5,7 +5,6 @@ import java.util.Optional;
import org.apache.commons.lang.exception.ExceptionUtils; import org.apache.commons.lang.exception.ExceptionUtils;
import org.bukkit.Bukkit; import org.bukkit.Bukkit;
import org.bukkit.generator.ChunkGenerator; import org.bukkit.generator.ChunkGenerator;
import org.bukkit.plugin.PluginManager;
import org.bukkit.plugin.java.JavaPlugin; import org.bukkit.plugin.java.JavaPlugin;
import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.NonNull;
import org.eclipse.jdt.annotation.Nullable; import org.eclipse.jdt.annotation.Nullable;
@ -199,24 +198,29 @@ public class BentoBox extends JavaPlugin {
* Registers listeners. * Registers listeners.
*/ */
private void registerListeners() { private void registerListeners() {
PluginManager manager = getServer().getPluginManager(); // Player join/leave events
// Player join events new JoinLeaveListener(this);
manager.registerEvents(new JoinLeaveListener(this), this);
// Panel listener manager // Panel listener manager
manager.registerEvents(new PanelListenerManager(), this); new PanelListenerManager(this);
// Nether portals // Nether portals
manager.registerEvents(new NetherPortals(this), this); new NetherPortals(this);
// Nether trees conversion // Nether trees conversion
manager.registerEvents(new NetherTreesListener(this), this); new NetherTreesListener(this);
// End dragon blocking // End dragon blocking
manager.registerEvents(new BlockEndDragon(this), this); new BlockEndDragon(this);
// Banned visitor commands // Banned visitor commands
manager.registerEvents(new BannedVisitorCommands(this), this); new BannedVisitorCommands(this);
// Death counter // Death counter
manager.registerEvents(new DeathListener(this), this); new DeathListener(this);
// Island Delete Manager
// Island Deletion Manager
islandDeletionManager = new IslandDeletionManager(this); islandDeletionManager = new IslandDeletionManager(this);
manager.registerEvents(islandDeletionManager, this);
} }
@Override @Override

View File

@ -5,6 +5,7 @@ import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerCommandPreprocessEvent; import org.bukkit.event.player.PlayerCommandPreprocessEvent;
import org.eclipse.jdt.annotation.NonNull;
import world.bentobox.bentobox.BentoBox; import world.bentobox.bentobox.BentoBox;
import world.bentobox.bentobox.api.localization.TextVariables; import world.bentobox.bentobox.api.localization.TextVariables;
import world.bentobox.bentobox.api.user.User; import world.bentobox.bentobox.api.user.User;
@ -21,8 +22,9 @@ public class BannedVisitorCommands implements Listener {
/** /**
* @param plugin - plugin * @param plugin - plugin
*/ */
public BannedVisitorCommands(BentoBox plugin) { public BannedVisitorCommands(@NonNull BentoBox plugin) {
this.plugin = plugin; this.plugin = plugin;
plugin.getServer().getPluginManager().registerEvents(this, plugin);
} }
/** /**

View File

@ -9,16 +9,17 @@ import org.bukkit.event.block.BlockBreakEvent;
import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.event.block.BlockPlaceEvent;
import org.bukkit.event.world.ChunkLoadEvent; import org.bukkit.event.world.ChunkLoadEvent;
import org.eclipse.jdt.annotation.NonNull;
import world.bentobox.bentobox.BentoBox; import world.bentobox.bentobox.BentoBox;
import world.bentobox.bentobox.lists.Flags; import world.bentobox.bentobox.lists.Flags;
public class BlockEndDragon implements Listener { public class BlockEndDragon implements Listener {
private BentoBox plugin; private BentoBox plugin;
public BlockEndDragon(BentoBox plugin) { public BlockEndDragon(@NonNull BentoBox plugin) {
this.plugin = plugin; this.plugin = plugin;
plugin.getServer().getPluginManager().registerEvents(this, plugin);
} }
/** /**

View File

@ -5,6 +5,7 @@ import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.entity.PlayerDeathEvent; import org.bukkit.event.entity.PlayerDeathEvent;
import org.eclipse.jdt.annotation.NonNull;
import world.bentobox.bentobox.BentoBox; import world.bentobox.bentobox.BentoBox;
/** /**
@ -16,9 +17,9 @@ public class DeathListener implements Listener {
private BentoBox plugin; private BentoBox plugin;
public DeathListener(BentoBox plugin) { public DeathListener(@NonNull BentoBox plugin) {
super();
this.plugin = plugin; this.plugin = plugin;
plugin.getServer().getPluginManager().registerEvents(this, plugin);
} }
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)

View File

@ -12,6 +12,7 @@ import org.bukkit.event.Listener;
import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerJoinEvent;
import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.player.PlayerQuitEvent;
import org.eclipse.jdt.annotation.NonNull;
import world.bentobox.bentobox.BentoBox; import world.bentobox.bentobox.BentoBox;
import world.bentobox.bentobox.api.localization.TextVariables; import world.bentobox.bentobox.api.localization.TextVariables;
import world.bentobox.bentobox.api.user.User; import world.bentobox.bentobox.api.user.User;
@ -29,9 +30,10 @@ public class JoinLeaveListener implements Listener {
/** /**
* @param plugin - plugin object * @param plugin - plugin object
*/ */
public JoinLeaveListener(BentoBox plugin) { public JoinLeaveListener(@NonNull BentoBox plugin) {
this.plugin = plugin; this.plugin = plugin;
players = plugin.getPlayers(); this.players = plugin.getPlayers();
plugin.getServer().getPluginManager().registerEvents(this, plugin);
} }
@EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true)

View File

@ -1,11 +1,8 @@
package world.bentobox.bentobox.listeners; package world.bentobox.bentobox.listeners;
import org.bukkit.Location; import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.Tag;
import org.bukkit.World; import org.bukkit.World;
import org.bukkit.World.Environment; import org.bukkit.World.Environment;
import org.bukkit.block.BlockState;
import org.bukkit.entity.Entity; import org.bukkit.entity.Entity;
import org.bukkit.entity.Player; import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler; import org.bukkit.event.EventHandler;
@ -18,9 +15,9 @@ import org.bukkit.event.entity.EntityPortalEvent;
import org.bukkit.event.player.PlayerBucketEmptyEvent; import org.bukkit.event.player.PlayerBucketEmptyEvent;
import org.bukkit.event.player.PlayerPortalEvent; import org.bukkit.event.player.PlayerPortalEvent;
import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause;
import org.bukkit.event.world.StructureGrowEvent;
import org.bukkit.util.Vector; import org.bukkit.util.Vector;
import org.eclipse.jdt.annotation.NonNull;
import world.bentobox.bentobox.BentoBox; import world.bentobox.bentobox.BentoBox;
import world.bentobox.bentobox.api.localization.TextVariables; import world.bentobox.bentobox.api.localization.TextVariables;
import world.bentobox.bentobox.api.user.User; import world.bentobox.bentobox.api.user.User;
@ -32,8 +29,9 @@ public class NetherPortals implements Listener {
private static final String SPAWN_PROTECTED = "protection.spawn-protected"; private static final String SPAWN_PROTECTED = "protection.spawn-protected";
private final BentoBox plugin; private final BentoBox plugin;
public NetherPortals(BentoBox plugin) { public NetherPortals(@NonNull BentoBox plugin) {
this.plugin = plugin; this.plugin = plugin;
plugin.getServer().getPluginManager().registerEvents(this, plugin);
} }
/** /**

View File

@ -13,6 +13,7 @@ import org.bukkit.event.inventory.InventoryType.SlotType;
import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.event.player.PlayerQuitEvent;
import org.bukkit.inventory.Inventory; import org.bukkit.inventory.Inventory;
import org.eclipse.jdt.annotation.NonNull;
import world.bentobox.bentobox.BentoBox; import world.bentobox.bentobox.BentoBox;
import world.bentobox.bentobox.api.panels.Panel; import world.bentobox.bentobox.api.panels.Panel;
import world.bentobox.bentobox.api.panels.PanelItem; import world.bentobox.bentobox.api.panels.PanelItem;
@ -22,6 +23,13 @@ public class PanelListenerManager implements Listener {
private static HashMap<UUID, Panel> openPanels = new HashMap<>(); private static HashMap<UUID, Panel> openPanels = new HashMap<>();
private BentoBox plugin;
public PanelListenerManager(@NonNull BentoBox plugin) {
this.plugin = plugin;
plugin.getServer().getPluginManager().registerEvents(this, plugin);
}
@EventHandler(priority = EventPriority.LOWEST) @EventHandler(priority = EventPriority.LOWEST)
public void onInventoryClick(InventoryClickEvent event) { public void onInventoryClick(InventoryClickEvent event) {
User user = User.getInstance(event.getWhoClicked()); // The player that clicked the item User user = User.getInstance(event.getWhoClicked()); // The player that clicked the item
@ -31,7 +39,7 @@ public class PanelListenerManager implements Listener {
// Check the name of the panel // Check the name of the panel
if (inventory.getName().equals(openPanels.get(user.getUniqueId()).getInventory().getName())) { if (inventory.getName().equals(openPanels.get(user.getUniqueId()).getInventory().getName())) {
// Close inventory if clicked outside and if setting is true // Close inventory if clicked outside and if setting is true
if (BentoBox.getInstance().getSettings().isClosePanelOnClickOutside() && event.getSlotType().equals(SlotType.OUTSIDE)) { if (plugin.getSettings().isClosePanelOnClickOutside() && event.getSlotType().equals(SlotType.OUTSIDE)) {
event.getWhoClicked().closeInventory(); event.getWhoClicked().closeInventory();
return; return;
} }

View File

@ -8,6 +8,7 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority; import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.bukkit.event.world.StructureGrowEvent; import org.bukkit.event.world.StructureGrowEvent;
import org.eclipse.jdt.annotation.NonNull;
import world.bentobox.bentobox.BentoBox; import world.bentobox.bentobox.BentoBox;
import world.bentobox.bentobox.api.configuration.WorldSettings; import world.bentobox.bentobox.api.configuration.WorldSettings;
@ -20,8 +21,9 @@ public class NetherTreesListener implements Listener {
private BentoBox plugin; private BentoBox plugin;
public NetherTreesListener(BentoBox plugin) { public NetherTreesListener(@NonNull BentoBox plugin) {
this.plugin = plugin; this.plugin = plugin;
plugin.getServer().getPluginManager().registerEvents(this, plugin);
} }
/** /**

View File

@ -9,6 +9,7 @@ import org.bukkit.event.EventHandler;
import org.bukkit.event.EventPriority; import org.bukkit.event.EventPriority;
import org.bukkit.event.Listener; import org.bukkit.event.Listener;
import org.eclipse.jdt.annotation.NonNull;
import world.bentobox.bentobox.BentoBox; import world.bentobox.bentobox.BentoBox;
import world.bentobox.bentobox.api.events.BentoBoxReadyEvent; import world.bentobox.bentobox.api.events.BentoBoxReadyEvent;
import world.bentobox.bentobox.api.events.island.IslandEvent.IslandDeleteChunksEvent; import world.bentobox.bentobox.api.events.island.IslandEvent.IslandDeleteChunksEvent;
@ -32,8 +33,9 @@ public class IslandDeletionManager implements Listener {
private Database<IslandDeletion> handler; private Database<IslandDeletion> handler;
private Set<Location> inDeletion; private Set<Location> inDeletion;
public IslandDeletionManager(BentoBox plugin) { public IslandDeletionManager(@NonNull BentoBox plugin) {
this.plugin = plugin; this.plugin = plugin;
plugin.getServer().getPluginManager().registerEvents(this, plugin);
handler = new Database<>(plugin, IslandDeletion.class); handler = new Database<>(plugin, IslandDeletion.class);
inDeletion = new HashSet<>(); inDeletion = new HashSet<>();
} }