From 912b960e6bfe3d329f1369e76f057b24b4ba7110 Mon Sep 17 00:00:00 2001 From: Momshroom Date: Thu, 23 May 2024 19:49:32 -0500 Subject: [PATCH] made new method more generic. Removed no longer needed dropString variable Signed-off-by: Momshroom --- .../nossr50/skills/woodcutting/WoodcuttingManager.java | 6 ++++-- src/main/java/com/gmail/nossr50/util/Misc.java | 7 +++---- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/gmail/nossr50/skills/woodcutting/WoodcuttingManager.java b/src/main/java/com/gmail/nossr50/skills/woodcutting/WoodcuttingManager.java index 760a448c7..679f15017 100644 --- a/src/main/java/com/gmail/nossr50/skills/woodcutting/WoodcuttingManager.java +++ b/src/main/java/com/gmail/nossr50/skills/woodcutting/WoodcuttingManager.java @@ -35,6 +35,7 @@ import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.concurrent.ThreadLocalRandom; +import java.util.function.Predicate; //TODO: Seems to not be using the item drop event for bonus drops, may want to change that.. or may not be able to be changed? public class WoodcuttingManager extends SkillManager { @@ -330,8 +331,9 @@ public class WoodcuttingManager extends SkillManager { } // if KnockOnWood is unlocked, then drop any saplings from the remaining blocks else if (RankUtils.hasUnlockedSubskill(player, SubSkillType.WOODCUTTING_KNOCK_ON_WOOD)) { - Misc.spawnItemIfSapling(player, Misc.getBlockCenter(blockState), - block.getDrops(itemStack),ItemSpawnReason.TREE_FELLER_DISPLACED_BLOCK); + Predicate isSapling = p -> p.contains("sapling") || p.contains("propagule"); + Misc.conditionallySpawn(isSapling, player, Misc.getBlockCenter(blockState), + block.getDrops(itemStack), ItemSpawnReason.TREE_FELLER_DISPLACED_BLOCK); } //Drop displaced non-woodcutting XP blocks diff --git a/src/main/java/com/gmail/nossr50/util/Misc.java b/src/main/java/com/gmail/nossr50/util/Misc.java index 9a924c156..9b719b7aa 100644 --- a/src/main/java/com/gmail/nossr50/util/Misc.java +++ b/src/main/java/com/gmail/nossr50/util/Misc.java @@ -20,6 +20,7 @@ import java.util.Collection; import java.util.Locale; import java.util.Random; import java.util.Set; +import java.util.function.Predicate; public final class Misc { private static final @NotNull Random random = new Random(); @@ -132,11 +133,9 @@ public final class Misc { * Drops the item from the item stack only if it is a sapling (or equivalent) * Needed for TreeFeller */ - public static void spawnItemIfSapling(@NotNull Player player, @NotNull Location spawnLocation, @NotNull Collection drops, @NotNull ItemSpawnReason itemSpawnReason) { - String dropString; + public static void conditionallySpawn(@NotNull Predicate predicate, @NotNull Player player, @NotNull Location spawnLocation, @NotNull Collection drops, @NotNull ItemSpawnReason itemSpawnReason) { for (ItemStack drop : drops) { - dropString = drop.getType().getKey().getKey(); - if (dropString.contains("sapling") || dropString.contains("propagule")) { + if (predicate.test(drop.getType().getKey().getKey())) { spawnItem(player, spawnLocation, drop, itemSpawnReason); } }