From 5983ed5bf31060f53e759cd1b74f2aab42af00f9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=85=B6=E6=99=BA=E4=B9=83=E5=8F=8D=E4=B8=8D=E8=83=BD?= =?UTF-8?q?=E5=8F=8A?= <100760086+qznfbnj@users.noreply.github.com> Date: Tue, 7 Nov 2023 22:15:17 +0800 Subject: [PATCH 1/2] Update zh_cn.json (#288) --- common/src/main/resources/assets/modernfix/lang/zh_cn.json | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/common/src/main/resources/assets/modernfix/lang/zh_cn.json b/common/src/main/resources/assets/modernfix/lang/zh_cn.json index 457d4a01..2f5b95f1 100644 --- a/common/src/main/resources/assets/modernfix/lang/zh_cn.json +++ b/common/src/main/resources/assets/modernfix/lang/zh_cn.json @@ -120,5 +120,6 @@ "modernfix.option.mixin.perf.compact_mojang_registries": "(Fabric)实验性选项,可将注册表的内存占用减少约 50%。在大多数整合包中没什么用,除非它们包含数百万个方块和物品。", "modernfix.option.mixin.perf.dynamic_block_codecs": "不再给每个方块(状态)都存储一个编解码器,只在需要时动态生成、缓存它。通常不值得启用,除非你有一百万个方块/物品。", "modernfix.option.mixin.perf.faster_command_suggestions": "在输入命令时,若有数十万个建议,可以缓解卡顿。", - "modernfix.option.mixin.perf.mojang_registry_size": "修复了一个问题,它会导致方块/物品的注册速度减慢,减慢的程度与已注册的数量成正比。这缩短了启动时间。" + "modernfix.option.mixin.perf.mojang_registry_size": "修复了一个问题,它会导致方块/物品的注册速度减慢,减慢的程度与已注册的数量成正比。这缩短了启动时间。", + "modernfix.option.mixin.perf.cache_profile_texture_url": "避免毫无意义地创建一个URL对象,加速头颅方块的渲染。" } From 215b797e7bb98bb24ce53908fc7c7981c61a638f Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Tue, 7 Nov 2023 17:26:01 -0500 Subject: [PATCH 2/2] Fix replaceAll being broken on the model registry Thanks Guava. --- .../util/ForwardingInclDefaultsMap.java | 68 +++++++++++++++++++ .../dynresources/ModelBakeEventHelper.java | 3 +- 2 files changed, 70 insertions(+), 1 deletion(-) create mode 100644 common/src/main/java/org/embeddedt/modernfix/util/ForwardingInclDefaultsMap.java diff --git a/common/src/main/java/org/embeddedt/modernfix/util/ForwardingInclDefaultsMap.java b/common/src/main/java/org/embeddedt/modernfix/util/ForwardingInclDefaultsMap.java new file mode 100644 index 00000000..002268fd --- /dev/null +++ b/common/src/main/java/org/embeddedt/modernfix/util/ForwardingInclDefaultsMap.java @@ -0,0 +1,68 @@ +package org.embeddedt.modernfix.util; + +import com.google.common.collect.ForwardingMap; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; + +import java.util.function.BiConsumer; +import java.util.function.BiFunction; +import java.util.function.Function; + +public abstract class ForwardingInclDefaultsMap extends ForwardingMap { + @Override + public V getOrDefault(Object key, V defaultValue) { + return delegate().getOrDefault(key, defaultValue); + } + + @Override + public void forEach(BiConsumer action) { + delegate().forEach(action); + } + + @Override + public void replaceAll(BiFunction function) { + delegate().replaceAll(function); + } + + @Nullable + @Override + public V putIfAbsent(K key, V value) { + return delegate().putIfAbsent(key, value); + } + + @Override + public boolean remove(Object key, Object value) { + return delegate().remove(key, value); + } + + @Override + public boolean replace(K key, V oldValue, V newValue) { + return delegate().replace(key, oldValue, newValue); + } + + @Nullable + @Override + public V replace(K key, V value) { + return delegate().replace(key, value); + } + + @Override + public V computeIfAbsent(K key, @NotNull Function mappingFunction) { + return delegate().computeIfAbsent(key, mappingFunction); + } + + @Override + public V computeIfPresent(K key, @NotNull BiFunction remappingFunction) { + return delegate().computeIfPresent(key, remappingFunction); + } + + @Override + public V compute(K key, @NotNull BiFunction remappingFunction) { + return delegate().compute(key, remappingFunction); + } + + @Override + public V merge(K key, @NotNull V value, @NotNull BiFunction remappingFunction) { + return delegate().merge(key, value, remappingFunction); + } +} diff --git a/forge/src/main/java/org/embeddedt/modernfix/forge/dynresources/ModelBakeEventHelper.java b/forge/src/main/java/org/embeddedt/modernfix/forge/dynresources/ModelBakeEventHelper.java index 73ec5bd6..48d568a4 100644 --- a/forge/src/main/java/org/embeddedt/modernfix/forge/dynresources/ModelBakeEventHelper.java +++ b/forge/src/main/java/org/embeddedt/modernfix/forge/dynresources/ModelBakeEventHelper.java @@ -17,6 +17,7 @@ import net.minecraftforge.forgespi.language.IModInfo; import net.minecraftforge.registries.ForgeRegistries; import org.embeddedt.modernfix.ModernFix; import org.embeddedt.modernfix.dynamicresources.ModelLocationCache; +import org.embeddedt.modernfix.util.ForwardingInclDefaultsMap; import org.jetbrains.annotations.Nullable; import java.util.*; @@ -69,7 +70,7 @@ public class ModelBakeEventHelper { * @return a wrapper around the model registry */ private Map createWarningRegistry(String modId) { - return new ForwardingMap() { + return new ForwardingInclDefaultsMap() { @Override protected Map delegate() { return modelRegistry;