diff options
| author | 2024-01-10 17:41:07 +0100 | |
|---|---|---|
| committer | 2024-01-10 17:41:07 +0100 | |
| commit | 000b84e87eaedb94fb87ccb11e376c51f99a1d07 (patch) | |
| tree | dd9519e7dadf613a71e01b04cac7be9c121a9f18 /src/main/java/lv/enes/mc/eris_alchemy/menu/EnergyCondenserMenu.java | |
| parent | Move out common chest logic to separate files also in client code (diff) | |
| download | mc-eris-alchemy-000b84e87eaedb94fb87ccb11e376c51f99a1d07.tar.gz mc-eris-alchemy-000b84e87eaedb94fb87ccb11e376c51f99a1d07.tar.xz mc-eris-alchemy-000b84e87eaedb94fb87ccb11e376c51f99a1d07.zip | |
Added Energy Condenser
Diffstat (limited to 'src/main/java/lv/enes/mc/eris_alchemy/menu/EnergyCondenserMenu.java')
| -rw-r--r-- | src/main/java/lv/enes/mc/eris_alchemy/menu/EnergyCondenserMenu.java | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/main/java/lv/enes/mc/eris_alchemy/menu/EnergyCondenserMenu.java b/src/main/java/lv/enes/mc/eris_alchemy/menu/EnergyCondenserMenu.java new file mode 100644 index 0000000..bdba77b --- /dev/null +++ b/src/main/java/lv/enes/mc/eris_alchemy/menu/EnergyCondenserMenu.java | |||
| @@ -0,0 +1,60 @@ | |||
| 1 | package lv.enes.mc.eris_alchemy.menu; | ||
| 2 | |||
| 3 | import lv.enes.mc.eris_alchemy.ErisAlchemyRegistry; | ||
| 4 | import lv.enes.mc.eris_alchemy.block.entity.EnergyCondenserEntity; | ||
| 5 | import lv.enes.mc.eris_alchemy.utils.SyncedValue.SyncedDouble; | ||
| 6 | import net.minecraft.network.FriendlyByteBuf; | ||
| 7 | import net.minecraft.world.Container; | ||
| 8 | import net.minecraft.world.SimpleContainer; | ||
| 9 | import net.minecraft.world.entity.player.Inventory; | ||
| 10 | import net.minecraft.world.inventory.Slot; | ||
| 11 | |||
| 12 | public class EnergyCondenserMenu extends ChestLikeMenu { | ||
| 13 | private static final int WIDTH = 13; | ||
| 14 | private static final int HEIGHT = 7; | ||
| 15 | |||
| 16 | private final SyncedDouble storedEmc; | ||
| 17 | |||
| 18 | public EnergyCondenserMenu(int syncId, Inventory playerInventory, FriendlyByteBuf buf) { | ||
| 19 | this(syncId, playerInventory, new SimpleContainer(WIDTH * HEIGHT + 1), SyncedDouble.deserialize(buf)); | ||
| 20 | } | ||
| 21 | |||
| 22 | public EnergyCondenserMenu(int syncId, Inventory playerInventory, EnergyCondenserEntity entity) { | ||
| 23 | this(syncId, playerInventory, entity, entity.getStoredEmcSyncer()); | ||
| 24 | } | ||
| 25 | |||
| 26 | public EnergyCondenserMenu(int syncId, Inventory playerInventory, Container container, SyncedDouble storedEmc) { | ||
| 27 | super(ErisAlchemyRegistry.Menus.ENERGY_CONDENSER, syncId, playerInventory, container); | ||
| 28 | this.storedEmc = storedEmc; | ||
| 29 | } | ||
| 30 | |||
| 31 | @Override | ||
| 32 | protected void addSlots(Inventory playerInventory) { | ||
| 33 | addSlot(new Slot(container, 0, 8, 7)); | ||
| 34 | |||
| 35 | var xOff = 8; | ||
| 36 | var yOff = 28; | ||
| 37 | for (var y = 0; y < HEIGHT; y++) { | ||
| 38 | for (var x = 0; x < WIDTH; x++) { | ||
| 39 | addSlot(new Slot(container, y * WIDTH + x + 1, xOff + x * 18, yOff + y * 18)); | ||
| 40 | } | ||
| 41 | } | ||
| 42 | |||
| 43 | addPlayerInventorySlots(playerInventory, 44, 157); | ||
| 44 | addPlayerHotbarSlots(playerInventory, 44, 213); | ||
| 45 | } | ||
| 46 | |||
| 47 | @Override | ||
| 48 | protected int getQuickMoveStart() { | ||
| 49 | return 1; | ||
| 50 | } | ||
| 51 | |||
| 52 | @Override | ||
| 53 | protected int getRequiredSize() { | ||
| 54 | return WIDTH * HEIGHT + 1; | ||
| 55 | } | ||
| 56 | |||
| 57 | public double getStoredEmc() { | ||
| 58 | return storedEmc.getValue(); | ||
| 59 | } | ||
| 60 | } | ||