From 6a8bc6a8c34af1e3ff15fe8a802ef5ece3c417d2 Mon Sep 17 00:00:00 2001 From: shedaniel Date: Mon, 28 Aug 2023 13:16:57 +0800 Subject: Reworked the transfer api See https://www.craft.me/s/TVL01jO3OZarPE for the documentation of the new experimental simple transfer handle --- .../java/me/shedaniel/rei/plugin/common/DefaultPlugin.java | 11 +---------- .../common/displays/crafting/DefaultCraftingDisplay.java | 10 +++++++++- 2 files changed, 10 insertions(+), 11 deletions(-) (limited to 'default-plugin/src/main/java/me/shedaniel/rei/plugin/common') diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/DefaultPlugin.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/DefaultPlugin.java index c3465adff..e6a3e33ce 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/DefaultPlugin.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/DefaultPlugin.java @@ -49,7 +49,7 @@ import me.shedaniel.rei.plugin.common.displays.tag.TagNodes; import net.minecraft.nbt.CompoundTag; import net.minecraft.nbt.ListTag; import net.minecraft.nbt.Tag; -import net.minecraft.world.inventory.*; +import net.minecraft.world.inventory.InventoryMenu; import net.minecraft.world.item.*; import net.minecraft.world.level.material.Fluid; import org.jetbrains.annotations.ApiStatus; @@ -123,15 +123,6 @@ public class DefaultPlugin implements BuiltinPlugin, REIServerPlugin { registry.register(INFO, DefaultInformationDisplay.serializer()); } - @Override - public void registerMenuInfo(MenuInfoRegistry registry) { - registry.register(BuiltinPlugin.CRAFTING, CraftingMenu.class, SimpleMenuInfoProvider.of(RecipeBookGridMenuInfo::new)); - registry.register(BuiltinPlugin.CRAFTING, InventoryMenu.class, SimpleMenuInfoProvider.of(RecipeBookGridMenuInfo::new)); - registry.register(BuiltinPlugin.SMELTING, FurnaceMenu.class, SimpleMenuInfoProvider.of(RecipeBookGridMenuInfo::new)); - registry.register(BuiltinPlugin.SMOKING, SmokerMenu.class, SimpleMenuInfoProvider.of(RecipeBookGridMenuInfo::new)); - registry.register(BuiltinPlugin.BLASTING, BlastFurnaceMenu.class, SimpleMenuInfoProvider.of(RecipeBookGridMenuInfo::new)); - } - @Override public double getPriority() { return -100; diff --git a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/DefaultCraftingDisplay.java b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/DefaultCraftingDisplay.java index 4ac5263ea..d012de882 100644 --- a/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/DefaultCraftingDisplay.java +++ b/default-plugin/src/main/java/me/shedaniel/rei/plugin/common/displays/crafting/DefaultCraftingDisplay.java @@ -41,6 +41,7 @@ import me.shedaniel.rei.api.common.util.EntryIngredients; import me.shedaniel.rei.plugin.common.BuiltinPlugin; import net.minecraft.core.NonNullList; import net.minecraft.resources.ResourceLocation; +import net.minecraft.world.entity.player.Player; import net.minecraft.world.inventory.AbstractContainerMenu; import net.minecraft.world.item.ItemStack; import net.minecraft.world.item.crafting.Ingredient; @@ -191,6 +192,11 @@ public abstract class DefaultCraftingDisplay> extends BasicD return getInputIngredients(craftingWidth, craftingHeight); } + @Override + public List>> getInputIngredients(@Nullable AbstractContainerMenu menu, @Nullable Player player) { + return getInputIngredients(3, 3); + } + public List>> getInputIngredients(int craftingWidth, int craftingHeight) { int inputWidth = getInputWidth(craftingWidth, craftingHeight); int inputHeight = getInputHeight(craftingWidth, craftingHeight); @@ -204,7 +210,9 @@ public abstract class DefaultCraftingDisplay> extends BasicD continue; } int index = getSlotWithSize(inputWidth, i, craftingWidth); - grid.put(new IntIntImmutablePair(i % inputWidth, i / inputWidth), InputIngredient.of(index, stacks)); + int x = i % inputWidth; + int y = i / inputWidth; + grid.put(new IntIntImmutablePair(x, y), InputIngredient.of(index, 3 * y + x, stacks)); } List>> list = new ArrayList<>(craftingWidth * craftingHeight); -- cgit