diff --git a/src/main/java/me/nvus/nvus_prison_setup/Listeners/BlockListener.java b/src/main/java/me/nvus/nvus_prison_setup/Listeners/BlockListener.java index 5913ab4..1b6b939 100644 --- a/src/main/java/me/nvus/nvus_prison_setup/Listeners/BlockListener.java +++ b/src/main/java/me/nvus/nvus_prison_setup/Listeners/BlockListener.java @@ -1,7 +1,6 @@ package me.nvus.nvus_prison_setup.Listeners; import me.nvus.nvus_prison_setup.PrisonSetup; -import org.bukkit.Material; import org.bukkit.block.Block; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; @@ -9,6 +8,9 @@ import org.bukkit.event.Listener; import org.bukkit.event.block.BlockBreakEvent; import org.bukkit.inventory.ItemStack; +import java.util.Arrays; +import java.util.List; + public class BlockListener implements Listener { private final PrisonSetup plugin; @@ -24,14 +26,16 @@ public class BlockListener implements Listener { // Check if the player is a prisoner and auto-pickup is enabled if (player.hasPermission("nvus.prisoner") && plugin.getConfigManager().getConfig("config.yml").getBoolean("AutoPickup")) { - ItemStack itemStack = new ItemStack(block.getType()); - if (player.getInventory().addItem(itemStack).isEmpty()) { - // Inventory has enough space, remove the dropped item - event.setDropItems(false); - } else { - // Inventory is full, drop the item on the ground - block.getWorld().dropItemNaturally(block.getLocation(), itemStack); - player.sendMessage("Your inventory is currently full. The resource has been dropped on the ground!"); + List drops = Arrays.asList(block.getDrops().toArray(new ItemStack[0])); + for (ItemStack drop : drops) { + if (player.getInventory().addItem(drop).isEmpty()) { + // Inventory has enough space, remove the dropped item + event.setDropItems(false); + } else { + // Inventory is full, drop the item on the ground + block.getWorld().dropItemNaturally(block.getLocation(), drop); + player.sendMessage("Your inventory is currently full. The resource has been dropped on the ground!"); + } } } }