From b7eb951c20cb74038ccca8024a67106363d3b55e Mon Sep 17 00:00:00 2001 From: IThundxr Date: Sat, 1 Mar 2025 18:00:30 -0500 Subject: [PATCH] Packed registries --- .../mixin/BuiltInRegistriesMixin.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/simibubi/create/foundation/mixin/BuiltInRegistriesMixin.java b/src/main/java/com/simibubi/create/foundation/mixin/BuiltInRegistriesMixin.java index 475671439c..8a5a9416ff 100644 --- a/src/main/java/com/simibubi/create/foundation/mixin/BuiltInRegistriesMixin.java +++ b/src/main/java/com/simibubi/create/foundation/mixin/BuiltInRegistriesMixin.java @@ -1,9 +1,16 @@ package com.simibubi.create.foundation.mixin; -import org.spongepowered.asm.mixin.Mixin; +import java.util.function.Consumer; +import org.spongepowered.asm.mixin.Mixin; +import org.spongepowered.asm.mixin.injection.At; + +import com.llamalad7.mixinextras.injector.wrapoperation.Operation; +import com.llamalad7.mixinextras.injector.wrapoperation.WrapOperation; +import com.simibubi.create.Create; import com.simibubi.create.api.registry.CreateBuiltInRegistries; +import net.minecraft.core.Registry; import net.minecraft.core.registries.BuiltInRegistries; @Mixin(BuiltInRegistries.class) @@ -11,4 +18,14 @@ public class BuiltInRegistriesMixin { static { CreateBuiltInRegistries.init(); } + + @WrapOperation(method = "validate", at = @At(value = "INVOKE", target = "Lnet/minecraft/core/Registry;forEach(Ljava/util/function/Consumer;)V")) + private static > void create$ourRegistriesAreNotEmpty(Registry instance, Consumer consumer, Operation original) { + Consumer callback = (t) -> { + if (!t.key().location().getNamespace().equals(Create.ID)) + consumer.accept(t); + }; + + original.call(instance, callback); + } }