From 53137b526de40cb9259a63e98c6b14e9bf178149 Mon Sep 17 00:00:00 2001 From: Florian CUNY Date: Thu, 14 Feb 2019 11:24:58 +0100 Subject: [PATCH] Made each "basic" listeners register themselves on instanciation --- .../world/bentobox/bentobox/BentoBox.java | 28 +++++++++++-------- .../listeners/BannedVisitorCommands.java | 4 ++- .../bentobox/listeners/BlockEndDragon.java | 5 ++-- .../bentobox/listeners/DeathListener.java | 5 ++-- .../bentobox/listeners/JoinLeaveListener.java | 6 ++-- .../bentobox/listeners/NetherPortals.java | 8 ++---- .../listeners/PanelListenerManager.java | 10 ++++++- .../listeners/flags/NetherTreesListener.java | 4 ++- .../managers/IslandDeletionManager.java | 4 ++- 9 files changed, 47 insertions(+), 27 deletions(-) diff --git a/src/main/java/world/bentobox/bentobox/BentoBox.java b/src/main/java/world/bentobox/bentobox/BentoBox.java index f3388e9d7..e62a8ab8d 100644 --- a/src/main/java/world/bentobox/bentobox/BentoBox.java +++ b/src/main/java/world/bentobox/bentobox/BentoBox.java @@ -5,7 +5,6 @@ import java.util.Optional; import org.apache.commons.lang.exception.ExceptionUtils; import org.bukkit.Bukkit; import org.bukkit.generator.ChunkGenerator; -import org.bukkit.plugin.PluginManager; import org.bukkit.plugin.java.JavaPlugin; import org.eclipse.jdt.annotation.NonNull; import org.eclipse.jdt.annotation.Nullable; @@ -199,24 +198,29 @@ public class BentoBox extends JavaPlugin { * Registers listeners. */ private void registerListeners() { - PluginManager manager = getServer().getPluginManager(); - // Player join events - manager.registerEvents(new JoinLeaveListener(this), this); + // Player join/leave events + new JoinLeaveListener(this); + // Panel listener manager - manager.registerEvents(new PanelListenerManager(), this); + new PanelListenerManager(this); + // Nether portals - manager.registerEvents(new NetherPortals(this), this); + new NetherPortals(this); + // Nether trees conversion - manager.registerEvents(new NetherTreesListener(this), this); + new NetherTreesListener(this); + // End dragon blocking - manager.registerEvents(new BlockEndDragon(this), this); + new BlockEndDragon(this); + // Banned visitor commands - manager.registerEvents(new BannedVisitorCommands(this), this); + new BannedVisitorCommands(this); + // Death counter - manager.registerEvents(new DeathListener(this), this); - // Island Delete Manager + new DeathListener(this); + + // Island Deletion Manager islandDeletionManager = new IslandDeletionManager(this); - manager.registerEvents(islandDeletionManager, this); } @Override diff --git a/src/main/java/world/bentobox/bentobox/listeners/BannedVisitorCommands.java b/src/main/java/world/bentobox/bentobox/listeners/BannedVisitorCommands.java index e31a6e268..2ea8a37ff 100644 --- a/src/main/java/world/bentobox/bentobox/listeners/BannedVisitorCommands.java +++ b/src/main/java/world/bentobox/bentobox/listeners/BannedVisitorCommands.java @@ -5,6 +5,7 @@ import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerCommandPreprocessEvent; +import org.eclipse.jdt.annotation.NonNull; import world.bentobox.bentobox.BentoBox; import world.bentobox.bentobox.api.localization.TextVariables; import world.bentobox.bentobox.api.user.User; @@ -21,8 +22,9 @@ public class BannedVisitorCommands implements Listener { /** * @param plugin - plugin */ - public BannedVisitorCommands(BentoBox plugin) { + public BannedVisitorCommands(@NonNull BentoBox plugin) { this.plugin = plugin; + plugin.getServer().getPluginManager().registerEvents(this, plugin); } /** diff --git a/src/main/java/world/bentobox/bentobox/listeners/BlockEndDragon.java b/src/main/java/world/bentobox/bentobox/listeners/BlockEndDragon.java index ef5ceceb7..570aab665 100644 --- a/src/main/java/world/bentobox/bentobox/listeners/BlockEndDragon.java +++ b/src/main/java/world/bentobox/bentobox/listeners/BlockEndDragon.java @@ -9,16 +9,17 @@ import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.event.block.BlockPlaceEvent; import org.bukkit.event.world.ChunkLoadEvent; +import org.eclipse.jdt.annotation.NonNull; import world.bentobox.bentobox.BentoBox; import world.bentobox.bentobox.lists.Flags; - public class BlockEndDragon implements Listener { private BentoBox plugin; - public BlockEndDragon(BentoBox plugin) { + public BlockEndDragon(@NonNull BentoBox plugin) { this.plugin = plugin; + plugin.getServer().getPluginManager().registerEvents(this, plugin); } /** diff --git a/src/main/java/world/bentobox/bentobox/listeners/DeathListener.java b/src/main/java/world/bentobox/bentobox/listeners/DeathListener.java index f180f6123..4fd393ac5 100644 --- a/src/main/java/world/bentobox/bentobox/listeners/DeathListener.java +++ b/src/main/java/world/bentobox/bentobox/listeners/DeathListener.java @@ -5,6 +5,7 @@ import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.entity.PlayerDeathEvent; +import org.eclipse.jdt.annotation.NonNull; import world.bentobox.bentobox.BentoBox; /** @@ -16,9 +17,9 @@ public class DeathListener implements Listener { private BentoBox plugin; - public DeathListener(BentoBox plugin) { - super(); + public DeathListener(@NonNull BentoBox plugin) { this.plugin = plugin; + plugin.getServer().getPluginManager().registerEvents(this, plugin); } @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) diff --git a/src/main/java/world/bentobox/bentobox/listeners/JoinLeaveListener.java b/src/main/java/world/bentobox/bentobox/listeners/JoinLeaveListener.java index 311f9dd52..4515ecc2b 100644 --- a/src/main/java/world/bentobox/bentobox/listeners/JoinLeaveListener.java +++ b/src/main/java/world/bentobox/bentobox/listeners/JoinLeaveListener.java @@ -12,6 +12,7 @@ import org.bukkit.event.Listener; import org.bukkit.event.player.PlayerJoinEvent; import org.bukkit.event.player.PlayerQuitEvent; +import org.eclipse.jdt.annotation.NonNull; import world.bentobox.bentobox.BentoBox; import world.bentobox.bentobox.api.localization.TextVariables; import world.bentobox.bentobox.api.user.User; @@ -29,9 +30,10 @@ public class JoinLeaveListener implements Listener { /** * @param plugin - plugin object */ - public JoinLeaveListener(BentoBox plugin) { + public JoinLeaveListener(@NonNull BentoBox plugin) { this.plugin = plugin; - players = plugin.getPlayers(); + this.players = plugin.getPlayers(); + plugin.getServer().getPluginManager().registerEvents(this, plugin); } @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = true) diff --git a/src/main/java/world/bentobox/bentobox/listeners/NetherPortals.java b/src/main/java/world/bentobox/bentobox/listeners/NetherPortals.java index a1da0288a..bddad2640 100644 --- a/src/main/java/world/bentobox/bentobox/listeners/NetherPortals.java +++ b/src/main/java/world/bentobox/bentobox/listeners/NetherPortals.java @@ -1,11 +1,8 @@ package world.bentobox.bentobox.listeners; import org.bukkit.Location; -import org.bukkit.Material; -import org.bukkit.Tag; import org.bukkit.World; import org.bukkit.World.Environment; -import org.bukkit.block.BlockState; import org.bukkit.entity.Entity; import org.bukkit.entity.Player; 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.PlayerPortalEvent; import org.bukkit.event.player.PlayerTeleportEvent.TeleportCause; -import org.bukkit.event.world.StructureGrowEvent; import org.bukkit.util.Vector; +import org.eclipse.jdt.annotation.NonNull; import world.bentobox.bentobox.BentoBox; import world.bentobox.bentobox.api.localization.TextVariables; 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 final BentoBox plugin; - public NetherPortals(BentoBox plugin) { + public NetherPortals(@NonNull BentoBox plugin) { this.plugin = plugin; + plugin.getServer().getPluginManager().registerEvents(this, plugin); } /** diff --git a/src/main/java/world/bentobox/bentobox/listeners/PanelListenerManager.java b/src/main/java/world/bentobox/bentobox/listeners/PanelListenerManager.java index 0059fe1ea..8d4a239d2 100644 --- a/src/main/java/world/bentobox/bentobox/listeners/PanelListenerManager.java +++ b/src/main/java/world/bentobox/bentobox/listeners/PanelListenerManager.java @@ -13,6 +13,7 @@ import org.bukkit.event.inventory.InventoryType.SlotType; import org.bukkit.event.player.PlayerQuitEvent; import org.bukkit.inventory.Inventory; +import org.eclipse.jdt.annotation.NonNull; import world.bentobox.bentobox.BentoBox; import world.bentobox.bentobox.api.panels.Panel; import world.bentobox.bentobox.api.panels.PanelItem; @@ -22,6 +23,13 @@ public class PanelListenerManager implements Listener { private static HashMap openPanels = new HashMap<>(); + private BentoBox plugin; + + public PanelListenerManager(@NonNull BentoBox plugin) { + this.plugin = plugin; + plugin.getServer().getPluginManager().registerEvents(this, plugin); + } + @EventHandler(priority = EventPriority.LOWEST) public void onInventoryClick(InventoryClickEvent event) { 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 if (inventory.getName().equals(openPanels.get(user.getUniqueId()).getInventory().getName())) { // 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(); return; } diff --git a/src/main/java/world/bentobox/bentobox/listeners/flags/NetherTreesListener.java b/src/main/java/world/bentobox/bentobox/listeners/flags/NetherTreesListener.java index aca1de820..9884ad4b1 100644 --- a/src/main/java/world/bentobox/bentobox/listeners/flags/NetherTreesListener.java +++ b/src/main/java/world/bentobox/bentobox/listeners/flags/NetherTreesListener.java @@ -8,6 +8,7 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; import org.bukkit.event.world.StructureGrowEvent; +import org.eclipse.jdt.annotation.NonNull; import world.bentobox.bentobox.BentoBox; import world.bentobox.bentobox.api.configuration.WorldSettings; @@ -20,8 +21,9 @@ public class NetherTreesListener implements Listener { private BentoBox plugin; - public NetherTreesListener(BentoBox plugin) { + public NetherTreesListener(@NonNull BentoBox plugin) { this.plugin = plugin; + plugin.getServer().getPluginManager().registerEvents(this, plugin); } /** diff --git a/src/main/java/world/bentobox/bentobox/managers/IslandDeletionManager.java b/src/main/java/world/bentobox/bentobox/managers/IslandDeletionManager.java index de762fafc..f05daed47 100644 --- a/src/main/java/world/bentobox/bentobox/managers/IslandDeletionManager.java +++ b/src/main/java/world/bentobox/bentobox/managers/IslandDeletionManager.java @@ -9,6 +9,7 @@ import org.bukkit.event.EventHandler; import org.bukkit.event.EventPriority; import org.bukkit.event.Listener; +import org.eclipse.jdt.annotation.NonNull; import world.bentobox.bentobox.BentoBox; import world.bentobox.bentobox.api.events.BentoBoxReadyEvent; import world.bentobox.bentobox.api.events.island.IslandEvent.IslandDeleteChunksEvent; @@ -32,8 +33,9 @@ public class IslandDeletionManager implements Listener { private Database handler; private Set inDeletion; - public IslandDeletionManager(BentoBox plugin) { + public IslandDeletionManager(@NonNull BentoBox plugin) { this.plugin = plugin; + plugin.getServer().getPluginManager().registerEvents(this, plugin); handler = new Database<>(plugin, IslandDeletion.class); inDeletion = new HashSet<>(); }