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 124f9fcf..35f3a916 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; @@ -177,6 +178,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), remap = false) + 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. */