diff options
Diffstat (limited to 'default-plugin/src/main/java/me/shedaniel')
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.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.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.world.level.block.Blocks; -import org.jetbrains.annotations.NotNull; import java.text.DecimalFormat; import java.util.List; public class DefaultCampfireCategory implements DisplayCategory<DefaultCampfireDisplay> { @Override - public @NotNull ResourceLocation getIdentifier() { + public ResourceLocation getIdentifier() { return DefaultPlugin.CAMPFIRE; } @Override - public @NotNull Renderer getIcon() { + public Renderer getIcon() { return EntryStacks.of(Blocks.CAMPFIRE); } @Override - public @NotNull Component getTitle() { - return I18n.get("category.rei.campfire"); + public Component getTitle() { + return new TranslatableComponent("category.rei.campfire"); } @Override - public @NotNull List<Widget> setupDisplay(DefaultCampfireDisplay display, Rectangle bounds) { + public List<Widget> setupDisplay(DefaultCampfireDisplay display, Rectangle bounds) { Point startPoint = new Point(bounds.getCenterX() - 41, bounds.y + 10); final double cookingTime = display.getCookTime(); DecimalFormat df = new DecimalFormat("###.##"); |
