From af234b284b7aa17e2a4873d0b56c3df0bf82ee44 Mon Sep 17 00:00:00 2001 From: Owen <23108066+Owen1212055@users.noreply.github.com> Date: Thu, 9 Jun 2022 06:48:24 -0400 Subject: [PATCH] Add block break effect to area pickaxe (#1770) * Add block break effect to area pickaxe * Create pos lower * Check before queueing block effect * comment --- .../com/sk89q/worldedit/command/tool/AreaPickaxe.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/AreaPickaxe.java b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/AreaPickaxe.java index 347605193..299908d99 100644 --- a/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/AreaPickaxe.java +++ b/worldedit-core/src/main/java/com/sk89q/worldedit/command/tool/AreaPickaxe.java @@ -27,7 +27,9 @@ import com.sk89q.worldedit.MaxChangedBlocksException; import com.sk89q.worldedit.entity.Player; import com.sk89q.worldedit.extension.platform.Actor; import com.sk89q.worldedit.extension.platform.Platform; +import com.sk89q.worldedit.math.BlockVector3; import com.sk89q.worldedit.util.Location; +import com.sk89q.worldedit.world.World; import com.sk89q.worldedit.world.block.BlockType; import com.sk89q.worldedit.world.block.BlockTypes; @@ -73,9 +75,14 @@ public class AreaPickaxe implements BlockTool { if (!initialType.equals(editSession.getBlock(x, y, z).getBlockType())) { continue; } + // FAWE start - Only queue the block break effect if setting the block is successful + if (editSession.setBlock(x, y, z, BlockTypes.AIR.getDefaultState())) { - editSession.setBlock(x, y, z, BlockTypes.AIR.getDefaultState()); - + BlockVector3 pos = BlockVector3.at(x, y, z); + ((World) clicked.getExtent()).queueBlockBreakEffect(server, pos, initialType, + clicked.toVector().toBlockPoint().distanceSq(pos)); + } + // FAWE end } } }