From a56baa875630ffac06e421a7389854b5301ed7f0 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Sun, 21 Feb 2021 22:33:45 +0800 Subject: More Signed-off-by: shedaniel --- .../me/shedaniel/rei/plugin/DefaultPlugin.java | 64 ++++++++++++---------- .../beacon/base/DefaultBeaconBaseCategory.java | 23 ++++---- .../beacon/base/DefaultBeaconBaseDisplay.java | 2 +- .../payment/DefaultBeaconPaymentCategory.java | 12 ++-- .../payment/DefaultBeaconPaymentDisplay.java | 2 +- .../plugin/blasting/DefaultBlastingDisplay.java | 2 +- .../rei/plugin/brewing/DefaultBrewingCategory.java | 5 +- .../rei/plugin/brewing/DefaultBrewingDisplay.java | 2 +- .../plugin/campfire/DefaultCampfireCategory.java | 5 +- .../plugin/campfire/DefaultCampfireDisplay.java | 4 +- .../composting/DefaultCompostingCategory.java | 6 +- .../composting/DefaultCompostingDisplay.java | 2 +- .../containers/CraftingContainerInfoWrapper.java | 1 + .../rei/plugin/cooking/DefaultCookingCategory.java | 36 +++++++----- .../rei/plugin/cooking/DefaultCookingDisplay.java | 2 +- .../plugin/crafting/DefaultCraftingCategory.java | 5 +- .../plugin/crafting/DefaultCraftingDisplay.java | 2 +- .../rei/plugin/crafting/DefaultCustomDisplay.java | 2 +- .../rei/plugin/crafting/DefaultShapedDisplay.java | 2 +- .../plugin/crafting/DefaultShapelessDisplay.java | 2 +- .../plugin/favorites/GameModeFavoriteEntry.java | 2 +- .../rei/plugin/favorites/WeatherFavoriteEntry.java | 2 +- .../rei/plugin/fuel/DefaultFuelCategory.java | 5 +- .../rei/plugin/fuel/DefaultFuelDisplay.java | 2 +- .../information/DefaultInformationCategory.java | 8 +-- .../information/DefaultInformationDisplay.java | 2 +- .../rei/plugin/pathing/DefaultPathingCategory.java | 5 +- .../rei/plugin/pathing/DefaultPathingDisplay.java | 2 +- .../plugin/smelting/DefaultSmeltingDisplay.java | 2 +- .../plugin/smithing/DefaultSmithingCategory.java | 5 +- .../plugin/smithing/DefaultSmithingDisplay.java | 4 +- .../rei/plugin/smoking/DefaultSmokingDisplay.java | 2 +- .../stonecutting/DefaultStoneCuttingCategory.java | 20 ++++--- .../stonecutting/DefaultStoneCuttingDisplay.java | 4 +- .../plugin/stripping/DefaultStrippingCategory.java | 5 +- .../plugin/stripping/DefaultStrippingDisplay.java | 2 +- .../rei/plugin/tilling/DefaultTillingCategory.java | 5 +- .../rei/plugin/tilling/DefaultTillingDisplay.java | 2 +- 38 files changed, 144 insertions(+), 116 deletions(-) (limited to 'default-plugin/src/main/java') 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 8910f4db5..bd872ae9f 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 @@ -39,9 +39,12 @@ 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.REIPluginV0; +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.display.Display; +import me.shedaniel.rei.api.registry.screens.ExclusionZones; +import me.shedaniel.rei.api.registry.screens.ScreenRegistry; import me.shedaniel.rei.plugin.autocrafting.DefaultRecipeBookHandler; import me.shedaniel.rei.plugin.beacon.base.DefaultBeaconBaseCategory; import me.shedaniel.rei.plugin.beacon.base.DefaultBeaconBaseDisplay; @@ -121,7 +124,7 @@ import static me.shedaniel.rei.impl.Internals.attachInstance; @Environment(EnvType.CLIENT) @ApiStatus.Internal -public class DefaultPlugin implements REIPluginV0, BuiltinPlugin { +public class DefaultPlugin implements REIPlugin, BuiltinPlugin { private static final Logger LOGGER = LogManager.getFormatterLogger("REI/DefaultPlugin"); public static final ResourceLocation CRAFTING = BuiltinPlugin.CRAFTING; public static final ResourceLocation SMELTING = BuiltinPlugin.SMELTING; @@ -151,11 +154,11 @@ public class DefaultPlugin implements REIPluginV0, BuiltinPlugin { } public static void registerBrewingRecipe(RegisteredBrewingRecipe recipe) { - RecipeRegistry.getInstance().registerDisplay(new DefaultBrewingDisplay(recipe.input, recipe.ingredient, recipe.output)); + DisplayRegistry.getInstance().registerDisplay(new DefaultBrewingDisplay(recipe.input, recipe.ingredient, recipe.output)); } public static void registerInfoDisplay(DefaultInformationDisplay display) { - RecipeRegistry.getInstance().registerDisplay(display); + DisplayRegistry.getInstance().registerDisplay(display); } @Override @@ -177,7 +180,7 @@ public class DefaultPlugin implements REIPluginV0, BuiltinPlugin { } catch (Exception ignored) { } if (stacks != null) { - for (ItemStack stack : registry.appendStacksForItem(item)) { + for (ItemStack stack : stacks) { registry.registerEntry(EntryStacks.of(stack)); } } else @@ -227,53 +230,54 @@ public class DefaultPlugin implements REIPluginV0, BuiltinPlugin { new DefaultInformationCategory() ); - registry.registerWorkingStations(CRAFTING, EntryStacks.of(Items.CRAFTING_TABLE)); - registry.registerWorkingStations(SMELTING, EntryStacks.of(Items.FURNACE)); - registry.registerWorkingStations(SMOKING, EntryStacks.of(Items.SMOKER)); - registry.registerWorkingStations(BLASTING, EntryStacks.of(Items.BLAST_FURNACE)); - registry.registerWorkingStations(CAMPFIRE, EntryStacks.of(Items.CAMPFIRE), EntryStacks.of(Items.SOUL_CAMPFIRE)); - registry.registerWorkingStations(FUEL, EntryStacks.of(Items.FURNACE), EntryStacks.of(Items.SMOKER), EntryStacks.of(Items.BLAST_FURNACE)); - registry.registerWorkingStations(BREWING, EntryStacks.of(Items.BREWING_STAND)); - registry.registerWorkingStations(STONE_CUTTING, EntryStacks.of(Items.STONECUTTER)); - registry.registerWorkingStations(COMPOSTING, EntryStacks.of(Items.COMPOSTER)); - registry.registerWorkingStations(SMITHING, EntryStacks.of(Items.SMITHING_TABLE)); - registry.registerWorkingStations(BEACON, EntryStacks.of(Items.BEACON)); - registry.registerWorkingStations(BEACON_PAYMENT, EntryStacks.of(Items.BEACON)); + registry.addWorkstations(CRAFTING, EntryStacks.of(Items.CRAFTING_TABLE)); + registry.addWorkstations(SMELTING, EntryStacks.of(Items.FURNACE)); + registry.addWorkstations(SMOKING, EntryStacks.of(Items.SMOKER)); + registry.addWorkstations(BLASTING, EntryStacks.of(Items.BLAST_FURNACE)); + registry.addWorkstations(CAMPFIRE, EntryStacks.of(Items.CAMPFIRE), EntryStacks.of(Items.SOUL_CAMPFIRE)); + registry.addWorkstations(FUEL, EntryStacks.of(Items.FURNACE), EntryStacks.of(Items.SMOKER), EntryStacks.of(Items.BLAST_FURNACE)); + registry.addWorkstations(BREWING, EntryStacks.of(Items.BREWING_STAND)); + registry.addWorkstations(STONE_CUTTING, EntryStacks.of(Items.STONECUTTER)); + registry.addWorkstations(COMPOSTING, EntryStacks.of(Items.COMPOSTER)); + registry.addWorkstations(SMITHING, EntryStacks.of(Items.SMITHING_TABLE)); + registry.addWorkstations(BEACON, EntryStacks.of(Items.BEACON)); + registry.addWorkstations(BEACON_PAYMENT, EntryStacks.of(Items.BEACON)); + Set axes = Sets.newHashSet(), hoes = Sets.newHashSet(), shovels = Sets.newHashSet(); EntryRegistry.getInstance().getEntryStacks().filter(stack -> stack.getValueType() == ItemStack.class).map(stack -> ((ItemStack) stack.getValue()).getItem()).forEach(item -> { if (item instanceof AxeItem && axes.add(item)) { - registry.registerWorkingStations(STRIPPING, EntryStacks.of(item)); + registry.addWorkstations(STRIPPING, EntryStacks.of(item)); } if (item instanceof HoeItem && hoes.add(item)) { - registry.registerWorkingStations(TILLING, EntryStacks.of(item)); + registry.addWorkstations(TILLING, EntryStacks.of(item)); } if (item instanceof ShovelItem && shovels.add(item)) { - registry.registerWorkingStations(PATHING, EntryStacks.of(item)); + registry.addWorkstations(PATHING, EntryStacks.of(item)); } }); - TagCollection itemTagCollection = Minecraft.getInstance().getConnection().getTags().getOrEmpty(Registry.ITEM_REGISTRY); + TagCollection itemTagCollection = Minecraft.getInstance().getConnection().getTags().getItems(); Tag axesTag = itemTagCollection.getTag(new ResourceLocation("c", "axes")); if (axesTag != null) { for (Item item : axesTag.getValues()) { - if (axes.add(item)) registry.registerWorkingStations(STRIPPING, EntryStacks.of(item)); + if (axes.add(item)) registry.addWorkstations(STRIPPING, EntryStacks.of(item)); } } Tag hoesTag = itemTagCollection.getTag(new ResourceLocation("c", "hoes")); if (hoesTag != null) { for (Item item : hoesTag.getValues()) { - if (hoes.add(item)) registry.registerWorkingStations(TILLING, EntryStacks.of(item)); + if (hoes.add(item)) registry.addWorkstations(TILLING, EntryStacks.of(item)); } } Tag shovelsTag = itemTagCollection.getTag(new ResourceLocation("c", "shovels")); if (shovelsTag != null) { for (Item item : shovelsTag.getValues()) { - if (shovels.add(item)) registry.registerWorkingStations(PATHING, EntryStacks.of(item)); + if (shovels.add(item)) registry.addWorkstations(PATHING, EntryStacks.of(item)); } } } @Override - public void registerDisplays(RecipeRegistry registry) { + 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); @@ -361,7 +365,7 @@ public class DefaultPlugin implements REIPluginV0, BuiltinPlugin { // Sit tight! This will be a fast journey! long time = System.currentTimeMillis(); EntryRegistry.getInstance().getEntryStacks().forEach(this::applyPotionTransformer); - for (List displays : RecipeRegistry.getInstance().getAllRecipesNoHandlers().values()) { + for (List displays : DisplayRegistry.getInstance().getAllRecipesNoHandlers().values()) { for (Display display : displays) { for (List> entries : display.getInputEntries()) for (EntryStack stack : entries) @@ -381,11 +385,11 @@ public class DefaultPlugin implements REIPluginV0, BuiltinPlugin { } @Override - public void registerBounds(DisplayBoundsRegistry registry) { + public void registerScreens(ScreenRegistry registry) { ExclusionZones exclusionZones = registry.exclusionZones(); exclusionZones.register(EffectRenderingInventoryScreen.class, new DefaultPotionEffectExclusionZones()); exclusionZones.register(RecipeUpdateListener.class, new DefaultRecipeBookExclusionZones()); - registry.registerProvider(new DisplayBoundsRegistry.DisplayBoundsProvider>() { + registry.registerHandler(new ScreenRegistry.DisplayBoundsProvider>() { @Override public Rectangle getScreenBounds(AbstractContainerScreen screen) { return new Rectangle(screen.leftPos, screen.topPos, screen.imageWidth, screen.imageHeight); @@ -399,7 +403,7 @@ public class DefaultPlugin implements REIPluginV0, BuiltinPlugin { } @Override - public void registerOthers(RecipeRegistry registry) { + public void registerOthers(DisplayRegistry registry) { registry.registerAutoCraftingHandler(new DefaultRecipeBookHandler()); registry.removeAutoCraftButton(FUEL); @@ -442,7 +446,7 @@ public class DefaultPlugin implements REIPluginV0, BuiltinPlugin { @Override public int getPriority() { - return -1; + return -100; } } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/base/DefaultBeaconBaseCategory.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/base/DefaultBeaconBaseCategory.java index 4172e150d..d78b95208 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/base/DefaultBeaconBaseCategory.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/base/DefaultBeaconBaseCategory.java @@ -31,19 +31,21 @@ import me.shedaniel.clothconfig2.api.ScrollingContainer; 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.DisplayRenderer; import me.shedaniel.rei.api.gui.Renderer; -import me.shedaniel.rei.api.ingredient.util.EntryStacks; import me.shedaniel.rei.api.gui.widgets.Slot; -import me.shedaniel.rei.api.gui.widgets.Widgets; -import me.shedaniel.rei.api.gui.DisplayRenderer; import me.shedaniel.rei.api.gui.widgets.Widget; import me.shedaniel.rei.api.gui.widgets.WidgetWithBounds; -import me.shedaniel.rei.plugin.DefaultPlugin; +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.api.util.CollectionUtils; +import me.shedaniel.rei.plugin.DefaultPlugin; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.components.events.GuiEventListener; 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.level.block.Blocks; @@ -59,20 +61,19 @@ public class DefaultBeaconBaseCategory implements DisplayCategory getRecipeLocation() { + public @NotNull Optional getDisplayLocation() { return Optional.ofNullable(display).map(AbstractCookingRecipe::getId); } @@ -84,7 +84,7 @@ public class DefaultCampfireDisplay implements Display { } @Override - public @NotNull ResourceLocation getRecipeCategory() { + public @NotNull ResourceLocation getCategoryIdentifier() { return DefaultPlugin.CAMPFIRE; } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java index b3f2d4054..4dbbd3d9b 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/composting/DefaultCompostingCategory.java @@ -58,12 +58,12 @@ public class DefaultCompostingCategory implements DisplayCategory> implements ContainerInfo { private Class> containerClass; diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingCategory.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingCategory.java index a83f60784..7352fef49 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingCategory.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/cooking/DefaultCookingCategory.java @@ -28,17 +28,16 @@ import com.mojang.blaze3d.vertex.PoseStack; import it.unimi.dsi.fastutil.ints.IntList; import me.shedaniel.math.Point; import me.shedaniel.math.Rectangle; -import me.shedaniel.rei.api.ingredient.EntryStack; -import me.shedaniel.rei.api.registry.display.TransferDisplayCategory; -import me.shedaniel.rei.api.gui.widgets.Widgets; import me.shedaniel.rei.api.gui.DisplayRenderer; import me.shedaniel.rei.api.gui.SimpleDisplayRenderer; import me.shedaniel.rei.api.gui.widgets.Widget; +import me.shedaniel.rei.api.gui.widgets.Widgets; +import me.shedaniel.rei.api.ingredient.EntryStack; +import me.shedaniel.rei.api.registry.display.TransferDisplayCategory; import net.minecraft.client.gui.GuiComponent; -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 org.jetbrains.annotations.NotNull; import java.text.DecimalFormat; import java.util.Collections; @@ -67,24 +66,31 @@ public class DefaultCookingCategory implements TransferDisplayCategory setupDisplay(DefaultCookingDisplay display, Rectangle bounds) { + public List setupDisplay(DefaultCookingDisplay display, Rectangle bounds) { Point startPoint = new Point(bounds.getCenterX() - 41, bounds.y + 10); double cookingTime = display.getCookingTime(); DecimalFormat df = new DecimalFormat("###.##"); List widgets = Lists.newArrayList(); widgets.add(Widgets.createRecipeBase(bounds)); widgets.add(Widgets.createResultSlotBackground(new Point(startPoint.x + 61, startPoint.y + 9))); - widgets.add(Widgets.createBurningFire(new Point(startPoint.x + 1, startPoint.y + 20)).animationDurationMS(10000)); + widgets.add(Widgets.createBurningFire(new Point(startPoint.x + 1, startPoint.y + 20)) + .animationDurationMS(10000)); widgets.add(Widgets.createLabel(new Point(bounds.x + bounds.width - 5, bounds.y + 5), new TranslatableComponent("category.rei.cooking.time&xp", df.format(display.getXp()), df.format(cookingTime / 20d))).noShadow().rightAligned().color(0xFF404040, 0xFFBBBBBB)); - widgets.add(Widgets.createArrow(new Point(startPoint.x + 24, startPoint.y + 8)).animationDurationTicks(cookingTime)); - widgets.add(Widgets.createSlot(new Point(startPoint.x + 1, startPoint.y + 1)).entries(display.getInputEntries().get(0)).markInput()); - widgets.add(Widgets.createSlot(new Point(startPoint.x + 61, startPoint.y + 9)).entries(display.getResultingEntries().get(0)).disableBackground().markOutput()); + widgets.add(Widgets.createArrow(new Point(startPoint.x + 24, startPoint.y + 8)) + .animationDurationTicks(cookingTime)); + widgets.add(Widgets.createSlot(new Point(startPoint.x + 61, startPoint.y + 9)) + .entries(display.getResultingEntries().get(0)) + .disableBackground() + .markOutput()); + widgets.add(Widgets.createSlot(new Point(startPoint.x + 1, startPoint.y + 1)) + .entries(display.getInputEntries().get(0)) + .markInput()); return widgets; } @Override - public @NotNull DisplayRenderer getDisplayRenderer(DefaultCookingDisplay display) { + public DisplayRenderer getDisplayRenderer(DefaultCookingDisplay display) { return SimpleDisplayRenderer.from(Collections.singletonList(display.getInputEntries().get(0)), display.getResultingEntries()); } @@ -94,17 +100,17 @@ public class DefaultCookingCategory implements TransferDisplayCategory getRecipeLocation() { + public @NotNull Optional getDisplayLocation() { return Optional.ofNullable(recipe).map(AbstractCookingRecipe::getId); } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java index 9e0f6a6f9..e679e1ec0 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultCraftingCategory.java @@ -41,6 +41,7 @@ import me.shedaniel.rei.api.server.ContainerInfo; import me.shedaniel.rei.api.server.ContainerInfoHandler; import net.minecraft.client.gui.GuiComponent; import net.minecraft.client.resources.language.I18n; +import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.util.Mth; import net.minecraft.world.inventory.AbstractContainerMenu; @@ -62,12 +63,12 @@ public class DefaultCraftingCategory implements TransferDisplayCategory getRecipeLocation() { + public @NotNull Optional getDisplayLocation() { return getRecipe().map(Recipe::getId); } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapedDisplay.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapedDisplay.java index 0291e6336..a0104bdee 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapedDisplay.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapedDisplay.java @@ -49,7 +49,7 @@ public class DefaultShapedDisplay implements DefaultCraftingDisplay { } @Override - public @NotNull Optional getRecipeLocation() { + public @NotNull Optional getDisplayLocation() { return Optional.ofNullable(display).map(ShapedRecipe::getId); } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapelessDisplay.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapelessDisplay.java index d8a61fdbe..9828d3d3f 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapelessDisplay.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/crafting/DefaultShapelessDisplay.java @@ -54,7 +54,7 @@ public class DefaultShapelessDisplay implements DefaultCraftingDisplay { } @Override - public @NotNull Optional getRecipeLocation() { + public @NotNull Optional getDisplayLocation() { return Optional.ofNullable(display).map(ShapelessRecipe::getId); } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/favorites/GameModeFavoriteEntry.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/favorites/GameModeFavoriteEntry.java index e016e6693..3c885ca63 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/favorites/GameModeFavoriteEntry.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/favorites/GameModeFavoriteEntry.java @@ -31,7 +31,7 @@ import me.shedaniel.math.Rectangle; import me.shedaniel.rei.api.ConfigObject; import me.shedaniel.rei.api.REIHelper; import me.shedaniel.rei.api.gui.Renderer; -import me.shedaniel.rei.api.ingredient.entry.AbstractRenderer; +import me.shedaniel.rei.api.gui.AbstractRenderer; import me.shedaniel.rei.api.favorites.FavoriteEntry; import me.shedaniel.rei.api.favorites.FavoriteEntryType; import me.shedaniel.rei.api.favorites.FavoriteMenuEntry; diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/favorites/WeatherFavoriteEntry.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/favorites/WeatherFavoriteEntry.java index 81b420054..10fc3970f 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/favorites/WeatherFavoriteEntry.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/favorites/WeatherFavoriteEntry.java @@ -32,7 +32,7 @@ import me.shedaniel.math.Rectangle; import me.shedaniel.rei.api.ConfigObject; import me.shedaniel.rei.api.REIHelper; import me.shedaniel.rei.api.gui.Renderer; -import me.shedaniel.rei.api.ingredient.entry.AbstractRenderer; +import me.shedaniel.rei.api.gui.AbstractRenderer; import me.shedaniel.rei.api.favorites.FavoriteEntry; import me.shedaniel.rei.api.favorites.FavoriteEntryType; import me.shedaniel.rei.api.favorites.FavoriteMenuEntry; diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/fuel/DefaultFuelCategory.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/fuel/DefaultFuelCategory.java index 627000368..40abc852c 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/fuel/DefaultFuelCategory.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/fuel/DefaultFuelCategory.java @@ -40,6 +40,7 @@ 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.world.item.Items; @@ -60,7 +61,7 @@ public class DefaultFuelCategory implements DisplayCategory } @Override - public @NotNull String getCategoryName() { + public @NotNull Component getTitle() { return I18n.get("category.rei.fuel"); } @@ -70,7 +71,7 @@ public class DefaultFuelCategory implements DisplayCategory } @Override - public @NotNull Renderer getLogo() { + public @NotNull Renderer getIcon() { return EntryStacks.of(Items.COAL); } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/fuel/DefaultFuelDisplay.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/fuel/DefaultFuelDisplay.java index 480b2080f..b762fb357 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/fuel/DefaultFuelDisplay.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/fuel/DefaultFuelDisplay.java @@ -54,7 +54,7 @@ public class DefaultFuelDisplay implements Display { } @Override - public ResourceLocation getRecipeCategory() { + public ResourceLocation getCategoryIdentifier() { return DefaultPlugin.FUEL; } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/information/DefaultInformationCategory.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/information/DefaultInformationCategory.java index a937e652f..e234256ea 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/information/DefaultInformationCategory.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/information/DefaultInformationCategory.java @@ -35,7 +35,7 @@ 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.entry.AbstractRenderer; +import me.shedaniel.rei.api.gui.AbstractRenderer; import me.shedaniel.rei.api.gui.widgets.Widgets; import me.shedaniel.rei.api.gui.DisplayRenderer; import me.shedaniel.rei.api.gui.widgets.Widget; @@ -76,7 +76,7 @@ public class DefaultInformationCategory implements DisplayCategory getRecipeLocation() { + public @NotNull Optional getDisplayLocation() { return Optional.ofNullable(location); } } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/smoking/DefaultSmokingDisplay.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/smoking/DefaultSmokingDisplay.java index 5feb1ecaa..f8f904cb2 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/smoking/DefaultSmokingDisplay.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/smoking/DefaultSmokingDisplay.java @@ -35,7 +35,7 @@ public class DefaultSmokingDisplay extends DefaultCookingDisplay { } @Override - public @NotNull ResourceLocation getRecipeCategory() { + public @NotNull ResourceLocation getCategoryIdentifier() { return DefaultPlugin.SMOKING; } } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingCategory.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingCategory.java index 2f1615168..7b42037ae 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingCategory.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingCategory.java @@ -33,6 +33,8 @@ import me.shedaniel.rei.api.gui.widgets.Widgets; import me.shedaniel.rei.api.gui.widgets.Widget; 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; @@ -41,29 +43,33 @@ import java.util.List; public class DefaultStoneCuttingCategory implements DisplayCategory { @Override - public @NotNull ResourceLocation getIdentifier() { + public ResourceLocation getIdentifier() { return DefaultPlugin.STONE_CUTTING; } @Override - public @NotNull Renderer getLogo() { + public Renderer getIcon() { return EntryStacks.of(Blocks.STONECUTTER); } @Override - public @NotNull String getCategoryName() { - return I18n.get("category.rei.stone_cutting"); + public Component getTitle() { + return new TranslatableComponent("category.rei.stone_cutting"); } @Override - public @NotNull List setupDisplay(DefaultStoneCuttingDisplay display, Rectangle bounds) { + public List setupDisplay(DefaultStoneCuttingDisplay display, Rectangle bounds) { Point startPoint = new Point(bounds.getCenterX() - 41, bounds.getCenterY() - 13); List widgets = Lists.newArrayList(); widgets.add(Widgets.createRecipeBase(bounds)); widgets.add(Widgets.createArrow(new Point(startPoint.x + 27, startPoint.y + 4))); widgets.add(Widgets.createResultSlotBackground(new Point(startPoint.x + 61, startPoint.y + 5))); - widgets.add(Widgets.createSlot(new Point(startPoint.x + 4, startPoint.y + 5)).entries(display.getInputEntries().get(0)).markInput()); - widgets.add(Widgets.createSlot(new Point(startPoint.x + 61, startPoint.y + 5)).entries(display.getResultingEntries().get(0)).disableBackground().markOutput()); + widgets.add(Widgets.createSlot(new Point(startPoint.x + 61, startPoint.y + 5)) + .entries(display.getResultingEntries().get(0)) + .disableBackground() + .markOutput()); + widgets.add(Widgets.createSlot(new Point(startPoint.x + 4, startPoint.y + 5)) + .entries(display.getInputEntries().get(0)).markInput()); return widgets; } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingDisplay.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingDisplay.java index 50ca977df..9005761fb 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingDisplay.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/stonecutting/DefaultStoneCuttingDisplay.java @@ -58,7 +58,7 @@ public class DefaultStoneCuttingDisplay implements Display { } @Override - public @NotNull Optional getRecipeLocation() { + public @NotNull Optional getDisplayLocation() { return Optional.ofNullable(display).map(SingleItemRecipe::getId); } @@ -73,7 +73,7 @@ public class DefaultStoneCuttingDisplay implements Display { } @Override - public @NotNull ResourceLocation getRecipeCategory() { + public @NotNull ResourceLocation getCategoryIdentifier() { return DefaultPlugin.STONE_CUTTING; } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/stripping/DefaultStrippingCategory.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/stripping/DefaultStrippingCategory.java index 1e2ea3adf..b32217cde 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/stripping/DefaultStrippingCategory.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/stripping/DefaultStrippingCategory.java @@ -33,6 +33,7 @@ import me.shedaniel.rei.api.gui.widgets.Widgets; import me.shedaniel.rei.api.gui.widgets.Widget; import me.shedaniel.rei.plugin.DefaultPlugin; import net.minecraft.client.resources.language.I18n; +import net.minecraft.network.chat.Component; import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.Items; import org.jetbrains.annotations.NotNull; @@ -47,12 +48,12 @@ public class DefaultStrippingCategory implements DisplayCategory