aboutsummaryrefslogtreecommitdiff
path: root/neoforge/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'neoforge/src/main/java')
-rw-r--r--neoforge/src/main/java/me/shedaniel/rei/forge/RoughlyEnoughItemsForge.java3
-rw-r--r--neoforge/src/main/java/me/shedaniel/rei/impl/client/forge/CreativeModeTabCollectorImpl.java5
-rw-r--r--neoforge/src/main/java/me/shedaniel/rei/plugin/client/forge/DefaultClientPluginImpl.java52
-rw-r--r--neoforge/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/forge/DefaultCraftingDisplayImpl.java2
4 files changed, 34 insertions, 28 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 ab8289d0e..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;
@@ -37,12 +39,13 @@ 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) {
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..3131c2658 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,63 +23,69 @@
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.client.Minecraft;
+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;
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 {
@Override
public void registerForgePotions(DisplayRegistry registry, BuiltinClientPlugin clientPlugin) {
- for (IBrewingRecipe recipe : BrewingRecipeRegistry.getRecipes()) {
- if (recipe instanceof VanillaBrewingRecipe) {
- registerVanillaPotions(registry, clientPlugin);
- } else if (recipe instanceof BrewingRecipe) {
+ PotionBrewing brewing = Minecraft.getInstance().level.potionBrewing();
+ registerVanillaPotions(brewing, registry, clientPlugin);
+ for (IBrewingRecipe recipe : brewing.getRecipes()) {
+ if (recipe instanceof BrewingRecipe) {
BrewingRecipe brewingRecipe = (BrewingRecipe) recipe;
clientPlugin.registerBrewingRecipe(brewingRecipe.getInput(), brewingRecipe.getIngredient(), brewingRecipe.getOutput().copy());
}
}
}
- private static void registerVanillaPotions(DisplayRegistry registry, BuiltinClientPlugin clientPlugin) {
- Set<Potion> potions = Sets.newLinkedHashSet();
- for (Ingredient container : PotionBrewing.ALLOWED_CONTAINERS) {
- for (PotionBrewing.Mix<Potion> mix : PotionBrewing.POTION_MIXES) {
- Potion from = mix.from;
+ private static void registerVanillaPotions(PotionBrewing brewing, DisplayRegistry registry, BuiltinClientPlugin clientPlugin) {
+ Set<Holder<Potion>> potions = Collections.newSetFromMap(new LinkedTreeMap<>(Comparator.comparing(Holder::getRegisteredName), false));
+ for (Ingredient container : brewing.containers) {
+ for (PotionBrewing.Mix<Potion> mix : brewing.potionMixes) {
+ 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 (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);
+ for (Holder<Potion> potion : potions) {
+ for (PotionBrewing.Mix<Item> mix : brewing.containerMixes) {
+ 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;