mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-06-25 10:14:43 +02:00
Mob Spawners no longer drop from Blast Mining Fixes #5052
This commit is contained in:
@ -37,6 +37,7 @@ import static com.gmail.nossr50.util.ItemUtils.isPickaxe;
|
||||
public class MiningManager extends SkillManager {
|
||||
|
||||
public static final String BUDDING_AMETHYST = "budding_amethyst";
|
||||
public static final Collection<Material> BLAST_MINING_BLACKLIST = List.of(Material.SPAWNER);
|
||||
|
||||
public MiningManager(@NotNull McMMOPlayer mcMMOPlayer) {
|
||||
super(mcMMOPlayer, PrimarySkillType.MINING);
|
||||
@ -225,13 +226,14 @@ public class MiningManager extends SkillManager {
|
||||
? blockState.getBlock().getDrops(mmoPlayer.getPlayer().getInventory().getItemInMainHand())
|
||||
: List.of(new ItemStack(blockState.getType()));
|
||||
ItemUtils.spawnItems(getPlayer(), Misc.getBlockCenter(blockState),
|
||||
oreDrops, ItemSpawnReason.BLAST_MINING_ORES);
|
||||
oreDrops, BLAST_MINING_BLACKLIST, ItemSpawnReason.BLAST_MINING_ORES);
|
||||
|
||||
if (mcMMO.p.getAdvancedConfig().isBlastMiningBonusDropsEnabled()) {
|
||||
for (int i = 1; i < dropMultiplier; i++) {
|
||||
ItemUtils.spawnItems(getPlayer(),
|
||||
Misc.getBlockCenter(blockState),
|
||||
oreDrops,
|
||||
BLAST_MINING_BLACKLIST,
|
||||
ItemSpawnReason.BLAST_MINING_ORES_BONUS_DROP);
|
||||
}
|
||||
}
|
||||
|
@ -696,6 +696,29 @@ public final class ItemUtils {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Drop items at a given location.
|
||||
*
|
||||
* @param player player to drop the items for
|
||||
* @param location The location to drop the items at
|
||||
* @param itemStacks The items to drop
|
||||
* @param blackList The items to skip
|
||||
* @param itemSpawnReason the reason for the item drop
|
||||
*/
|
||||
public static void spawnItems(@Nullable Player player,
|
||||
@NotNull Location location,
|
||||
@NotNull Collection<ItemStack> itemStacks,
|
||||
@NotNull Collection<Material> blackList,
|
||||
@NotNull ItemSpawnReason itemSpawnReason) {
|
||||
for (ItemStack is : itemStacks) {
|
||||
// Skip blacklisted items
|
||||
if(blackList.contains(is.getType())) {
|
||||
continue;
|
||||
}
|
||||
spawnItem(player, location, is, itemSpawnReason);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Drop items at a given location.
|
||||
*
|
||||
|
Reference in New Issue
Block a user