From 1d961267dbc04443e0008c41e86cf0c09d2de350 Mon Sep 17 00:00:00 2001 From: Raycoms Date: Sun, 9 Feb 2025 09:52:39 +0100 Subject: [PATCH] scan tool fixes (#719) port Fix slab/domum handling and water handling and grass/dirt path handling and stairs handling --- .../operations/RemoveBlockOperation.java | 5 ++++ .../handlers/placement/PlacementHandlers.java | 25 +++++++++++-------- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/ldtteam/structurize/operations/RemoveBlockOperation.java b/src/main/java/com/ldtteam/structurize/operations/RemoveBlockOperation.java index 0943dcc6b..b4cdebf78 100644 --- a/src/main/java/com/ldtteam/structurize/operations/RemoveBlockOperation.java +++ b/src/main/java/com/ldtteam/structurize/operations/RemoveBlockOperation.java @@ -6,6 +6,7 @@ import net.minecraft.server.level.ServerLevel; import net.minecraft.world.entity.player.Player; import net.minecraft.world.item.ItemStack; +import net.minecraft.world.level.block.Blocks; /** * Operation for removing one type of block. @@ -37,6 +38,10 @@ protected void apply(final ServerLevel world, final BlockPos position) { storage.addPreviousDataFor(position, world); world.removeBlock(position, false); + if (!world.getFluidState(position).isEmpty()) + { + world.setBlock(position, Blocks.AIR.defaultBlockState(), 3); + } storage.addPostDataFor(position, world); } } diff --git a/src/main/java/com/ldtteam/structurize/placement/handlers/placement/PlacementHandlers.java b/src/main/java/com/ldtteam/structurize/placement/handlers/placement/PlacementHandlers.java index 2ed898e57..35bb19628 100644 --- a/src/main/java/com/ldtteam/structurize/placement/handlers/placement/PlacementHandlers.java +++ b/src/main/java/com/ldtteam/structurize/placement/handlers/placement/PlacementHandlers.java @@ -23,10 +23,7 @@ import net.minecraft.world.level.block.*; import net.minecraft.world.level.block.entity.BlockEntity; import net.minecraft.world.level.block.state.BlockState; -import net.minecraft.world.level.block.state.properties.BedPart; -import net.minecraft.world.level.block.state.properties.BlockStateProperties; -import net.minecraft.world.level.block.state.properties.DoubleBlockHalf; -import net.minecraft.world.level.block.state.properties.DripstoneThickness; +import net.minecraft.world.level.block.state.properties.*; import net.minecraft.world.phys.AABB; import org.jetbrains.annotations.Nullable; @@ -341,9 +338,11 @@ public List getRequiredItems( @Nullable final CompoundTag tileEntityData, final boolean complete) { - final List itemList = new ArrayList<>(); - itemList.add(new ItemStack(Blocks.DIRT)); - return itemList; + if (complete) + { + return Collections.singletonList(new ItemStack(blockState.getBlock())); + } + return Collections.singletonList(new ItemStack(Blocks.DIRT)); } } @@ -647,9 +646,11 @@ public List getRequiredItems( @Nullable final CompoundTag tileEntityData, final boolean complete) { - final List itemList = new ArrayList<>(); - itemList.add(new ItemStack(Blocks.DIRT, 1)); - return itemList; + if (complete) + { + return Collections.singletonList(new ItemStack(blockState.getBlock())); + } + return Collections.singletonList(new ItemStack(Blocks.DIRT)); } } @@ -686,6 +687,10 @@ public List getRequiredItems( @Nullable final CompoundTag tileEntityData, final boolean complete) { + if (complete) + { + return Collections.singletonList(new ItemStack(blockState.getBlock())); + } return new ArrayList<>(); } }