diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/factory/BukkitItemFactory.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/factory/BukkitItemFactory.java index f836d910b..d37bf367b 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/factory/BukkitItemFactory.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/item/factory/BukkitItemFactory.java @@ -49,7 +49,7 @@ public abstract class BukkitItemFactory> extend case "1.21.4" -> { return new ComponentItemFactory1_21_4(plugin); } - case "1.21.5", "1.21.6", "1.21.7", "1.21.8", "1.21.9" -> { + case "1.21.5", "1.21.6", "1.21.7", "1.21.8", "1.21.9", "1.21.10" -> { return new ComponentItemFactory1_21_5(plugin); } default -> throw new IllegalStateException("Unsupported server version: " + plugin.serverVersion()); diff --git a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/BukkitCommandManager.java b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/BukkitCommandManager.java index 14c4d9378..2babb4c6c 100644 --- a/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/BukkitCommandManager.java +++ b/bukkit/src/main/java/net/momirealms/craftengine/bukkit/plugin/command/BukkitCommandManager.java @@ -6,6 +6,8 @@ import net.momirealms.craftengine.bukkit.plugin.command.feature.*; import net.momirealms.craftengine.core.plugin.command.AbstractCommandManager; import net.momirealms.craftengine.core.plugin.command.CommandFeature; import net.momirealms.craftengine.core.plugin.command.sender.Sender; +import net.momirealms.craftengine.core.util.ReflectionUtils; +import net.momirealms.craftengine.core.util.VersionHelper; import org.bukkit.command.CommandSender; import org.incendo.cloud.SenderMapper; import org.incendo.cloud.bukkit.CloudBukkitCapabilities; @@ -24,7 +26,11 @@ public class BukkitCommandManager extends AbstractCommandManager plugin.javaPlugin(), ExecutionCoordinator.simpleCoordinator(), SenderMapper.identity() - )); + ) {{ // TODO:等 cloud 修复后移除,绕过 obc.command.BukkitCommandWrapper 类检查,因为这个类在 1.21.9 版本被移除了,并且项目貌似没用到这个 + if (VersionHelper.isOrAbove1_21_9() && ReflectionUtils.classExists("com.mojang.brigadier.tree.CommandNode")) { + registerCapability(CloudBukkitCapabilities.BRIGADIER); + } + }}); this.plugin = plugin; this.index = Index.create(CommandFeature::getFeatureID, List.of( new ReloadCommand(this, plugin), @@ -61,7 +67,7 @@ public class BukkitCommandManager extends AbstractCommandManager )); final LegacyPaperCommandManager manager = (LegacyPaperCommandManager) getCommandManager(); manager.settings().set(ManagerSetting.ALLOW_UNSAFE_REGISTRATION, true); - if (manager.hasCapability(CloudBukkitCapabilities.NATIVE_BRIGADIER) && manager.hasCapability(CloudBukkitCapabilities.BRIGADIER)) { + if (manager.hasCapability(CloudBukkitCapabilities.NATIVE_BRIGADIER)) { manager.registerBrigadier(); manager.brigadierManager().setNativeNumberSuggestions(true); } else if (manager.hasCapability(CloudBukkitCapabilities.ASYNCHRONOUS_COMPLETION)) { diff --git a/common-files/src/main/resources/translations/en.yml b/common-files/src/main/resources/translations/en.yml index 2c0551596..745d94e46 100644 --- a/common-files/src/main/resources/translations/en.yml +++ b/common-files/src/main/resources/translations/en.yml @@ -386,10 +386,14 @@ warning.config.host.onedrive.missing_client_secret: "Issue found in conf warning.config.host.onedrive.missing_refresh_token: "Issue found in config.yml at 'resource-pack.delivery.hosting' - Missing required 'refresh-token' argument or environment variable 'CE_ONEDRIVE_REFRESH_TOKEN' for onedrive host." warning.config.host.onedrive.missing_upload_path: "Issue found in config.yml at 'resource-pack.delivery.hosting' - Missing required 'upload-path' argument for onedrive host." warning.config.host.s3.missing_endpoint: "Issue found in config.yml at 'resource-pack.delivery.hosting' - Missing required 'endpoint' argument for s3 host." +warning.config.host.s3.missing_protocol: "Issue found in config.yml at 'resource-pack.delivery.hosting' - Missing required 'protocol' argument for s3 host." warning.config.host.s3.missing_bucket: "Issue found in config.yml at 'resource-pack.delivery.hosting' - Missing required 'bucket' argument for s3 host." +warning.config.host.s3.missing_region: "Issue found in config.yml at 'resource-pack.delivery.hosting' - Missing required 'region' argument for s3 host." warning.config.host.s3.missing_access_key: "Issue found in config.yml at 'resource-pack.delivery.hosting' - Missing required 'access-key-id' argument or environment variable 'CE_S3_ACCESS_KEY_ID' for s3 host." warning.config.host.s3.missing_secret: "Issue found in config.yml at 'resource-pack.delivery.hosting' - Missing required 'access-key-secret' argument or environment variable 'CE_S3_ACCESS_KEY_SECRET' for s3 host." warning.config.host.s3.missing_upload_path: "Issue found in config.yml at 'resource-pack.delivery.hosting' - Missing required 'upload-path' argument for s3 host." +warning.config.host.s3.missing_cdn_domain: "Issue found in config.yml at 'resource-pack.delivery.hosting' - Missing required 'cdn.domain' argument for s3 host." +warning.config.host.s3.missing_cdn_protocol: "Issue found in config.yml at 'resource-pack.delivery.hosting' - Missing required 'cdn.protocol' argument for s3 host." warning.config.host.self.missing_ip: "Issue found in config.yml at 'resource-pack.delivery.hosting' - Missing required 'ip' argument for self host." warning.config.host.self.invalid_port: "Issue found in config.yml at 'resource-pack.delivery.hosting' - Invalid port '' for self host." warning.config.host.self.invalid_url: "Issue found in config.yml at 'resource-pack.delivery.hosting' - Invalid url '' for self host." diff --git a/common-files/src/main/resources/translations/zh_cn.yml b/common-files/src/main/resources/translations/zh_cn.yml index 97c6d2d43..5549ef095 100644 --- a/common-files/src/main/resources/translations/zh_cn.yml +++ b/common-files/src/main/resources/translations/zh_cn.yml @@ -372,10 +372,14 @@ warning.config.host.onedrive.missing_client_secret: "在 config.yml 的 warning.config.host.onedrive.missing_refresh_token: "在 config.yml 的 'resource-pack.delivery.hosting' 处发现问题 - OneDrive 托管缺少必需的 'refresh-token' 参数或环境变量 'CE_ONEDRIVE_REFRESH_TOKEN'" warning.config.host.onedrive.missing_upload_path: "在 config.yml 的 'resource-pack.delivery.hosting' 处发现问题 - OneDrive 托管缺少必需的 'upload-path' 参数" warning.config.host.s3.missing_endpoint: "在 config.yml 的 'resource-pack.delivery.hosting' 处发现问题 - S3 托管缺少必需的 'endpoint' 参数" +warning.config.host.s3.missing_protocol: "在 config.yml 的 'resource-pack.delivery.hosting' 处发现问题 - S3 托管缺少必需的 'protocol' 参数" warning.config.host.s3.missing_bucket: "在 config.yml 的 'resource-pack.delivery.hosting' 处发现问题 - S3 托管缺少必需的 'bucket' 参数" +warning.config.host.s3.missing_region: "在 config.yml 的 'resource-pack.delivery.hosting' 处发现问题 - S3 托管缺少必需的 'region' 参数" warning.config.host.s3.missing_access_key: "在 config.yml 的 'resource-pack.delivery.hosting' 处发现问题 - S3 托管缺少必需的 'access-key-id' 参数或环境变量 'CE_S3_ACCESS_KEY_ID'" warning.config.host.s3.missing_secret: "在 config.yml 的 'resource-pack.delivery.hosting' 处发现问题 - S3 托管缺少必需的 'access-key-secret' 参数或环境变量 'CE_S3_ACCESS_KEY_SECRET'" warning.config.host.s3.missing_upload_path: "在 config.yml 的 'resource-pack.delivery.hosting' 处发现问题 - S3 托管缺少必需的 'upload-path' 参数" +warning.config.host.s3.missing_cdn_domain: "在 config.yml 的 'resource-pack.delivery.hosting' 处发现问题 - S3 托管缺少必需的 'cdn.domain' 参数" +warning.config.host.s3.missing_cdn_protocol: "在 config.yml 的 'resource-pack.delivery.hosting' 处发现问题 - S3 托管缺少必需的 'cdn.protocol' 参数" warning.config.host.self.missing_ip: "在 config.yml 的 'resource-pack.delivery.hosting' 处发现问题 - 自托管托管缺少必需的 'ip' 参数" warning.config.host.self.invalid_port: "在 config.yml 的 'resource-pack.delivery.hosting' 处发现问题 - 自托管托管的端口 '' 无效" warning.config.host.self.invalid_url: "在 config.yml 的 'resource-pack.delivery.hosting' 处发现问题 - 自托管托管的 URL '' 无效" diff --git a/core/build.gradle.kts b/core/build.gradle.kts index 352ad960b..58d4ada3e 100644 --- a/core/build.gradle.kts +++ b/core/build.gradle.kts @@ -21,7 +21,7 @@ dependencies { implementation("net.momirealms:sparrow-nbt-codec:${rootProject.properties["sparrow_nbt_version"]}") implementation("net.momirealms:sparrow-nbt-legacy-codec:${rootProject.properties["sparrow_nbt_version"]}") // S3 - implementation("net.momirealms:craft-engine-s3:0.5") + implementation("net.momirealms:craft-engine-s3:0.6") // Util compileOnly("net.momirealms:sparrow-util:${rootProject.properties["sparrow_util_version"]}") // Adventure diff --git a/core/src/main/java/net/momirealms/craftengine/core/util/MinecraftVersion.java b/core/src/main/java/net/momirealms/craftengine/core/util/MinecraftVersion.java index 80fc10b38..ce62c8b2f 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/util/MinecraftVersion.java +++ b/core/src/main/java/net/momirealms/craftengine/core/util/MinecraftVersion.java @@ -23,6 +23,7 @@ public final class MinecraftVersion implements Comparable { PACK_FORMATS.put(1_21_07, 64); PACK_FORMATS.put(1_21_08, 64); PACK_FORMATS.put(1_21_09, 69); + PACK_FORMATS.put(1_21_10, 69); PACK_FORMATS.put(1_99_99, 1000); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/util/MinecraftVersions.java b/core/src/main/java/net/momirealms/craftengine/core/util/MinecraftVersions.java index b9c6980cc..d97303302 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/util/MinecraftVersions.java +++ b/core/src/main/java/net/momirealms/craftengine/core/util/MinecraftVersions.java @@ -20,5 +20,6 @@ public final class MinecraftVersions { public static final MinecraftVersion V1_21_7 = new MinecraftVersion("1.21.7"); public static final MinecraftVersion V1_21_8 = new MinecraftVersion("1.21.8"); public static final MinecraftVersion V1_21_9 = new MinecraftVersion("1.21.9"); + public static final MinecraftVersion V1_21_10 = new MinecraftVersion("1.21.10"); public static final MinecraftVersion FUTURE = new MinecraftVersion("1.99.99"); } diff --git a/core/src/main/java/net/momirealms/craftengine/core/util/VersionHelper.java b/core/src/main/java/net/momirealms/craftengine/core/util/VersionHelper.java index 2112ecd15..b0b7a6031 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/util/VersionHelper.java +++ b/core/src/main/java/net/momirealms/craftengine/core/util/VersionHelper.java @@ -34,6 +34,7 @@ public class VersionHelper { private static final boolean v1_21_7; private static final boolean v1_21_8; private static final boolean v1_21_9; + private static final boolean v1_21_10; static { try (InputStream inputStream = Class.forName("net.minecraft.obfuscate.DontObfuscate").getResourceAsStream("/version.json")) { @@ -70,6 +71,7 @@ public class VersionHelper { v1_21_7 = version >= 12107; v1_21_8 = version >= 12108; v1_21_9 = version >= 12109; + v1_21_10 = version >= 12110; majorVersion = major; minorVersion = minor; @@ -245,4 +247,8 @@ public class VersionHelper { public static boolean isOrAbove1_21_9() { return v1_21_9; } + + public static boolean isOrAbove1_21_10() { + return v1_21_10; + } } \ No newline at end of file diff --git a/gradle.properties b/gradle.properties index f633a3e61..8d69cac36 100644 --- a/gradle.properties +++ b/gradle.properties @@ -6,13 +6,13 @@ project_version=0.0.63.9 config_version=47 lang_version=32 project_group=net.momirealms -latest_supported_version=1.21.8 +latest_supported_version=1.21.10 # Supported languages supported_languages=en,zh_cn,zh_tw,es,tr,de,ru_ru # Dependency settings -paper_version=1.21.8 +paper_version=1.21.9 jetbrains_annotations_version=26.0.2 slf4j_version=2.0.17 log4j_version=2.25.2