diff options
Diffstat (limited to 'default-plugin/src')
46 files changed, 936 insertions, 889 deletions
diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultServerContainerPlugin.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultServerContainerPlugin.java deleted file mode 100644 index 20a6f6b8c..000000000 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/DefaultServerContainerPlugin.java +++ /dev/null @@ -1,40 +0,0 @@ -/* - * This file is licensed under the MIT License, part of Roughly Enough Items. - * Copyright (c) 2018, 2019, 2020 shedaniel - * - * Permission is hereby granted, free of charge, to any person obtaining a copy - * of this software and associated documentation files (the "Software"), to deal - * in the Software without restriction, including without limitation the rights - * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell - * copies of the Software, and to permit persons to whom the Software is - * furnished to do so, subject to the following conditions: - * - * The above copyright notice and this permission notice shall be included in all - * copies or substantial portions of the Software. - * - * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR - * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, - * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE - * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER - * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, - * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE - * SOFTWARE. - */ - -package me.shedaniel.rei.plugin; - -import me.shedaniel.rei.api.server.ContainerInfoHandler; -import me.shedaniel.rei.plugin.containers.CraftingContainerInfoWrapper; -import net.minecraft.resources.ResourceLocation; -import net.minecraft.world.inventory.*; - -public class DefaultServerContainerPlugin implements Runnable { - @Override - public void run() { - ContainerInfoHandler.registerContainerInfo(new ResourceLocation("minecraft", "plugins/crafting"), CraftingContainerInfoWrapper.create(CraftingMenu.class)); - ContainerInfoHandler.registerContainerInfo(new ResourceLocation("minecraft", "plugins/crafting"), CraftingContainerInfoWrapper.create(InventoryMenu.class)); - ContainerInfoHandler.registerContainerInfo(new ResourceLocation("minecraft", "plugins/smelting"), CraftingContainerInfoWrapper.create(FurnaceMenu.class)); - ContainerInfoHandler.registerContainerInfo(new ResourceLocation("minecraft", "plugins/smoking"), CraftingContainerInfoWrapper.create(SmokerMenu.class)); - ContainerInfoHandler.registerContainerInfo(new ResourceLocation("minecraft", "plugins/blasting"), CraftingContainerInfoWrapper.create(BlastFurnaceMenu.class)); - } -} 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 5c46645dc..797073814 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,34 +23,32 @@ package me.shedaniel.rei.plugin.autocrafting; -import me.shedaniel.rei.api.ClientHelper; -import me.shedaniel.rei.api.registry.display.Display; -import me.shedaniel.rei.api.registry.display.TransferDisplay; -import me.shedaniel.rei.api.registry.transfer.TransferHandler; -import me.shedaniel.rei.plugin.cooking.DefaultCookingDisplay; -import me.shedaniel.rei.plugin.crafting.DefaultCraftingDisplay; +import me.shedaniel.rei.api.client.ClientHelper; +import me.shedaniel.rei.api.client.registry.transfer.TransferHandler; +import me.shedaniel.rei.api.common.display.Display; +import me.shedaniel.rei.api.common.display.SimpleMenuDisplay; +import me.shedaniel.rei.plugin.common.cooking.DefaultCookingDisplay; +import me.shedaniel.rei.plugin.common.crafting.DefaultCraftingDisplay; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; import net.minecraft.client.gui.screens.Screen; import net.minecraft.client.gui.screens.recipebook.RecipeUpdateListener; -import net.minecraft.client.resources.language.I18n; +import net.minecraft.network.chat.TranslatableComponent; import net.minecraft.world.inventory.CraftingMenu; import net.minecraft.world.inventory.InventoryMenu; import net.minecraft.world.inventory.RecipeBookMenu; import net.minecraft.world.item.crafting.Recipe; -import org.jetbrains.annotations.NotNull; @Environment(EnvType.CLIENT) public class DefaultRecipeBookHandler implements TransferHandler { - @NotNull @Override - public Result handle(@NotNull Context context) { - if (context.getDisplay() instanceof TransferDisplay && ClientHelper.getInstance().canUseMovePackets()) + public Result handle(Context context) { + if (context.getDisplay() instanceof SimpleMenuDisplay && ClientHelper.getInstance().canUseMovePackets()) return Result.createNotApplicable(); Display display = context.getDisplay(); - if (!(context.getContainer() instanceof RecipeBookMenu)) + if (!(context.getMenu() instanceof RecipeBookMenu)) return Result.createNotApplicable(); - RecipeBookMenu<?> container = (RecipeBookMenu<?>) context.getContainer(); + RecipeBookMenu<?> container = (RecipeBookMenu<?>) context.getMenu(); if (container == null) return Result.createNotApplicable(); if (display instanceof DefaultCraftingDisplay) { @@ -68,9 +66,9 @@ public class DefaultRecipeBookHandler implements TransferHandler { return Result.createNotApplicable(); Recipe<?> recipe = (craftingDisplay).getOptionalRecipe().get(); if (craftingDisplay.getHeight() > h || craftingDisplay.getWidth() > w) - return Result.createFailed(I18n.get("error.rei.transfer.too_small", h, w)); + return Result.createFailed(new TranslatableComponent("error.rei.transfer.too_small", h, w)); if (!context.getMinecraft().player.getRecipeBook().contains(recipe)) - return Result.createFailed(I18n.get("error.rei.recipe.not.unlocked")); + return Result.createFailed(new TranslatableComponent("error.rei.recipe.not.unlocked")); if (!context.isActuallyCrafting()) return Result.createSuccessful(); context.getMinecraft().setScreen(context.getContainerScreen()); @@ -84,7 +82,7 @@ public class DefaultRecipeBookHandler implements TransferHandler { if (defaultDisplay.getOptionalRecipe().isPresent()) { Recipe<?> recipe = (defaultDisplay).getOptionalRecipe().get(); if (!context.getMinecraft().player.getRecipeBook().contains(recipe)) - return Result.createFailed(I18n.get("error.rei.recipe.not.unlocked")); + return Result.createFailed(new TranslatableComponent("error.rei.recipe.not.unlocked")); if (!context.isActuallyCrafting()) return Result.createSuccessful(); context.getMinecraft().setScreen(context.getContainerScreen()); 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 5c7d1cd1f..c9d29c584 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 @@ -30,48 +30,46 @@ import me.shedaniel.clothconfig2.api.ScissorsHandler; 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.gui.DisplayRenderer; -import me.shedaniel.rei.api.gui.Renderer; -import me.shedaniel.rei.api.gui.widgets.Slot; -import me.shedaniel.rei.api.gui.widgets.Widget; -import me.shedaniel.rei.api.gui.widgets.WidgetWithBounds; -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 me.shedaniel.rei.api.client.REIHelper; +import me.shedaniel.rei.api.client.gui.DisplayRenderer; +import me.shedaniel.rei.api.client.gui.Renderer; +import me.shedaniel.rei.api.client.gui.widgets.Slot; +import me.shedaniel.rei.api.client.gui.widgets.Widget; +import me.shedaniel.rei.api.client.gui.widgets.WidgetWithBounds; +import me.shedaniel.rei.api.client.gui.widgets.Widgets; +import me.shedaniel.rei.api.client.registry.display.DisplayCategory; +import me.shedaniel.rei.api.common.category.CategoryIdentifier; +import me.shedaniel.rei.api.common.ingredient.util.EntryStacks; +import me.shedaniel.rei.api.common.util.CollectionUtils; +import me.shedaniel.rei.plugin.common.BuiltinPlugin; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.components.events.GuiEventListener; 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; -import org.jetbrains.annotations.NotNull; import java.util.List; import java.util.Objects; public class DefaultBeaconBaseCategory implements DisplayCategory<DefaultBeaconBaseDisplay> { @Override - public @NotNull ResourceLocation getIdentifier() { - return DefaultPlugin.BEACON; + public CategoryIdentifier<? extends DefaultBeaconBaseDisplay> getCategoryIdentifier() { + return BuiltinPlugin.BEACON_BASE; } @Override - public @NotNull Component getTitle() { + public Component getTitle() { return new TranslatableComponent("category.rei.beacon_base"); } @Override - @NotNull public Renderer getIcon() { return EntryStacks.of(Blocks.BEACON); } @Override - public @NotNull DisplayRenderer getDisplayRenderer(DefaultBeaconBaseDisplay display) { + public DisplayRenderer getDisplayRenderer(DefaultBeaconBaseDisplay display) { Component name = getTitle(); return new DisplayRenderer() { @Override @@ -87,7 +85,7 @@ public class DefaultBeaconBaseCategory implements DisplayCategory<DefaultBeaconB } @Override - public @NotNull List<Widget> setupDisplay(DefaultBeaconBaseDisplay display, Rectangle bounds) { + public List<Widget> setupDisplay(DefaultBeaconBaseDisplay display, Rectangle bounds) { List<Widget> widgets = Lists.newArrayList(); widgets.add(Widgets.createSlot(new Point(bounds.getCenterX() - 8, bounds.y + 3)).entry(EntryStacks.of(Blocks.BEACON))); Rectangle rectangle = new Rectangle(bounds.getCenterX() - (bounds.width / 2) - 1, bounds.y + 23, bounds.width + 2, bounds.height - 28); @@ -136,7 +134,6 @@ public class DefaultBeaconBaseCategory implements DisplayCategory<DefaultBeaconB return false; } - @NotNull @Override public Rectangle getBounds() { return bounds; 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 c82daf1e2..d601d3c08 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,15 +23,14 @@ package me.shedaniel.rei.plugin.beacon.base; -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.plugin.DefaultPlugin; +import me.shedaniel.rei.api.common.category.CategoryIdentifier; +import me.shedaniel.rei.api.common.display.Display; +import me.shedaniel.rei.api.common.ingredient.EntryIngredient; +import me.shedaniel.rei.api.common.ingredient.util.EntryIngredients; +import me.shedaniel.rei.plugin.common.BuiltinPlugin; 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; @@ -54,12 +53,12 @@ public class DefaultBeaconBaseDisplay implements Display { } @Override - public List<EntryIngredient> getResultingEntries() { + public List<EntryIngredient> getOutputEntries() { return Collections.emptyList(); } @Override - public @NotNull ResourceLocation getCategoryIdentifier() { - return DefaultPlugin.BEACON; + public CategoryIdentifier<?> getCategoryIdentifier() { + return BuiltinPlugin.BEACON_BASE; } } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/payment/DefaultBeaconPaymentCategory.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/payment/DefaultBeaconPaymentCategory.java index 690062ec7..32ca31de3 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/payment/DefaultBeaconPaymentCategory.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/beacon/payment/DefaultBeaconPaymentCategory.java @@ -30,47 +30,46 @@ import me.shedaniel.clothconfig2.api.ScissorsHandler; 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.gui.DisplayRenderer; -import me.shedaniel.rei.api.gui.Renderer; -import me.shedaniel.rei.api.gui.widgets.Slot; -import me.shedaniel.rei.api.gui.widgets.Widget; -import me.shedaniel.rei.api.gui.widgets.WidgetWithBounds; -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 me.shedaniel.rei.api.client.REIHelper; +import me.shedaniel.rei.api.client.gui.DisplayRenderer; +import me.shedaniel.rei.api.client.gui.Renderer; +import me.shedaniel.rei.api.client.gui.widgets.Slot; +import me.shedaniel.rei.api.client.gui.widgets.Widget; +import me.shedaniel.rei.api.client.gui.widgets.WidgetWithBounds; +import me.shedaniel.rei.api.client.gui.widgets.Widgets; +import me.shedaniel.rei.api.client.registry.display.DisplayCategory; +import me.shedaniel.rei.api.common.category.CategoryIdentifier; +import me.shedaniel.rei.api.common.ingredient.util.EntryStacks; +import me.shedaniel.rei.api.common.util.CollectionUtils; +import me.shedaniel.rei.plugin.common.BuiltinPlugin; import net.minecraft.client.Minecraft; import net.minecraft.client.gui.components.events.GuiEventListener; 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; -import org.jetbrains.annotations.NotNull; import java.util.List; import java.util.Objects; public class DefaultBeaconPaymentCategory implements DisplayCategory<DefaultBeaconPaymentDisplay> { @Override - public @NotNull ResourceLocation getIdentifier() { - return DefaultPlugin.BEACON_PAYMENT; + public CategoryIdentifier<? extends DefaultBeaconPaymentDisplay> getCategoryIdentifier() { + return BuiltinPlugin.BEACON_PAYMENT; } @Override - public @NotNull Component getTitle() { + public Component getTitle() { return new TranslatableComponent("category.rei.beacon_payment"); } @Override - public @NotNull Renderer getIcon() { + public Renderer getIcon() { return EntryStacks.of(Blocks.BEACON); } @Override - public @NotNull DisplayRenderer getDisplayRenderer(DefaultBeaconPaymentDisplay display) { + public DisplayRenderer getDisplayRenderer(DefaultBeaconPaymentDisplay display) { Component name = getTitle(); return new DisplayRenderer() { @Override @@ -86,7 +85,7 @@ public class DefaultBeaconPaymentCategory implements DisplayCategory<DefaultBeac } @Override - public @NotNull List<Widget> setupDisplay(DefaultBeaconPaymentDisplay display, Rectangle bounds) { + public List<Widget> setupDisplay(DefaultBeaconPaymentDisplay display, Rectangle bounds) { List<Widget> widgets = Lists.newArrayList(); widgets.add(Widgets.createSlot(new Point(bounds.getCenterX() - 8, bounds.y + 3)).entry(EntryStacks.of(Blocks.BEACON))); Rectangle rectangle = new Rectangle(bounds.getCenterX() - (bounds.width / 2) - 1, bounds.y + 23, bounds.width + 2, bounds.height - 28); @@ -135,7 +134,6 @@ public class DefaultBeaconPaymentCategory implements DisplayCategory<DefaultBeac return false; } - @NotNull @Override public Rectangle getBounds() { return bounds; 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 c6988e564..f64f0b458 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,13 +23,13 @@ package me.shedaniel.rei.plugin.beacon.payment; -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.plugin.DefaultPlugin; +import me.shedaniel.rei.api.common.category.CategoryIdentifier; +import me.shedaniel.rei.api.common.display.Display; +import me.shedaniel.rei.api.common.ingredient.EntryIngredient; +import me.shedaniel.rei.api.common.ingredient.util.EntryIngredients; +import me.shedaniel.rei.plugin.common.BuiltinPlugin; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.resources.ResourceLocation; import net.minecraft.world.item.ItemStack; import java.util.Collections; @@ -53,12 +53,12 @@ public class DefaultBeaconPaymentDisplay implements Display { } @Override - public List<EntryIngredient> getResultingEntries() { + public List<EntryIngredient> getOutputEntries() { return Collections.emptyList(); } @Override - public ResourceLocation getCategoryIdentifier() { - return DefaultPlugin.BEACON_PAYMENT; + public CategoryIdentifier<?> getCategoryIdentifier() { + return BuiltinPlugin.BEACON_PAYMENT; } } diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingDisplay.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingDisplay.java index b579fbc3f..a51a69e60 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingDisplay.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/blasting/DefaultBlastingDisplay.java @@ -23,13 +23,16 @@ package me.shedaniel.rei.plugin.blasting; -import me.shedaniel.rei.plugin.DefaultPlugin; -import me.shedaniel.rei.plugin.cooking.DefaultCookingDisplay; +import me.shedaniel.rei.api.common.category.CategoryIdentifier; +import me.shedaniel.rei.api.common.ingredient.EntryIngredient; +import me.shedaniel.rei.plugin.common.BuiltinPlugin; +import me.shedaniel.rei.plugin.common.cooking.DefaultCookingDisplay; import net.fabricmc.api.EnvType; import net.fabricmc.api.Environment; -import net.minecraft.resources.ResourceLocation; +import net |
