Refactor and extend Stalinium Press functionality

This commit is contained in:
IM23a-spirgif
2025-05-15 17:36:14 +02:00
parent 45b2c49917
commit 4500e7457f
3 changed files with 46 additions and 30 deletions
@@ -13,27 +13,34 @@ import net.minecraft.world.level.Level;
import net.minecraft.world.level.block.entity.BlockEntity;
import net.neoforged.neoforge.items.SlotItemHandler;
import static net.krituximon.stalinium.block.entity.StaliniumPressBlockEntity.*;
public class StaliniumPressMenu extends AbstractContainerMenu {
public final StaliniumPressBlockEntity blockEntity;
private final Level level;
private final ContainerData data;
public StaliniumPressMenu(int pContainerId, Inventory inv, FriendlyByteBuf extraData) {
this(pContainerId, inv, inv.player.level().getBlockEntity(extraData.readBlockPos()), new SimpleContainerData(2));
this(pContainerId, inv, (StaliniumPressBlockEntity) inv.player.level().getBlockEntity(extraData.readBlockPos()), new SimpleContainerData(2));
}
public StaliniumPressMenu(int pContainerId, Inventory inv, BlockEntity entity, ContainerData data) {
super(ModMenuTypes.STALINIUM_PRESS_MENU.get(), pContainerId);
this.blockEntity = ((StaliniumPressBlockEntity) entity);
this.level = inv.player.level();
this.data = data;
public StaliniumPressMenu(int id, Inventory inv, StaliniumPressBlockEntity be, ContainerData data) {
super(ModMenuTypes.STALINIUM_PRESS_MENU.get(), id);
this.blockEntity = be;
this.data = data;
this.level = inv.player.level();
// INPUT
this.addSlot(new SlotItemHandler(be.itemHandler, INPUT_SLOT, 54, 34));
// REDSTONE FUEL
this.addSlot(new SlotItemHandler(be.itemHandler, REDSTONE_FUEL_SLOT,54, 14));
// LAVA FUEL
this.addSlot(new SlotItemHandler(be.itemHandler, LAVA_FUEL_SLOT, 54, 54));
// OUTPUT
this.addSlot(new SlotItemHandler(be.itemHandler, OUTPUT_SLOT, 104, 34));
addPlayerInventory(inv);
addPlayerHotbar(inv);
this.addSlot(new SlotItemHandler(blockEntity.itemHandler, 0, 54, 34));
this.addSlot(new SlotItemHandler(blockEntity.itemHandler, 1, 104, 34));
addDataSlots(data);
}