Skip to content

Commit 74289c7

Browse files
committed
fix: relax server player argument in recipe menu
1 parent 37567ce commit 74289c7

File tree

2 files changed

+26
-2
lines changed

2 files changed

+26
-2
lines changed

src/main/java/dev/galacticraft/machinelib/api/compat/vanilla/RecipeHelper.java

+24
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,12 @@
2424

2525
import dev.galacticraft.machinelib.api.storage.SlottedStorageAccess;
2626
import dev.galacticraft.machinelib.api.storage.slot.ItemResourceSlot;
27+
import dev.galacticraft.machinelib.api.util.ItemStackUtil;
2728
import net.minecraft.world.item.Item;
29+
import net.minecraft.world.item.ItemStack;
2830
import net.minecraft.world.item.crafting.CraftingInput;
2931
import net.minecraft.world.item.crafting.RecipeInput;
32+
import net.minecraft.world.item.crafting.SingleRecipeInput;
3033
import org.jetbrains.annotations.NotNull;
3134

3235
import java.util.ArrayList;
@@ -83,4 +86,25 @@ public class RecipeHelper {
8386
public static @NotNull RecipeInput input(ItemResourceSlot... slots) {
8487
return new MachineRecipeInput(slots);
8588
}
89+
90+
public static @NotNull RecipeInput input(ItemResourceSlot slot) {
91+
return new SingleSlotInput(slot);
92+
}
93+
94+
public static @NotNull SingleRecipeInput single(ItemResourceSlot slot) {
95+
return new SingleRecipeInput(ItemStackUtil.create(slot));
96+
}
97+
98+
private record SingleSlotInput(ItemResourceSlot slot) implements RecipeInput {
99+
@Override
100+
public @NotNull ItemStack getItem(int i) {
101+
if (i == 0) return ItemStackUtil.create(slot);
102+
throw new IndexOutOfBoundsException("Index: " + i);
103+
}
104+
105+
@Override
106+
public int size() {
107+
return 1;
108+
}
109+
}
86110
}

src/main/java/dev/galacticraft/machinelib/api/menu/RecipeMachineMenu.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@
2424

2525
import dev.galacticraft.machinelib.api.block.entity.RecipeMachineBlockEntity;
2626
import net.minecraft.core.BlockPos;
27-
import net.minecraft.server.level.ServerPlayer;
2827
import net.minecraft.world.entity.player.Inventory;
28+
import net.minecraft.world.entity.player.Player;
2929
import net.minecraft.world.inventory.MenuType;
3030
import net.minecraft.world.item.crafting.Recipe;
3131
import net.minecraft.world.item.crafting.RecipeHolder;
@@ -60,7 +60,7 @@ public class RecipeMachineMenu<I extends RecipeInput, R extends Recipe<I>, Machi
6060
* @param player The player who is interacting with this menu.
6161
* @param machine The machine this menu is for.
6262
*/
63-
public RecipeMachineMenu(MenuType<? extends RecipeMachineMenu<I, R, Machine>> type, int syncId, @NotNull ServerPlayer player, @NotNull Machine machine) {
63+
public RecipeMachineMenu(MenuType<? extends RecipeMachineMenu<I, R, Machine>> type, int syncId, @NotNull Player player, @NotNull Machine machine) {
6464
super(type, syncId, player, machine);
6565
}
6666

0 commit comments

Comments
 (0)