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.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

View File

@ -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);
}
/**

View File

@ -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);
}
/**

View File

@ -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)

View File

@ -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)

View File

@ -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);
}
/**

View File

@ -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<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)
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;
}

View File

@ -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);
}
/**

View File

@ -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<IslandDeletion> handler;
private Set<Location> 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<>();
}