Packed registries

This commit is contained in:
IThundxr 2025-03-01 18:00:30 -05:00
parent 93f268419b
commit b7eb951c20
Failed to generate hash of commit

View file

@ -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 <T extends Registry<?>> void create$ourRegistriesAreNotEmpty(Registry<T> instance, Consumer<T> consumer, Operation<Void> original) {
Consumer<T> callback = (t) -> {
if (!t.key().location().getNamespace().equals(Create.ID))
consumer.accept(t);
};
original.call(instance, callback);
}
}