aboutsummaryrefslogtreecommitdiff
path: root/default-plugin/src/main/java
diff options
context:
space:
mode:
authorshedaniel <daniel@shedaniel.me>2021-02-27 17:14:08 +0800
committershedaniel <daniel@shedaniel.me>2021-02-27 17:15:02 +0800
commit542eb5154ebce387312ca3691f743b89e4aef99e (patch)
tree48583bad05514d9a1a8d0ab3499af0d39f3fd1e5 /default-plugin/src/main/java
parent9c570a0e71a6e209e0d234a99f35bd24efc18d7d (diff)
downloadRoughlyEnoughItems-542eb5154ebce387312ca3691f743b89e4aef99e.tar.gz
RoughlyEnoughItems-542eb5154ebce387312ca3691f743b89e4aef99e.tar.bz2
RoughlyEnoughItems-542eb5154ebce387312ca3691f743b89e4aef99e.zip
Remove depending on Cloth API, switching to architectury
Signed-off-by: shedaniel <daniel@shedaniel.me>
Diffstat (limited to 'default-plugin/src/main/java')
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java106
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java8
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/base/DefaultBeaconBaseDisplay.java14
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/payment/DefaultBeaconPaymentDisplay.java18
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingCategory.java20
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingDisplay.java30
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireCategory.java18
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireDisplay.java28
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java18
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingDisplay.java26
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java23
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapedDisplay.java22
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapelessDisplay.java24
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/favorites/GameModeFavoriteEntry.java4
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/favorites/WeatherFavoriteEntry.java2
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/fuel/DefaultFuelCategory.java22
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/fuel/DefaultFuelDisplay.java12
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/information/DefaultInformationCategory.java10
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/information/DefaultInformationDisplay.java13
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/pathing/DefaultPathingCategory.java19
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/pathing/DefaultPathingDisplay.java20
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/smithing/DefaultSmithingCategory.java10
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/smithing/DefaultSmithingDisplay.java28
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingDisplay.java26
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/stripping/DefaultStrippingCategory.java19
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/stripping/DefaultStrippingDisplay.java19
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/tilling/DefaultTillingCategory.java19
-rw-r--r--default-plugin/src/main/java/me/shedaniel/rei/plugin/tilling/DefaultTillingDisplay.java20
28 files changed, 277 insertions, 321 deletions
diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
index bd872ae9f..edd91e2ba 100644
--- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
+++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultPlugin.java
@@ -34,17 +34,22 @@ import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.*;
import me.shedaniel.rei.api.ingredient.EntryIngredient;
import me.shedaniel.rei.api.ingredient.EntryStack;
+import me.shedaniel.rei.api.ingredient.util.EntryIngredients;
import me.shedaniel.rei.api.ingredient.util.EntryStacks;
import me.shedaniel.rei.api.favorites.FavoriteEntry;
import me.shedaniel.rei.api.favorites.FavoriteEntryType;
import me.shedaniel.rei.api.fluid.FluidSupportProvider;
import me.shedaniel.rei.api.plugins.BuiltinPlugin;
import me.shedaniel.rei.api.plugins.REIPlugin;
-import me.shedaniel.rei.api.registry.CategoryRegistry;
-import me.shedaniel.rei.api.registry.EntryRegistry;
+import me.shedaniel.rei.api.registry.category.CategoryRegistry;
+import me.shedaniel.rei.api.registry.display.DisplayRegistry;
+import me.shedaniel.rei.api.registry.entry.EntryRegistry;
import me.shedaniel.rei.api.registry.display.Display;
-import me.shedaniel.rei.api.registry.screens.ExclusionZones;
-import me.shedaniel.rei.api.registry.screens.ScreenRegistry;
+import me.shedaniel.rei.api.registry.screen.DisplayBoundsProvider;
+import me.shedaniel.rei.api.registry.screen.ExclusionZones;
+import me.shedaniel.rei.api.registry.screen.ScreenRegistry;
+import me.shedaniel.rei.api.registry.transfer.TransferHandlerRegistry;
+import me.shedaniel.rei.api.subsets.SubsetsRegistry;
import me.shedaniel.rei.plugin.autocrafting.DefaultRecipeBookHandler;
import me.shedaniel.rei.plugin.beacon.base.DefaultBeaconBaseCategory;
import me.shedaniel.rei.plugin.beacon.base.DefaultBeaconBaseDisplay;
@@ -88,6 +93,7 @@ import me.shedaniel.rei.api.util.CollectionUtils;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.Minecraft;
+import net.minecraft.client.gui.screens.Screen;
import net.minecraft.client.gui.screens.inventory.*;
import net.minecraft.client.gui.screens.recipebook.RecipeUpdateListener;
import net.minecraft.core.Registry;
@@ -167,8 +173,8 @@ public class DefaultPlugin implements REIPlugin, BuiltinPlugin {
}
@Override
- public void registerInformation(List<? extends EntryStack<?>> entryStacks, Component name, UnaryOperator<List<Component>> textBuilder) {
- registerInfoDisplay(DefaultInformationDisplay.createFromEntries(entryStacks, name).lines(textBuilder.apply(Lists.newArrayList())));
+ public void registerInformation(EntryIngredient ingredient, Component name, UnaryOperator<List<Component>> textBuilder) {
+ registerInfoDisplay(DefaultInformationDisplay.createFromEntries(ingredient, name).lines(textBuilder.apply(Lists.newArrayList())));
}
@Override
@@ -230,6 +236,15 @@ public class DefaultPlugin implements REIPlugin, BuiltinPlugin {
new DefaultInformationCategory()
);
+ registry.removePlusButton(FUEL);
+ registry.removePlusButton(COMPOSTING);
+ registry.removePlusButton(BEACON);
+ registry.removePlusButton(BEACON_PAYMENT);
+ registry.removePlusButton(INFO);
+ registry.removePlusButton(STRIPPING);
+ registry.removePlusButton(TILLING);
+ registry.removePlusButton(PATHING);
+
registry.addWorkstations(CRAFTING, EntryStacks.of(Items.CRAFTING_TABLE));
registry.addWorkstations(SMELTING, EntryStacks.of(Items.FURNACE));
registry.addWorkstations(SMOKING, EntryStacks.of(Items.SMOKER));
@@ -278,16 +293,16 @@ public class DefaultPlugin implements REIPlugin, BuiltinPlugin {
@Override
public void registerDisplays(DisplayRegistry registry) {
- registry.registerRecipes(CRAFTING, ShapelessRecipe.class, DefaultShapelessDisplay::new);
- registry.registerRecipes(CRAFTING, ShapedRecipe.class, DefaultShapedDisplay::new);
- registry.registerRecipes(SMELTING, SmeltingRecipe.class, DefaultSmeltingDisplay::new);
- registry.registerRecipes(SMOKING, SmokingRecipe.class, DefaultSmokingDisplay::new);
- registry.registerRecipes(BLASTING, BlastingRecipe.class, DefaultBlastingDisplay::new);
- registry.registerRecipes(CAMPFIRE, CampfireCookingRecipe.class, DefaultCampfireDisplay::new);
- registry.registerRecipes(STONE_CUTTING, StonecutterRecipe.class, DefaultStoneCuttingDisplay::new);
- registry.registerRecipes(SMITHING, UpgradeRecipe.class, DefaultSmithingDisplay::new);
+ registry.registerRecipes( ShapelessRecipe.class, DefaultShapelessDisplay::new);
+ registry.registerRecipes( ShapedRecipe.class, DefaultShapedDisplay::new);
+ registry.registerRecipes( SmeltingRecipe.class, DefaultSmeltingDisplay::new);
+ registry.registerRecipes( SmokingRecipe.class, DefaultSmokingDisplay::new);
+ registry.registerRecipes( BlastingRecipe.class, DefaultBlastingDisplay::new);
+ registry.registerRecipes( CampfireCookingRecipe.class, DefaultCampfireDisplay::new);
+ registry.registerRecipes( StonecutterRecipe.class, DefaultStoneCuttingDisplay::new);
+ registry.registerRecipes( UpgradeRecipe.class, DefaultSmithingDisplay::new);
for (Map.Entry<Item, Integer> entry : AbstractFurnaceBlockEntity.getFuel().entrySet()) {
- registry.registerDisplay(new DefaultFuelDisplay(EntryStacks.of(entry.getKey()), entry.getValue()));
+ registry.registerDisplay(new DefaultFuelDisplay(EntryIngredients.of(entry.getKey()), entry.getValue()));
}
EntryIngredient arrowStack = EntryIngredient.of(EntryStacks.of(Items.ARROW));
ReferenceSet<Potion> registeredPotions = new ReferenceOpenHashSet<>();
@@ -365,7 +380,7 @@ public class DefaultPlugin implements REIPlugin, BuiltinPlugin {
// Sit tight! This will be a fast journey!
long time = System.currentTimeMillis();
EntryRegistry.getInstance().getEntryStacks().forEach(this::applyPotionTransformer);
- for (List<Display> displays : DisplayRegistry.getInstance().getAllRecipesNoHandlers().values()) {
+ for (List<Display> displays : DisplayRegistry.getInstance().getAllDisplays().values()) {
for (Display display : displays) {
for (List<? extends EntryStack<?>> entries : display.getInputEntries())
for (EntryStack<?> stack : entries)
@@ -385,59 +400,58 @@ public class DefaultPlugin implements REIPlugin, BuiltinPlugin {
}
@Override
+ public void registerExclusionZones(ExclusionZones zones) {
+ zones.register(EffectRenderingInventoryScreen.class, new DefaultPotionEffectExclusionZones());
+ zones.register(RecipeUpdateListener.class, new DefaultRecipeBookExclusionZones());
+ }
+
+ @Override
public void registerScreens(ScreenRegistry registry) {
- ExclusionZones exclusionZones = registry.exclusionZones();
- exclusionZones.register(EffectRenderingInventoryScreen.class, new DefaultPotionEffectExclusionZones());
- exclusionZones.register(RecipeUpdateListener.class, new DefaultRecipeBookExclusionZones());
- registry.registerHandler(new ScreenRegistry.DisplayBoundsProvider<AbstractContainerScreen<?>>() {
+ registry.registerDecider(new DisplayBoundsProvider<AbstractContainerScreen<?>>() {
@Override
public Rectangle getScreenBounds(AbstractContainerScreen<?> screen) {
return new Rectangle(screen.leftPos, screen.topPos, screen.imageWidth, screen.imageHeight);
}
@Override
- public Class<?> getBaseSupportedClass() {
+ public Class<? extends Screen> getBaseSupportedClass() {
return AbstractContainerScreen.class;
}
});
- }
- @Override
- public void registerOthers(DisplayRegistry registry) {
- registry.registerAutoCraftingHandler(new DefaultRecipeBookHandler());
-
- registry.removeAutoCraftButton(FUEL);
- registry.removeAutoCraftButton(COMPOSTING);
- registry.removeAutoCraftButton(BEACON);
- registry.removeAutoCraftButton(BEACON_PAYMENT);
- registry.removeAutoCraftButton(INFO);
- registry.removeAutoCraftButton(STRIPPING);
- registry.removeAutoCraftButton(TILLING);
- registry.removeAutoCraftButton(PATHING);
registry.registerContainerClickArea(new Rectangle(88, 32, 28, 23), CraftingScreen.class, CRAFTING);
registry.registerContainerClickArea(new Rectangle(137, 29, 10, 13), InventoryScreen.class, CRAFTING);
registry.registerContainerClickArea(new Rectangle(97, 16, 14, 30), BrewingStandScreen.class, BREWING);
registry.registerContainerClickArea(new Rectangle(78, 32, 28, 23), FurnaceScreen.class, SMELTING);
registry.registerContainerClickArea(new Rectangle(78, 32, 28, 23), SmokerScreen.class, SMOKING);
registry.registerContainerClickArea(new Rectangle(78, 32, 28, 23), BlastFurnaceScreen.class, BLASTING);
- FluidSupportProvider.getInstance().registerProvider(entry -> {
+ }
+
+ @Override
+ public void registerFluidSupport(FluidSupportProvider support) {
+ support.register(entry -> {
ItemStack stack = entry.getValue();
if (stack.getItem() instanceof BucketItem)
return InteractionResultHolder.success(Stream.of(EntryStacks.of(((BucketItem) stack.getItem()).content, FluidStackHooks.bucketAmount())));
return InteractionResultHolder.pass(null);
});
-// SubsetsRegistry subsetsRegistry = SubsetsRegistry.INSTANCE;
-// subsetsRegistry.registerPathEntry("roughlyenoughitems:food", EntryStacks.of(Items.MILK_BUCKET));
-// subsetsRegistry.registerPathEntry("roughlyenoughitems:food/roughlyenoughitems:cookies", EntryStacks.of(Items.COOKIE));
-
- FavoriteEntryType.registry().register(GameModeFavoriteEntry.ID, GameModeFavoriteEntry.Type.INSTANCE);
- FavoriteEntryType.registry().getOrCrateSection(new TranslatableComponent(GameModeFavoriteEntry.TRANSLATION_KEY))
+ }
+
+ @Override
+ public void registerTransferHandlers(TransferHandlerRegistry registry) {
+ registry.register(new DefaultRecipeBookHandler());
+ }
+
+ @Override
+ public void registerFavorites(FavoriteEntryType.Registry registry) {
+ registry.register(GameModeFavoriteEntry.ID, GameModeFavoriteEntry.Type.INSTANCE);
+ registry.getOrCrateSection(new TranslatableComponent(GameModeFavoriteEntry.TRANSLATION_KEY))
.add(Stream.concat(
Arrays.stream(GameType.values()),
Stream.of((GameType) null)
).<FavoriteEntry>map(GameModeFavoriteEntry.Type.INSTANCE::fromArgs).toArray(FavoriteEntry[]::new));
- FavoriteEntryType.registry().register(WeatherFavoriteEntry.ID, WeatherFavoriteEntry.Type.INSTANCE);
- FavoriteEntryType.registry().getOrCrateSection(new TranslatableComponent(WeatherFavoriteEntry.TRANSLATION_KEY))
+ registry.register(WeatherFavoriteEntry.ID, WeatherFavoriteEntry.Type.INSTANCE);
+ registry.getOrCrateSection(new TranslatableComponent(WeatherFavoriteEntry.TRANSLATION_KEY))
.add(Stream.concat(
Arrays.stream(WeatherFavoriteEntry.Weather.values()),
Stream.of((WeatherFavoriteEntry.Weather) null)
@@ -445,6 +459,12 @@ public class DefaultPlugin implements REIPlugin, BuiltinPlugin {
}
@Override
+ public void registerSubsets(SubsetsRegistry registry) {
+// registry.registerPathEntry("roughlyenoughitems:food", EntryStacks.of(Items.MILK_BUCKET));
+// registry.registerPathEntry("roughlyenoughitems:food/roughlyenoughitems:cookies", EntryStacks.of(Items.COOKIE));
+ }
+
+ @Override
public int getPriority() {
return -100;
}
diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java
index 3d420d638..8d8815b9a 100644
--- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java
+++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/autocrafting/DefaultRecipeBookHandler.java
@@ -23,7 +23,7 @@
package me.shedaniel.rei.plugin.autocrafting;
-import me.shedaniel.rei.api.AutoTransferHandler;
+import me.shedaniel.rei.api.registry.transfer.TransferHandler;
import me.shedaniel.rei.api.ClientHelper;
import me.shedaniel.rei.api.registry.display.Display;
import me.shedaniel.rei.api.registry.display.TransferDisplay;
@@ -41,13 +41,13 @@ import net.minecraft.world.item.crafting.Recipe;
import org.jetbrains.annotations.NotNull;
@Environment(EnvType.CLIENT)
-public class DefaultRecipeBookHandler implements AutoTransferHandler {
+public class DefaultRecipeBookHandler implements TransferHandler {
@NotNull
@Override
public Result handle(@NotNull Context context) {
- if (context.getRecipe() instanceof TransferDisplay && ClientHelper.getInstance().canUseMovePackets())
+ if (context.getDisplay() instanceof TransferDisplay && ClientHelper.getInstance().canUseMovePackets())
return Result.createNotApplicable();
- Display display = context.getRecipe();
+ Display display = context.getDisplay();
if (!(context.getContainer() instanceof RecipeBookMenu))
return Result.createNotApplicable();
RecipeBookMenu<?> container = (RecipeBookMenu<?>) context.getContainer();
diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/base/DefaultBeaconBaseDisplay.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/base/DefaultBeaconBaseDisplay.java
index 4cf5a6868..c82daf1e2 100644
--- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/base/DefaultBeaconBaseDisplay.java
+++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/base/DefaultBeaconBaseDisplay.java
@@ -23,9 +23,9 @@
package me.shedaniel.rei.plugin.beacon.base;
-import me.shedaniel.rei.api.ingredient.EntryStack;
+import me.shedaniel.rei.api.ingredient.EntryIngredient;
+import me.shedaniel.rei.api.ingredient.util.EntryIngredients;
import me.shedaniel.rei.api.registry.display.Display;
-import me.shedaniel.rei.api.ingredient.util.EntryStacks;
import me.shedaniel.rei.plugin.DefaultPlugin;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
@@ -38,23 +38,23 @@ import java.util.List;
@Environment(EnvType.CLIENT)
public class DefaultBeaconBaseDisplay implements Display {
- private List<? extends EntryStack<?>> entries;
+ private EntryIngredient entries;
public DefaultBeaconBaseDisplay(List<ItemStack> entries) {
- this.entries = EntryStacks.ofItemStacks(entries);
+ this.entries = EntryIngredients.ofItemStacks(entries);
}
@Override
- public @NotNull List<? extends List<? extends EntryStack<?>>> getInputEntries() {
+ public List<EntryIngredient> getInputEntries() {
return Collections.singletonList(entries);
}
- public List<? extends EntryStack<?>> getEntries() {
+ public EntryIngredient getEntries() {
return entries;
}
@Override
- public @NotNull List<? extends List<? extends EntryStack<?>>> getResultingEntries() {
+ public List<EntryIngredient> getResultingEntries() {
return Collections.emptyList();
}
diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/payment/DefaultBeaconPaymentDisplay.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/payment/DefaultBeaconPaymentDisplay.java
index 17991ef5b..c6988e564 100644
--- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/payment/DefaultBeaconPaymentDisplay.java
+++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/payment/DefaultBeaconPaymentDisplay.java
@@ -23,44 +23,42 @@
package me.shedaniel.rei.plugin.beacon.payment;
-import me.shedaniel.rei.api.ingredient.EntryStack;
+import me.shedaniel.rei.api.ingredient.EntryIngredient;
+import me.shedaniel.rei.api.ingredient.util.EntryIngredients;
import me.shedaniel.rei.api.registry.display.Display;
-import me.shedaniel.rei.api.ingredient.util.EntryStacks;
import me.shedaniel.rei.plugin.DefaultPlugin;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemStack;
-import org.jetbrains.annotations.NotNull;
import java.util.Collections;
import java.util.List;
@Environment(EnvType.CLIENT)
public class DefaultBeaconPaymentDisplay implements Display {
-
- private List<? extends EntryStack<?>> entries;
+ private EntryIngredient entries;
public DefaultBeaconPaymentDisplay(List<ItemStack> entries) {
- this.entries = EntryStacks.ofItemStacks(entries);
+ this.entries = EntryIngredients.ofItemStacks(entries);
}
@Override
- public @NotNull List<? extends List<? extends EntryStack<?>>> getInputEntries() {
+ public List<EntryIngredient> getInputEntries() {
return Collections.singletonList(entries);
}
- public List<? extends EntryStack<?>> getEntries() {
+ public EntryIngredient getEntries() {
return entries;
}
@Override
- public @NotNull List<? extends List<? extends EntryStack<?>>> getResultingEntries() {
+ public List<EntryIngredient> getResultingEntries() {
return Collections.emptyList();
}
@Override
- public @NotNull ResourceLocation getCategoryIdentifier() {
+ public ResourceLocation getCategoryIdentifier() {
return DefaultPlugin.BEACON_PAYMENT;
}
}
diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingCategory.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingCategory.java
index 644723ec6..57f3a52e0 100644
--- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingCategory.java
+++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingCategory.java
@@ -27,44 +27,43 @@ import com.google.common.collect.Lists;
import me.shedaniel.math.Point;
import me.shedaniel.math.Rectangle;
import me.shedaniel.rei.api.REIHelper;
-import me.shedaniel.rei.api.registry.display.DisplayCategory;
import me.shedaniel.rei.api.gui.Renderer;
-import me.shedaniel.rei.api.ingredient.util.EntryStacks;
-import me.shedaniel.rei.api.gui.widgets.Widgets;
import me.shedaniel.rei.api.gui.widgets.Widget;
+import me.shedaniel.rei.api.gui.widgets.Widgets;
+import me.shedaniel.rei.api.ingredient.util.EntryStacks;
+import me.shedaniel.rei.api.registry.display.DisplayCategory;
import me.shedaniel.rei.plugin.DefaultPlugin;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
import net.minecraft.client.Minecraft;
-import net.minecraft.client.resources.language.I18n;
import net.minecraft.network.chat.Component;
+import net.minecraft.network.chat.TranslatableComponent;
import net.minecraft.resources.ResourceLocation;
import net.minecraft.util.Mth;
import net.minecraft.world.item.Items;
import net.minecraft.world.level.block.Blocks;
-import org.jetbrains.annotations.NotNull;
import java.util.List;
@Environment(EnvType.CLIENT)
public class DefaultBrewingCategory implements DisplayCategory<DefaultBrewingDisplay> {
@Override
- public @NotNull ResourceLocation getIdentifier() {
+ public ResourceLocation getIdentifier() {
return DefaultPlugin.BREWING;
}
@Override
- public @NotNull Renderer getIcon() {
+ public Renderer getIcon() {
return EntryStacks.of(Blocks.BREWING_STAND);
}
@Override
- public @NotNull Component getTitle() {
- return I18n.get("category.rei.brewing");
+ public Component getTitle() {
+ return new TranslatableComponent("category.rei.brewing");
}
@Override
- public @NotNull List<Widget> setupDisplay(DefaultBrewingDisplay display, Rectangle bounds) {
+ public List<Widget> setupDisplay(DefaultBrewingDisplay display, Rectangle bounds) {
Point startPoint = new Point(bounds.getCenterX() - 52, bounds.getCenterY() - 29);
List<Widget> widgets = Lists.newArrayList();
widgets.add(Widgets.createRecipeBase(bounds));
@@ -82,5 +81,4 @@ public class DefaultBrewingCategory implements DisplayCategory<DefaultBrewingDis
widgets.add(Widgets.createSlot(new Point(startPoint.x + 86, startPoint.y + 35)).entries(display.getOutput(2)).disableBackground().markOutput());
return widgets;
}
-
}
diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingDisplay.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingDisplay.java
index 05b65b08e..e3b4843b6 100644
--- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingDisplay.java
+++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/brewing/DefaultBrewingDisplay.java
@@ -24,9 +24,10 @@
package me.shedaniel.rei.plugin.brewing;
import com.google.common.collect.Lists;
+import me.shedaniel.rei.api.ingredient.EntryIngredient;
import me.shedaniel.rei.api.ingredient.EntryStack;
-import me.shedaniel.rei.api.registry.display.Display;
import me.shedaniel.rei.api.ingredient.util.EntryStacks;
+import me.shedaniel.rei.api.registry.display.Display;
import me.shedaniel.rei.plugin.DefaultPlugin;
import net.fabricmc.api.EnvType;
import net.fabricmc.api.Environment;
@@ -36,7 +37,6 @@ import net.minecraft.resources.ResourceLocation;
import net.minecraft.world.item.ItemStack;
import net.minecraft.world.item.crafting.Ingredient;
import org.jetbrains.annotations.ApiStatus;
-import org.jetbrains.annotations.NotNull;
import java.util.ArrayList;
import java.util.Collections;
@@ -44,41 +44,42 @@ import java.util.List;
@Environment(EnvType.CLIENT)
public class DefaultBrewingDisplay implements Display {
-
private EntryStack<?> output;
- private List<EntryStack<?>> reactant, input;
+ private EntryIngredient reactant, input;
@ApiStatus.Internal
public DefaultBrewingDisplay(Ingredient input, Ingredient reactant, ItemStack output) {
ItemStack[] inputItems = input.getItems();
- this.input = new ArrayList<>(inputItems.length);
+ List<EntryStack<?>> i = new ArrayList<>(inputItems.length);
for (ItemStack inputItem : inputItems) {
EntryStack<?> entryStack = EntryStacks.of(inputItem);
entryStack.setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, s -> Collections.singletonList(new TranslatableComponent("category.rei.brewing.input").withStyle(ChatFormatting.YELLOW)));
- this.input.add(entryStack);
+ i.add(entryStack);
}
+ this.input = EntryIngredient.of(i);
ItemStack[] reactantStacks = reactant.getItems();
- this.reactant = new ArrayList<>(reactantStacks.length);
+ List<EntryStack<?>> r = new ArrayList<>(reactantStacks.length);
for (ItemStack stack : reactantStacks) {
EntryStack<?> entryStack = EntryStacks.of(stack);
entryStack.setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, s -> Collections.singletonList(new TranslatableComponent("category.rei.brewing.reactant").withStyle(ChatFormatting.YELLOW)));
- this.reactant.add(entryStack);
+ r.add(entryStack);
}
+ this.reactant = EntryIngredient.of(r);
this.output = EntryStacks.of(output).setting(EntryStack.Settings.TOOLTIP_APPEND_EXTRA, stack -> Collections.singletonList(new TranslatableComponent("category.rei.brewing.result").withStyle(ChatFormatting.YELLOW)));
}
@Override
- public @NotNull List<? extends List<? extends EntryStack<?>>> getInputEntries() {
+ public List<EntryIngredient> getInputEntries() {
return Lists.newArrayList(input, reactant);
}
@Override
- public @NotNull List<? extends List<? extends EntryStack<?>>> getResultingEntries() {
- return Collections.singletonList(Collections.singletonList(output));
+ public List<EntryIngredient> getResultingEntries() {
+ return Collections.singletonList(EntryIngredient.of(output));
}
@Override
- public @NotNull ResourceLocation getCategoryIdentifier() {
+ public ResourceLocation getCategoryIdentifier() {
return DefaultPlugin.BREWING;
}
@@ -90,9 +91,4 @@ public class DefaultBrewingDisplay implements Display {
stack.add(output);
return stack;
}
-
- @Override
- public @NotNull List<? extends List<? extends EntryStack<?>>> getRequiredEntries() {
- return getInputEntries();
- }
}
diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireCategory.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireCategory.java
index 4f7834ea7..4575dbaa9 100644
--- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireCategory.java
+++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/campfire/DefaultCampfireCategory.java
@@ -26,40 +26,38 @@ package me.shedaniel.rei.plugin.campfire;
import com.google.common.collect.Lists;
import me.shedaniel.math.Point;
import me.shedaniel.math.Rectangle;
-import me.shedaniel.rei.api.registry.display.DisplayCategory;
import me.shedaniel.rei.api.gui.Renderer;
-import me.shedaniel.rei.api.ingredien