diff options
Diffstat (limited to 'neoforge/src/main/java')
4 files changed, 27 insertions, 20 deletions
diff --git a/neoforge/src/main/java/me/shedaniel/rei/forge/RoughlyEnoughItemsForge.java b/neoforge/src/main/java/me/shedaniel/rei/forge/RoughlyEnoughItemsForge.java index ae7c88c96..409fc0a35 100644 --- a/neoforge/src/main/java/me/shedaniel/rei/forge/RoughlyEnoughItemsForge.java +++ b/neoforge/src/main/java/me/shedaniel/rei/forge/RoughlyEnoughItemsForge.java @@ -26,8 +26,6 @@ package me.shedaniel.rei.forge; import me.shedaniel.rei.impl.init.RoughlyEnoughItemsInitializer; import net.neoforged.api.distmarker.Dist; import net.neoforged.fml.DistExecutor; -import net.neoforged.fml.IExtensionPoint; -import net.neoforged.fml.ModLoadingContext; import net.neoforged.fml.common.Mod; import net.neoforged.neoforge.data.loading.DatagenModLoader; import org.jetbrains.annotations.ApiStatus; @@ -36,7 +34,6 @@ import org.jetbrains.annotations.ApiStatus; @ApiStatus.Internal public class RoughlyEnoughItemsForge { public RoughlyEnoughItemsForge() { - ModLoadingContext.get().registerExtensionPoint(IExtensionPoint.DisplayTest.class, () -> new IExtensionPoint.DisplayTest(() -> "", (a, b) -> true)); if (!DatagenModLoader.isRunningDataGen()) { RoughlyEnoughItemsInitializer.onInitialize(); DistExecutor.unsafeRunWhenOn(Dist.CLIENT, () -> RoughlyEnoughItemsInitializer::onInitializeClient); 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 752631dcb..b6033245b 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 @@ -23,6 +23,8 @@ package me.shedaniel.rei.impl.client.forge; +import com.google.common.base.MoreObjects; +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; @@ -32,17 +34,18 @@ import net.minecraft.world.flag.FeatureFlags; import net.minecraft.world.item.CreativeModeTab; import net.minecraft.world.item.CreativeModeTabs; import net.minecraft.world.item.ItemStack; -import net.neoforged.neoforge.client.ClientHooks; +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, RegistryAccess.fromRegistryOfRegistries(BuiltInRegistries.REGISTRY)); + CreativeModeTab.ItemDisplayParameters parameters = new CreativeModeTab.ItemDisplayParameters(featureFlags, true, Objects.requireNonNullElseGet(BasicDisplay.registryAccess(), () -> RegistryAccess.fromRegistryOfRegistries(BuiltInRegistries.REGISTRY))); for (CreativeModeTab tab : CreativeModeTabs.allTabs()) { if (tab.getType() != CreativeModeTab.Type.HOTBAR && tab.getType() != CreativeModeTab.Type.INVENTORY) { @@ -51,7 +54,7 @@ public class CreativeModeTabCollectorImpl { ResourceKey<CreativeModeTab> resourceKey = BuiltInRegistries.CREATIVE_MODE_TAB .getResourceKey(tab) .orElseThrow(() -> new IllegalStateException("Unregistered creative tab: " + tab)); - ClientHooks.onCreativeModeTabBuildContents(tab, resourceKey, tab.displayItemsGenerator, parameters, (stack, visibility) -> { + EventHooks.onCreativeModeTabBuildContents(tab, resourceKey, tab.displayItemsGenerator, parameters, (stack, visibility) -> { if (visibility == CreativeModeTab.TabVisibility.SEARCH_TAB_ONLY) return; builder.accept(stack, visibility); }); diff --git a/neoforge/src/main/java/me/shedaniel/rei/plugin/client/forge/DefaultClientPluginImpl.java b/neoforge/src/main/java/me/shedaniel/rei/plugin/client/forge/DefaultClientPluginImpl.java index fe3a2aa3d..e379ff5a8 100644 --- a/neoforge/src/main/java/me/shedaniel/rei/plugin/client/forge/DefaultClientPluginImpl.java +++ b/neoforge/src/main/java/me/shedaniel/rei/plugin/client/forge/DefaultClientPluginImpl.java @@ -23,15 +23,17 @@ package me.shedaniel.rei.plugin.client.forge; -import com.google.common.collect.Sets; +import com.google.gson.internal.LinkedTreeMap; import me.shedaniel.rei.api.client.registry.display.DisplayRegistry; import me.shedaniel.rei.plugin.client.BuiltinClientPlugin; import me.shedaniel.rei.plugin.client.DefaultClientPlugin; +import net.minecraft.core.Holder; +import net.minecraft.core.component.DataComponents; import net.minecraft.world.item.Item; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.alchemy.Potion; import net.minecraft.world.item.alchemy.PotionBrewing; -import net.minecraft.world.item.alchemy.PotionUtils; +import net.minecraft.world.item.alchemy.PotionContents; import net.minecraft.world.item.crafting.Ingredient; import net.neoforged.neoforge.common.brewing.BrewingRecipe; import net.neoforged.neoforge.common.brewing.BrewingRecipeRegistry; @@ -39,6 +41,8 @@ import net.neoforged.neoforge.common.brewing.IBrewingRecipe; import net.neoforged.neoforge.common.brewing.VanillaBrewingRecipe; import java.util.Arrays; +import java.util.Collections; +import java.util.Comparator; import java.util.Set; public class DefaultClientPluginImpl extends DefaultClientPlugin { @@ -55,31 +59,34 @@ public class DefaultClientPluginImpl extends DefaultClientPlugin { } private static void registerVanillaPotions(DisplayRegistry registry, BuiltinClientPlugin clientPlugin) { - Set<Potion> potions = Sets.newLinkedHashSet(); + Set<Holder<Potion>> potions = Collections.newSetFromMap(new LinkedTreeMap<>(Comparator.comparing(Holder::getRegisteredName), false)); for (Ingredient container : PotionBrewing.ALLOWED_CONTAINERS) { for (PotionBrewing.Mix<Potion> mix : PotionBrewing.POTION_MIXES) { - Potion from = mix.from; + Holder<Potion> from = mix.from(); Ingredient ingredient = mix.ingredient; - Potion to = mix.to; + Holder<Potion> to = mix.to(); Ingredient base = Ingredient.of(Arrays.stream(container.getItems()) .map(ItemStack::copy) - .map(stack -> PotionUtils.setPotion(stack, from))); + .peek(stack -> stack.set(DataComponents.POTION_CONTENTS, new PotionContents(from)))); ItemStack output = Arrays.stream(container.getItems()) .map(ItemStack::copy) - .map(stack -> PotionUtils.setPotion(stack, to)) + .peek(stack -> stack.set(DataComponents.POTION_CONTENTS, new PotionContents(to))) .findFirst().orElse(ItemStack.EMPTY); clientPlugin.registerBrewingRecipe(base, ingredient, output); potions.add(from); potions.add(to); } } - for (Potion potion : potions) { + for (Holder<Potion> potion : potions) { for (PotionBrewing.Mix<Item> mix : PotionBrewing.CONTAINER_MIXES) { - Item from = mix.from; - Ingredient ingredient = mix.ingredient; - Item to = mix.to; - Ingredient base = Ingredient.of(PotionUtils.setPotion(new ItemStack(from), potion)); - ItemStack output = PotionUtils.setPotion(new ItemStack(to), potion); + Holder<Item> from = mix.from(); + Ingredient ingredient = mix.ingredient(); + Holder<Item> to = mix.to(); + ItemStack baseStack = new ItemStack(from); + baseStack.set(DataComponents.POTION_CONTENTS, new PotionContents(potion)); + Ingredient base = Ingredient.of(baseStack); + ItemStack output = new ItemStack(to); + output.set(DataComponents.POTION_CONTENTS, new PotionContents(potion)); clientPlugin.registerBrewingRecipe(base, ingredient, output); } } diff --git a/neoforge/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/forge/DefaultCraftingDisplayImpl.java b/neoforge/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/forge/DefaultCraftingDisplayImpl.java index 24605d30f..1c3f28a37 100644 --- a/neoforge/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/forge/DefaultCraftingDisplayImpl.java +++ b/neoforge/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/forge/DefaultCraftingDisplayImpl.java @@ -31,7 +31,7 @@ public class DefaultCraftingDisplayImpl { public static void registerPlatformSizeProvider() { DefaultCraftingDisplay.registerSizeProvider(recipe -> { if (recipe instanceof IShapedRecipe<?>) { - return new CraftingRecipeSizeProvider.Size(((IShapedRecipe<?>) recipe).getRecipeWidth(), ((IShapedRecipe<?>) recipe).getRecipeHeight()); + return new CraftingRecipeSizeProvider.Size(((IShapedRecipe<?>) recipe).getWidth(), ((IShapedRecipe<?>) recipe).getHeight()); } return null; |
