From 59b29b94944e63bbaceab15705c95f1eea45dc17 Mon Sep 17 00:00:00 2001 From: XiaoMoMi Date: Wed, 23 Jul 2025 17:44:44 +0800 Subject: [PATCH] =?UTF-8?q?=E5=90=88=E5=B9=B6=E8=AF=AD=E8=A8=80lang=20json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../item/modifier/HideTooltipModifier.java | 2 +- .../core/pack/AbstractPackManager.java | 21 +++++++++++++++---- .../core/plugin/config/Config.java | 9 ++++---- .../craftengine/core/util/VersionHelper.java | 1 + gradle.properties | 2 +- 5 files changed, 25 insertions(+), 10 deletions(-) diff --git a/core/src/main/java/net/momirealms/craftengine/core/item/modifier/HideTooltipModifier.java b/core/src/main/java/net/momirealms/craftengine/core/item/modifier/HideTooltipModifier.java index 4b56b6b74..56fa6eea9 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/item/modifier/HideTooltipModifier.java +++ b/core/src/main/java/net/momirealms/craftengine/core/item/modifier/HideTooltipModifier.java @@ -88,7 +88,7 @@ public class HideTooltipModifier implements ItemDataModifier { } public List components() { - return components; + return this.components; } @Override diff --git a/core/src/main/java/net/momirealms/craftengine/core/pack/AbstractPackManager.java b/core/src/main/java/net/momirealms/craftengine/core/pack/AbstractPackManager.java index 395f6af8e..7f7a20441 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/pack/AbstractPackManager.java +++ b/core/src/main/java/net/momirealms/craftengine/core/pack/AbstractPackManager.java @@ -667,6 +667,10 @@ public abstract class AbstractPackManager implements PackManager { this.plugin.logger().info("Validated resource pack in " + (time3 - time2) + "ms"); Path finalPath = resourcePackPath(); Files.createDirectories(finalPath.getParent()); + if (!VersionHelper.PREMIUM) { + Config.instance().setObf(false); + this.plugin.logger().warn("Resource pack obfuscation requires Premium Edition."); + } try { this.zipGenerator.accept(generatedPackPath, finalPath); } catch (Exception e) { @@ -1551,15 +1555,24 @@ public abstract class AbstractPackManager implements PackManager { private void generateClientLang(Path generatedPackPath) { for (Map.Entry entry : this.plugin.translationManager().clientLangData().entrySet()) { - JsonObject json = new JsonObject(); - for (Map.Entry pair : entry.getValue().translations.entrySet()) { - json.addProperty(pair.getKey(), pair.getValue()); - } Path langPath = generatedPackPath .resolve("assets") .resolve("minecraft") .resolve("lang") .resolve(entry.getKey() + ".json"); + JsonObject json; + if (Files.exists(langPath)) { + try { + json = GsonHelper.readJsonFile(langPath).getAsJsonObject(); + } catch (Exception e) { + json = new JsonObject(); + } + } else { + json = new JsonObject(); + } + for (Map.Entry pair : entry.getValue().translations.entrySet()) { + json.addProperty(pair.getKey(), pair.getValue()); + } try { Files.createDirectories(langPath.getParent()); } catch (IOException e) { diff --git a/core/src/main/java/net/momirealms/craftengine/core/plugin/config/Config.java b/core/src/main/java/net/momirealms/craftengine/core/plugin/config/Config.java index 425de32f9..04f031e4e 100644 --- a/core/src/main/java/net/momirealms/craftengine/core/plugin/config/Config.java +++ b/core/src/main/java/net/momirealms/craftengine/core/plugin/config/Config.java @@ -20,10 +20,7 @@ import net.momirealms.craftengine.core.plugin.PluginProperties; import net.momirealms.craftengine.core.plugin.locale.LocalizedResourceConfigException; import net.momirealms.craftengine.core.plugin.locale.TranslationManager; import net.momirealms.craftengine.core.plugin.logger.filter.DisconnectLogFilter; -import net.momirealms.craftengine.core.util.AdventureHelper; -import net.momirealms.craftengine.core.util.Key; -import net.momirealms.craftengine.core.util.MinecraftVersion; -import net.momirealms.craftengine.core.util.MiscUtils; +import net.momirealms.craftengine.core.util.*; import net.momirealms.craftengine.core.world.InjectionTarget; import net.momirealms.craftengine.core.world.chunk.storage.CompressionMethod; @@ -832,6 +829,10 @@ public class Config { return instance.recipe$ingredient_sources; } + public void setObf(boolean enable) { + this.resource_pack$protection$obfuscation$enable = enable; + } + public YamlDocument loadOrCreateYamlData(String fileName) { Path path = this.plugin.dataFolderPath().resolve(fileName); if (!Files.exists(path)) { 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 12e001c79..3890ad838 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 @@ -7,6 +7,7 @@ import java.io.InputStream; import java.nio.charset.StandardCharsets; public class VersionHelper { + public static final boolean PREMIUM = true; public static final MinecraftVersion MINECRAFT_VERSION; private static final int version; private static final int majorVersion; diff --git a/gradle.properties b/gradle.properties index 2c126627e..fd7531d70 100644 --- a/gradle.properties +++ b/gradle.properties @@ -40,7 +40,7 @@ commons_io_version=2.18.0 commons_imaging_version=1.0.0-alpha6 commons_lang3_version=3.17.0 sparrow_nbt_version=0.9.4 -sparrow_util_version=0.50.6 +sparrow_util_version=0.50.7 fastutil_version=8.5.15 netty_version=4.1.121.Final joml_version=1.10.8