From c61f6c7e1ae17336fd8f7c12cab7d6f677146b17 Mon Sep 17 00:00:00 2001 From: jhqwqmc <2110242767@qq.com> Date: Tue, 6 May 2025 03:21:26 +0800 Subject: [PATCH] =?UTF-8?q?fix(core):=20=E4=BF=AE=E5=A4=8D=E9=9D=9E?= =?UTF-8?q?=E6=B3=95=E5=8F=82=E6=95=B0=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../worldedit/FastAsyncWorldEditDelegate.java | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/bukkit/compatibility/src/main/java/net/momirealms/craftengine/bukkit/compatibility/worldedit/FastAsyncWorldEditDelegate.java b/bukkit/compatibility/src/main/java/net/momirealms/craftengine/bukkit/compatibility/worldedit/FastAsyncWorldEditDelegate.java index 887f85aa7..e78c6aa4e 100644 --- a/bukkit/compatibility/src/main/java/net/momirealms/craftengine/bukkit/compatibility/worldedit/FastAsyncWorldEditDelegate.java +++ b/bukkit/compatibility/src/main/java/net/momirealms/craftengine/bukkit/compatibility/worldedit/FastAsyncWorldEditDelegate.java @@ -23,7 +23,6 @@ import net.momirealms.craftengine.core.world.CEWorld; import net.momirealms.craftengine.core.world.ChunkPos; import net.momirealms.craftengine.core.world.chunk.CEChunk; import org.bukkit.Bukkit; -import org.bukkit.block.data.BlockData; import java.io.IOException; import java.util.HashSet; @@ -142,18 +141,7 @@ public class FastAsyncWorldEditDelegate extends AbstractDelegateExtent { private void processBlock(int blockX, int blockY, int blockZ, BaseBlock blockState, BaseBlock oldBlockState) throws IOException { int chunkX = blockX >> 4; int chunkZ = blockZ >> 4; - String stringBlockState; - if (blockState.getStates().isEmpty()) { - stringBlockState = blockState.getBlockType().id(); - } else { - String properties = blockState.getStates().entrySet().stream() - .map(entry -> entry.getKey().getName() - + "=" - + entry.getValue().toString().toLowerCase(Locale.ROOT)) - .collect(Collectors.joining(",")); - stringBlockState = blockState.getBlockType().id() + "[" + properties + "]"; - } - int newStateId = BlockStateUtils.blockDataToId(Bukkit.createBlockData(stringBlockState)); + int newStateId = BlockStateUtils.blockDataToId(Bukkit.createBlockData(getStringBlockState(blockState))); // int oldStateId = BlockStateUtils.blockDataToId(Bukkit.createBlockData(oldBlockState.getAsString())); if (BlockStateUtils.isVanillaBlock(newStateId) /* && BlockStateUtils.isVanillaBlock(oldStateId) */) return; @@ -178,4 +166,17 @@ public class FastAsyncWorldEditDelegate extends AbstractDelegateExtent { CraftEngine.instance().logger().warn("Error when recording FastAsyncWorldEdit operation chunks", e); } } + + private String getStringBlockState(BaseBlock blockState) { + if (blockState.getStates().isEmpty()) { + return blockState.getBlockType().id(); + } else { + String properties = blockState.getStates().entrySet().stream() + .map(entry -> entry.getKey().getName() + + "=" + + entry.getValue().toString().toLowerCase(Locale.ROOT)) + .collect(Collectors.joining(",")); + return blockState.getBlockType().id() + "[" + properties + "]"; + } + } }