diff options
| author | shedaniel <daniel@shedaniel.me> | 2024-08-14 19:24:17 +0900 |
|---|---|---|
| committer | shedaniel <daniel@shedaniel.me> | 2024-08-14 19:24:17 +0900 |
| commit | 90af6e03bcf45b0c13d5b7af51126bd2fc7389a5 (patch) | |
| tree | 3b70db4da3c1afec577dce579cce1f9180e0f712 /neoforge/src/main/java | |
| parent | a0e666f6656cdad355b3038f6696aef2dc943ab6 (diff) | |
| download | RoughlyEnoughItems-90af6e03bcf45b0c13d5b7af51126bd2fc7389a5.tar.gz RoughlyEnoughItems-90af6e03bcf45b0c13d5b7af51126bd2fc7389a5.tar.bz2 RoughlyEnoughItems-90af6e03bcf45b0c13d5b7af51126bd2fc7389a5.zip | |
Fix #1666
Diffstat (limited to 'neoforge/src/main/java')
3 files changed, 9 insertions, 8 deletions
diff --git a/neoforge/src/main/java/me/shedaniel/rei/forge/AnnotationUtils.java b/neoforge/src/main/java/me/shedaniel/rei/forge/AnnotationUtils.java index 9a13e0cdc..6486f0aba 100644 --- a/neoforge/src/main/java/me/shedaniel/rei/forge/AnnotationUtils.java +++ b/neoforge/src/main/java/me/shedaniel/rei/forge/AnnotationUtils.java @@ -28,7 +28,7 @@ import me.shedaniel.rei.impl.init.PrimitivePlatformAdapter; import net.neoforged.api.distmarker.Dist; import net.neoforged.fml.ModList; import net.neoforged.fml.loading.FMLEnvironment; -import net.neoforged.fml.loading.moddiscovery.ModAnnotation; +import net.neoforged.fml.loading.modscan.ModAnnotation; import net.neoforged.neoforgespi.language.IModInfo; import net.neoforged.neoforgespi.language.ModFileScanData; import org.apache.commons.lang3.tuple.ImmutableTriple; @@ -68,13 +68,13 @@ public class AnnotationUtils { if (value instanceof Dist[]) { enabled = Arrays.asList((Dist[]) value).contains(FMLEnvironment.dist); } else if (value instanceof ModAnnotation.EnumHolder) { - enabled = Objects.equals(((ModAnnotation.EnumHolder) value).getValue(), FMLEnvironment.dist.name()); + enabled = Objects.equals(((ModAnnotation.EnumHolder) value).value(), FMLEnvironment.dist.name()); } else if (value instanceof List) { List<ModAnnotation.EnumHolder> holders = ((List<?>) value).stream().filter(o -> o instanceof ModAnnotation.EnumHolder) .map(o -> (ModAnnotation.EnumHolder) o).toList(); if (!holders.isEmpty()) { enabled = holders.stream() - .anyMatch(o -> Objects.equals(o.getValue(), FMLEnvironment.dist.name())); + .anyMatch(o -> Objects.equals(o.value(), FMLEnvironment.dist.name())); } else { enabled = true; } diff --git a/neoforge/src/main/java/me/shedaniel/rei/impl/client/forge/CreativeModeTabCollectorImpl.java b/neoforge/src/main/java/me/shedaniel/rei/impl/client/forge/CreativeModeTabCollectorImpl.java index 1f01634e4..57b097ec6 100644 --- a/neoforge/src/main/java/me/shedaniel/rei/impl/client/forge/CreativeModeTabCollectorImpl.java +++ b/neoforge/src/main/java/me/shedaniel/rei/impl/client/forge/CreativeModeTabCollectorImpl.java @@ -25,7 +25,6 @@ package me.shedaniel.rei.impl.client.forge; import me.shedaniel.rei.api.common.display.basic.BasicDisplay; import me.shedaniel.rei.impl.common.InternalLogger; -import net.minecraft.core.RegistryAccess; import net.minecraft.core.registries.BuiltInRegistries; import net.minecraft.resources.ResourceKey; import net.minecraft.world.flag.FeatureFlagSet; @@ -38,13 +37,12 @@ import net.neoforged.neoforge.event.EventHooks; import java.util.Collection; import java.util.LinkedHashMap; import java.util.Map; -import java.util.Objects; public class CreativeModeTabCollectorImpl { public static Map<CreativeModeTab, Collection<ItemStack>> collectTabs() { Map<CreativeModeTab, Collection<ItemStack>> map = new LinkedHashMap<>(); FeatureFlagSet featureFlags = FeatureFlags.REGISTRY.allFlags(); - CreativeModeTab.ItemDisplayParameters parameters = new CreativeModeTab.ItemDisplayParameters(featureFlags, true, Objects.requireNonNullElseGet(BasicDisplay.registryAccess(), () -> RegistryAccess.fromRegistryOfRegistries(BuiltInRegistries.REGISTRY))); + CreativeModeTab.ItemDisplayParameters parameters = new CreativeModeTab.ItemDisplayParameters(featureFlags, true, BasicDisplay.registryAccess()); for (CreativeModeTab tab : CreativeModeTabs.allTabs()) { if (tab.getType() != CreativeModeTab.Type.HOTBAR && tab.getType() != CreativeModeTab.Type.INVENTORY) { diff --git a/neoforge/src/main/java/me/shedaniel/rei/mixin/forge/MixinClientPacketListener.java b/neoforge/src/main/java/me/shedaniel/rei/mixin/forge/MixinClientPacketListener.java index 333f8fdbc..7b059f109 100644 --- a/neoforge/src/main/java/me/shedaniel/rei/mixin/forge/MixinClientPacketListener.java +++ b/neoforge/src/main/java/me/shedaniel/rei/mixin/forge/MixinClientPacketListener.java @@ -25,6 +25,7 @@ package me.shedaniel.rei.mixin.forge; import me.shedaniel.rei.RoughlyEnoughItemsCoreClient; import net.minecraft.client.multiplayer.ClientPacketListener; +import net.minecraft.core.RegistryAccess; import net.minecraft.network.protocol.common.ClientboundUpdateTagsPacket; import net.minecraft.network.protocol.game.ClientboundUpdateRecipesPacket; import net.minecraft.world.item.crafting.RecipeManager; @@ -36,12 +37,14 @@ import org.spongepowered.asm.mixin.injection.Inject; import org.spongepowered.asm.mixin.injection.callback.CallbackInfo; @Mixin(ClientPacketListener.class) -public class MixinClientPacketListener { +public abstract class MixinClientPacketListener { @Shadow @Final private RecipeManager recipeManager; + @Shadow public abstract RegistryAccess.Frozen registryAccess(); + @Inject(method = "handleUpdateRecipes", at = @At("HEAD")) private void handleUpdateRecipes(ClientboundUpdateRecipesPacket clientboundUpdateRecipesPacket, CallbackInfo ci) { - RoughlyEnoughItemsCoreClient.PRE_UPDATE_RECIPES.invoker().update(recipeManager); + RoughlyEnoughItemsCoreClient.PRE_UPDATE_RECIPES.invoker().accept(recipeManager, registryAccess()); } @Inject(method = "handleUpdateTags", at = @At("HEAD")) |
