From efaa4ae32e5364058582315d85676e66002454c0 Mon Sep 17 00:00:00 2001 From: Badbird-5907 <50347938+Badbird-5907@users.noreply.github.com> Date: Wed, 13 Jul 2022 15:11:26 -0400 Subject: [PATCH] instantly break some blocks --- .../api/agent/legacyagent/LegacyAgent.java | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/TerminatorPlus-API/src/main/java/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent.java b/TerminatorPlus-API/src/main/java/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent.java index 4a5f1af..bbc8213 100644 --- a/TerminatorPlus-API/src/main/java/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent.java +++ b/TerminatorPlus-API/src/main/java/net/nuggetmc/tplus/api/agent/legacyagent/LegacyAgent.java @@ -21,10 +21,7 @@ import org.bukkit.plugin.Plugin; import org.bukkit.scheduler.BukkitRunnable; import org.bukkit.util.Vector; -import java.util.HashMap; -import java.util.HashSet; -import java.util.Map; -import java.util.Set; +import java.util.*; import java.util.regex.Pattern; // Yes, this code is very unoptimized, I know. @@ -45,6 +42,23 @@ public class LegacyAgent extends Agent { private final Map mining = new HashMap<>(); private final Set fallDamageCooldown = new HashSet<>(); public boolean offsets = true; + private List instantBreakBlocks = Arrays.asList( + Material.TALL_GRASS, + Material.GRASS, + Material.KELP_PLANT, + Material.WHEAT, + Material.POTATOES, + Material.CARROT, + Material.BEETROOT, + Material.SUGAR_CANE, + Material.SWEET_BERRY_BUSH, + Material.LILY_PAD, + Material.DANDELION, + Material.POPPY, + Material.ROSE_BUSH, + Material.PUMPKIN_STEM, + Material.MELON_STEM + ); private EnumTargetGoal goal; public LegacyAgent(BotManager manager, Plugin plugin) { @@ -863,6 +877,11 @@ public class LegacyAgent extends Agent { if (block.getType() == Material.BARRIER || block.getType() == Material.BEDROCK || block.getType() == Material.END_PORTAL_FRAME) return; + if (instantBreakBlocks.contains(block.getType())) { // instant break blocks + block.breakNaturally(); + return; + } + TerminatorPlusAPI.getInternalBridge().sendBlockDestructionPacket(crackList.get(block), block.getX(), block.getY(), block.getZ(), i); mining.put(this, (byte) (i + 1));