From c2df9853a125204c855a88411ff9ca611ec094bd Mon Sep 17 00:00:00 2001 From: Cola Date: Fri, 15 Mar 2024 18:14:59 +1100 Subject: [PATCH 1/2] Make sapling hack better --- .../simpleadminhacks/hacks/SaplingHack.java | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/plugins/simpleadminhacks-paper/src/main/java/com/programmerdan/minecraft/simpleadminhacks/hacks/SaplingHack.java b/plugins/simpleadminhacks-paper/src/main/java/com/programmerdan/minecraft/simpleadminhacks/hacks/SaplingHack.java index 021531a09..abb9351c4 100644 --- a/plugins/simpleadminhacks-paper/src/main/java/com/programmerdan/minecraft/simpleadminhacks/hacks/SaplingHack.java +++ b/plugins/simpleadminhacks-paper/src/main/java/com/programmerdan/minecraft/simpleadminhacks/hacks/SaplingHack.java @@ -5,6 +5,7 @@ import com.programmerdan.minecraft.simpleadminhacks.configs.SaplingConfig; import com.programmerdan.minecraft.simpleadminhacks.framework.SimpleHack; import java.util.Random; import org.bukkit.Material; +import org.bukkit.Tag; import org.bukkit.block.Block; import org.bukkit.configuration.ConfigurationSection; import org.bukkit.enchantments.Enchantment; @@ -43,7 +44,7 @@ public class SaplingHack extends SimpleHack implements Listener { return; } double nextDouble = random.nextDouble(); - if (nextDouble <= this.config.getChanceMap().get(brokenBlock.getType())) { + if (nextDouble <= this.config.getChanceMap().getOrDefault(brokenBlock.getType(), 0.0D)) { brokenBlock.getWorld().dropItemNaturally(brokenBlock.getLocation(), new ItemStack(getSaplingMaterial(brokenBlock.getType()), 1)); logger.info("Dropped extra " + getSaplingMaterial(brokenBlock.getType()) + " from being broken at " + brokenBlock.getLocation()); } @@ -56,17 +57,14 @@ public class SaplingHack extends SimpleHack implements Listener { return; } double nextDouble = random.nextDouble(); - if (nextDouble <= this.config.getChanceMap().get(decayedBlock.getType())) { + if (nextDouble <= this.config.getChanceMap().getOrDefault(decayedBlock.getType(), 0.0D)) { decayedBlock.getWorld().dropItemNaturally(decayedBlock.getLocation(), new ItemStack(getSaplingMaterial(decayedBlock.getType()), 1)); logger.info("Dropped extra " + getSaplingMaterial(decayedBlock.getType()) + " from being broken at " + decayedBlock.getLocation()); } } private boolean checkIfLeafBlock(Block block) { - return switch (block.getType()) { - case OAK_LEAVES, BIRCH_LEAVES, SPRUCE_LEAVES, JUNGLE_LEAVES, ACACIA_LEAVES, DARK_OAK_LEAVES -> true; - default -> false; - }; + return Tag.LEAVES.isTagged(block.getType()); } private boolean checkIfItemHasFortune(ItemStack itemStack) { @@ -84,7 +82,9 @@ public class SaplingHack extends SimpleHack implements Listener { case JUNGLE_LEAVES -> Material.JUNGLE_SAPLING; case ACACIA_LEAVES -> Material.ACACIA_SAPLING; case DARK_OAK_LEAVES -> Material.DARK_OAK_SAPLING; + case AZALEA_LEAVES -> Material.AZALEA; //We set this to air so nothing will drop if it comes to erroring + //This needs to be updated any time a new tree is added, can we make it better? default -> Material.AIR; }; } From aeb62b048dbc306aa0ee751d4e4eeb7d8e5bf3d4 Mon Sep 17 00:00:00 2001 From: Cola Date: Sun, 17 Mar 2024 00:31:39 +1100 Subject: [PATCH 2/2] Remove check in favour of getOrDefault --- .../minecraft/simpleadminhacks/hacks/SaplingHack.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/plugins/simpleadminhacks-paper/src/main/java/com/programmerdan/minecraft/simpleadminhacks/hacks/SaplingHack.java b/plugins/simpleadminhacks-paper/src/main/java/com/programmerdan/minecraft/simpleadminhacks/hacks/SaplingHack.java index abb9351c4..5eee8de43 100644 --- a/plugins/simpleadminhacks-paper/src/main/java/com/programmerdan/minecraft/simpleadminhacks/hacks/SaplingHack.java +++ b/plugins/simpleadminhacks-paper/src/main/java/com/programmerdan/minecraft/simpleadminhacks/hacks/SaplingHack.java @@ -40,9 +40,6 @@ public class SaplingHack extends SimpleHack implements Listener { return; } } - if (!this.config.getChanceMap().containsKey(brokenBlock.getType())) { - return; - } double nextDouble = random.nextDouble(); if (nextDouble <= this.config.getChanceMap().getOrDefault(brokenBlock.getType(), 0.0D)) { brokenBlock.getWorld().dropItemNaturally(brokenBlock.getLocation(), new ItemStack(getSaplingMaterial(brokenBlock.getType()), 1));