From 02dc5bbb21b85e5a62ec4f3d9ae73e2fc5830818 Mon Sep 17 00:00:00 2001 From: iqtester Date: Sat, 19 Apr 2025 02:17:36 +0800 Subject: [PATCH] fix: WE Suggestion --- .../worldedit/WorldEditBlockRegister.java | 10 +++++++--- .../craftengine/bukkit/block/BukkitBlockManager.java | 4 ++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/bukkit/compatibility/src/main/java/net/momirealms/craftengine/bukkit/compatibility/worldedit/WorldEditBlockRegister.java b/bukkit/compatibility/src/main/java/net/momirealms/craftengine/bukkit/compatibility/worldedit/WorldEditBlockRegister.java index 371262dec..94c28ebea 100644 --- a/bukkit/compatibility/src/main/java/net/momirealms/craftengine/bukkit/compatibility/worldedit/WorldEditBlockRegister.java +++ b/bukkit/compatibility/src/main/java/net/momirealms/craftengine/bukkit/compatibility/worldedit/WorldEditBlockRegister.java @@ -22,10 +22,12 @@ import java.util.stream.Stream; public class WorldEditBlockRegister { private final Field field$BlockType$blockMaterial; private final AbstractBlockManager manager; + private final boolean isFAWE; - public WorldEditBlockRegister(AbstractBlockManager manager) { + public WorldEditBlockRegister(AbstractBlockManager manager, boolean isFAWE) { field$BlockType$blockMaterial = ReflectionUtils.getDeclaredField(BlockType.class, "blockMaterial"); this.manager = manager; + this.isFAWE = isFAWE; CEBlockParser blockParser = new CEBlockParser(WorldEdit.getInstance()); WorldEdit.getInstance().getBlockFactory().register(blockParser); } @@ -67,8 +69,10 @@ public class WorldEditBlockRegister { @Override public BaseBlock parseFromInput(String input, ParserContext context) { - int index = input.indexOf("["); - if (input.charAt(index+1) == ']') return null; + if (isFAWE) { + int index = input.indexOf("["); + if (input.charAt(index+1) == ']') return null; + } int colonIndex = input.indexOf(':'); if (colonIndex == -1) return null; diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/block/BukkitBlockManager.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/block/BukkitBlockManager.java index 51dd78971..57d41aabe 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/block/BukkitBlockManager.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/block/BukkitBlockManager.java @@ -172,11 +172,11 @@ public class BukkitBlockManager extends AbstractBlockManager { } public void initFastAsyncWorldEditHook() { - new WorldEditBlockRegister(this); + new WorldEditBlockRegister(this, true); } public void initWorldEditHook() { - WorldEditBlockRegister weBlockRegister = new WorldEditBlockRegister(this); + WorldEditBlockRegister weBlockRegister = new WorldEditBlockRegister(this, false); try { for (Key newBlockId : this.blockRegisterOrder) { weBlockRegister.register(newBlockId);