diff --git a/src/main/java/com/songoda/ultimatestacker/UltimateStacker.java b/src/main/java/com/songoda/ultimatestacker/UltimateStacker.java index 6cfa4e7..a92b12e 100644 --- a/src/main/java/com/songoda/ultimatestacker/UltimateStacker.java +++ b/src/main/java/com/songoda/ultimatestacker/UltimateStacker.java @@ -281,7 +281,6 @@ public class UltimateStacker extends SongodaPlugin { } } }); - getServer().getPluginManager().registerEvents(new ChunkListener(this), this); } public void addExp(Player player, EntityStack stack) { diff --git a/src/main/java/com/songoda/ultimatestacker/listeners/BlockListeners.java b/src/main/java/com/songoda/ultimatestacker/listeners/BlockListeners.java index 5489978..e6d6c1b 100644 --- a/src/main/java/com/songoda/ultimatestacker/listeners/BlockListeners.java +++ b/src/main/java/com/songoda/ultimatestacker/listeners/BlockListeners.java @@ -45,6 +45,14 @@ public class BlockListeners implements Listener { this.plugin = plugin; } + @EventHandler + public void onChunkLoad(ChunkLoadEvent event) { + if (!Settings.STACK_BLOCKS.getBoolean()) return; + Chunk chunk = event.getChunk(); + BlockStackManager blockStackManager = plugin.getBlockStackManager(); + blockStackManager.getStacks().stream().filter(stack -> stack.getLocation().getChunk().equals(chunk)).forEach(plugin::updateHologram); + } + @EventHandler(priority = EventPriority.HIGHEST) public void onBlockInteract(PlayerInteractEvent event) { if (event.useInteractedBlock() == Event.Result.DENY) return; diff --git a/src/main/java/com/songoda/ultimatestacker/listeners/ChunkListener.java b/src/main/java/com/songoda/ultimatestacker/listeners/ChunkListener.java deleted file mode 100644 index 8866462..0000000 --- a/src/main/java/com/songoda/ultimatestacker/listeners/ChunkListener.java +++ /dev/null @@ -1,28 +0,0 @@ -package com.songoda.ultimatestacker.listeners; - -import com.songoda.ultimatestacker.UltimateStacker; -import com.songoda.ultimatestacker.settings.Settings; -import com.songoda.ultimatestacker.stackable.block.BlockStackManager; -import org.bukkit.Chunk; -import org.bukkit.event.EventHandler; -import org.bukkit.event.Listener; -import org.bukkit.event.world.ChunkLoadEvent; - -public class ChunkListener implements Listener { - - private final BlockStackManager blockStackManager; - private final UltimateStacker plugin; - - public ChunkListener(UltimateStacker plugin) { - this.blockStackManager = plugin.getBlockStackManager(); - this.plugin = plugin; - } - - @EventHandler - public void onChunkLoad(ChunkLoadEvent event) { - if (!Settings.STACK_BLOCKS.getBoolean()) return; - Chunk chunk = event.getChunk(); - BlockStackManager blockStackManager = plugin.getBlockStackManager(); - blockStackManager.getStacks().stream().filter(stack -> stack.getLocation().getChunk().equals(chunk)).forEach(plugin::updateHologram); - } -} diff --git a/src/main/java/com/songoda/ultimatestacker/stackable/block/BlockStackManager.java b/src/main/java/com/songoda/ultimatestacker/stackable/block/BlockStackManager.java index 30474f4..136bb63 100644 --- a/src/main/java/com/songoda/ultimatestacker/stackable/block/BlockStackManager.java +++ b/src/main/java/com/songoda/ultimatestacker/stackable/block/BlockStackManager.java @@ -8,11 +8,10 @@ import java.util.Collection; import java.util.Collections; import java.util.HashMap; import java.util.Map; -import java.util.concurrent.ConcurrentHashMap; public class BlockStackManager { - private final Map registeredBlocks = new ConcurrentHashMap<>(); + private final Map registeredBlocks = new HashMap<>(); public void addBlocks(Map blocks) { this.registeredBlocks.putAll(blocks);