Screenhandler setup

This commit is contained in:
nelle 2023-06-30 14:07:23 -06:00
parent ca5847ba6a
commit 36627b36b4
3 changed files with 18 additions and 3 deletions

View file

@ -19,6 +19,7 @@ import net.minecraft.util.math.BlockPos;
import net.minecraft.world.World;
import org.jetbrains.annotations.Nullable;
import xyz.limepot.stellarworks.item.ModItems;
import xyz.limepot.stellarworks.screen.ArcFurnaceScreenHandler;
public class ArcFurnaceBlockEntity extends BlockEntity implements NamedScreenHandlerFactory, ImplementedInventory {
private final DefaultedList<ItemStack> inventory =
@ -88,8 +89,8 @@ public class ArcFurnaceBlockEntity extends BlockEntity implements NamedScreenHan
@Nullable
@Override
public ScreenHandler createMenu(int i, PlayerInventory playerInventory, PlayerEntity playerEntity) {
return
public ScreenHandler createMenu(int syncId, PlayerInventory inv, PlayerEntity player) {
return new ArcFurnaceScreenHandler(syncId, inv, this, this.propertyDelegate);
}

View file

@ -18,7 +18,7 @@ public class ArcFurnaceScreenHandler extends ScreenHandler {
}
public ArcFurnaceScreenHandler(int syncId, PlayerInventory playerInventory, Inventory inventory, PropertyDelegate delegate) {
super(type, syncId);
super(ModScreenHandlers.ARC_FURNACE_SCREEN_HANDLER, syncId);
checkSize(inventory, 3);
this.inventory = inventory;
inventory.onOpen(playerInventory.player);

View file

@ -1,4 +1,18 @@
package xyz.limepot.stellarworks.screen;
import net.fabricmc.fabric.api.screenhandler.v1.ExtendedScreenHandlerType;
import net.minecraft.registry.Registries;
import net.minecraft.registry.Registry;
import net.minecraft.screen.ScreenHandlerType;
import net.minecraft.util.Identifier;
import xyz.limepot.stellarworks.Stellarworks;
public class ModScreenHandlers {
public static ScreenHandlerType<ArcFurnaceScreenHandler> ARC_FURNACE_SCREEN_HANDLER =
new ExtendedScreenHandlerType<>(ArcFurnaceScreenHandler::new);
public static void registerAllScreenHandlers() {
Registry.register(Registries.SCREEN_HANDLER_TYPE, new Identifier(Stellarworks.MOD_ID, "arc_furnace"),
ARC_FURNACE_SCREEN_HANDLER);
}
}