Fix experience orbs not dropping when a spawner is broken

This commit is contained in:
2024-10-01 17:21:42 -07:00
parent 35c062f186
commit 372c53b526

View File

@@ -1,13 +1,20 @@
package io.github.lncvrt.lncvrtbox.events; package io.github.lncvrt.lncvrtbox.events;
import io.github.lncvrt.lncvrtbox.LncvrtBox; import io.github.lncvrt.lncvrtbox.LncvrtBox;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.entity.ExperienceOrb;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler; 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.block.BlockBreakEvent; import org.bukkit.event.block.BlockBreakEvent;
import java.util.Random;
public class BlockBreakListener implements Listener { public class BlockBreakListener implements Listener {
private final LncvrtBox plugin; private final LncvrtBox plugin;
private final Random random = new Random();
public BlockBreakListener(LncvrtBox plugin) { public BlockBreakListener(LncvrtBox plugin) {
this.plugin = plugin; this.plugin = plugin;
@@ -15,6 +22,14 @@ public class BlockBreakListener implements Listener {
@EventHandler(priority = EventPriority.LOWEST) @EventHandler(priority = EventPriority.LOWEST)
public void onBlockBreak(BlockBreakEvent event) { public void onBlockBreak(BlockBreakEvent event) {
plugin.convertInventoryItemsPrep(event.getPlayer(), event.getPlayer().getUniqueId()); Player player = event.getPlayer();
plugin.convertInventoryItemsPrep(player, player.getUniqueId());
if (event.getBlock().getType() == Material.SPAWNER) {
int exp = random.nextInt(29) + 15;
Location blockLocation = event.getBlock().getLocation();
ExperienceOrb orb = blockLocation.getWorld().spawn(blockLocation, ExperienceOrb.class);
orb.setExperience(exp);
}
} }
} }