diff options
| author | shedaniel <daniel@shedaniel.me> | 2024-09-17 21:36:09 +0800 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2024-09-17 21:36:09 +0800 |
| commit | 644c3f591d42d91c8445b199202b37ba05b0bf93 (patch) | |
| tree | eccdfe403432ec6e9036349f232edd69f0d0a7f8 /api/src/main/java/me/shedaniel/rei | |
| parent | b666943c4f14cfc6a8f1db7d3ac7fa2c7c0519da (diff) | |
| download | RoughlyEnoughItems-11.x-1.19.4.tar.gz RoughlyEnoughItems-11.x-1.19.4.tar.bz2 RoughlyEnoughItems-11.x-1.19.4.zip | |
Use InstanceHelper to get registryAccess11.x-1.19.4
Diffstat (limited to 'api/src/main/java/me/shedaniel/rei')
| -rw-r--r-- | api/src/main/java/me/shedaniel/rei/api/common/display/basic/BasicDisplay.java | 9 | ||||
| -rw-r--r-- | api/src/main/java/me/shedaniel/rei/impl/Internals.java | 6 |
2 files changed, 8 insertions, 7 deletions
diff --git a/api/src/main/java/me/shedaniel/rei/api/common/display/basic/BasicDisplay.java b/api/src/main/java/me/shedaniel/rei/api/common/display/basic/BasicDisplay.java index 09f913832..1d4ecb392 100644 --- a/api/src/main/java/me/shedaniel/rei/api/common/display/basic/BasicDisplay.java +++ b/api/src/main/java/me/shedaniel/rei/api/common/display/basic/BasicDisplay.java @@ -23,12 +23,11 @@ package me.shedaniel.rei.api.common.display.basic; -import dev.architectury.utils.EnvExecutor; -import dev.architectury.utils.GameInstance; import me.shedaniel.rei.api.common.display.Display; import me.shedaniel.rei.api.common.display.SimpleDisplaySerializer; import me.shedaniel.rei.api.common.entry.EntryIngredient; import me.shedaniel.rei.api.common.util.EntryIngredients; +import me.shedaniel.rei.impl.Internals; import net.minecraft.core.RegistryAccess; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.Tag; @@ -38,16 +37,12 @@ import org.jetbrains.annotations.Nullable; import java.util.List; import java.util.Optional; -import java.util.function.Supplier; /** * A basic implementation of a display, consisting of a list of inputs, a list of outputs * and a possible display location. */ public abstract class BasicDisplay implements Display { - protected static final Supplier<RegistryAccess> REGISTRY_ACCESS = - EnvExecutor.getEnvSpecific(() -> () -> () -> GameInstance.getClient().player.level.registryAccess(), - () -> () -> () -> GameInstance.getServer().registryAccess()); protected List<EntryIngredient> inputs; protected List<EntryIngredient> outputs; protected Optional<ResourceLocation> location; @@ -64,7 +59,7 @@ public abstract class BasicDisplay implements Display { @ApiStatus.Experimental public static RegistryAccess registryAccess() { - return REGISTRY_ACCESS.get(); + return Internals.getRegistryAccess(); } /** diff --git a/api/src/main/java/me/shedaniel/rei/impl/Internals.java b/api/src/main/java/me/shedaniel/rei/impl/Internals.java index 112b030ce..bcbfcc7fb 100644 --- a/api/src/main/java/me/shedaniel/rei/impl/Internals.java +++ b/api/src/main/java/me/shedaniel/rei/impl/Internals.java @@ -35,6 +35,7 @@ import me.shedaniel.rei.api.common.plugins.REIPlugin; import me.shedaniel.rei.api.common.plugins.REIServerPlugin; import me.shedaniel.rei.api.common.transfer.info.MenuInfoRegistry; import me.shedaniel.rei.impl.common.InternalLogger; +import net.minecraft.core.RegistryAccess; import net.minecraft.nbt.Tag; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Unit; @@ -55,6 +56,7 @@ public final class Internals { private static Function<String, CategoryIdentifier<?>> categoryIdentifier = (object) -> throwNotSetup(); private static Supplier<MenuInfoRegistry> stubMenuInfoRegistry = Internals::throwNotSetup; private static Supplier<InternalLogger> logger = Internals::throwNotSetup; + private static Supplier<RegistryAccess> registryAccess = Internals::throwNotSetup; private static <T> T throwNotSetup() { throw new AssertionError("REI Internals have not been initialized!"); @@ -117,6 +119,10 @@ public final class Internals { return logger.get(); } + public static RegistryAccess getRegistryAccess() { + return registryAccess.get(); + } + public interface EntryStackProvider { EntryStack<Unit> empty(); |
