From 87f74bc1b925e7884c97649c680f3d49c67f64b0 Mon Sep 17 00:00:00 2001 From: embeddedt <42941056+embeddedt@users.noreply.github.com> Date: Tue, 11 Apr 2023 11:12:13 -0400 Subject: [PATCH] Skip calling stateToModelLocation --- .../perf/dynamic_resources/ModelBakeryMixin.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/main/java/org/embeddedt/modernfix/mixin/perf/dynamic_resources/ModelBakeryMixin.java b/src/main/java/org/embeddedt/modernfix/mixin/perf/dynamic_resources/ModelBakeryMixin.java index f0bab01e..f9cff06b 100644 --- a/src/main/java/org/embeddedt/modernfix/mixin/perf/dynamic_resources/ModelBakeryMixin.java +++ b/src/main/java/org/embeddedt/modernfix/mixin/perf/dynamic_resources/ModelBakeryMixin.java @@ -57,6 +57,7 @@ import java.nio.charset.StandardCharsets; import java.util.*; import java.util.concurrent.CompletableFuture; import java.util.concurrent.TimeUnit; +import java.util.function.BiConsumer; import java.util.function.Function; import java.util.stream.Collectors; import java.util.stream.Stream; @@ -178,6 +179,17 @@ public abstract class ModelBakeryMixin { gatherModelMaterials(materialSet); } + @Redirect(method = "processLoading", at = @At(value = "INVOKE", target = "Ljava/util/Map;forEach(Ljava/util/function/BiConsumer;)V", ordinal = 0)) + private void fetchStaticDefinitions(Map> map, BiConsumer> func) { + map.forEach((loc, def) -> blockStateFiles.add(loc)); + } + + @Redirect(method = "processLoading", at = @At(value = "INVOKE", target = "Lnet/minecraft/world/level/block/state/StateDefinition;getPossibleStates()Lcom/google/common/collect/ImmutableList;", ordinal = 0)) + private ImmutableList fetchBlocks(StateDefinition def) { + blockStateFiles.add(def.any().getBlock().getRegistryName()); + return ImmutableList.of(); + } + /** * Load all blockstate JSONs and model files, collect textures. */