From 68ee62ed5fb4719d94335df976f0dadcd2c77dd3 Mon Sep 17 00:00:00 2001 From: XiaoMoMi Date: Sun, 1 Jun 2025 23:15:09 +0800 Subject: [PATCH] Update BukkitCompatibilityManager.java --- .../BukkitCompatibilityManager.java | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/bukkit/compatibility/src/main/java/net/momirealms/craftengine/bukkit/compatibility/BukkitCompatibilityManager.java b/bukkit/compatibility/src/main/java/net/momirealms/craftengine/bukkit/compatibility/BukkitCompatibilityManager.java index 33b669ce1..680455c0a 100644 --- a/bukkit/compatibility/src/main/java/net/momirealms/craftengine/bukkit/compatibility/BukkitCompatibilityManager.java +++ b/bukkit/compatibility/src/main/java/net/momirealms/craftengine/bukkit/compatibility/BukkitCompatibilityManager.java @@ -180,22 +180,18 @@ public class BukkitCompatibilityManager implements CompatibilityManager { private void initFastAsyncWorldEditHook() { Plugin fastAsyncWorldEdit = Bukkit.getPluginManager().getPlugin("FastAsyncWorldEdit"); String version = VersionHelper.isPaper() ? fastAsyncWorldEdit.getPluginMeta().getVersion() : fastAsyncWorldEdit.getDescription().getVersion(); - if (!this.fastAsyncWorldEditVersionCheck(new int[]{2, 13, 0}, version)) { - this.plugin.logger().warn("[Compatibility] FastAsyncWorldEdit version is too old, please update to 2.13.0 or newer"); + if (!this.fastAsyncWorldEditVersionCheck(version)) { + this.plugin.logger().warn("[Compatibility] Please update FastAsyncWorldEdit to 2.13.0 or newer for better compatibility"); } new WorldEditBlockRegister(BukkitBlockManager.instance(), true); } - private boolean fastAsyncWorldEditVersionCheck(int[] target, String version) { + private boolean fastAsyncWorldEditVersionCheck(String version) { String cleanVersion = version.split("-")[0]; String[] parts = cleanVersion.split("\\."); - for (int i = 0; i < target.length; i++) { - if (i >= parts.length) return false; - int currentPart = Integer.parseInt(parts[i]); - if (currentPart > target[i]) return true; - if (currentPart < target[i]) return false; - } - return true; + int first = Integer.parseInt(parts[0]); + int second = Integer.parseInt(parts[1]); + return first >= 2 && second >= 13; } private void initWorldEditHook() {