Screenhandler setup
This commit is contained in:
parent
ca5847ba6a
commit
36627b36b4
3 changed files with 18 additions and 3 deletions
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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);
|
||||
|
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue