From 8491f46b8ee9ef2eff8eb9bfe1871e0e20a41618 Mon Sep 17 00:00:00 2001 From: Uko Kokņevičs Date: Thu, 11 Jan 2024 13:05:51 +0100 Subject: Making SheetsMixin more extensible --- .../mc/eris_alchemy/block/entity/AlchemicalChestEntity.java | 10 +++++++--- .../enes/mc/eris_alchemy/block/entity/ChestLikeEntity.java | 12 ++++++++++-- .../mc/eris_alchemy/block/entity/EnergyCondenserEntity.java | 10 +++++++--- 3 files changed, 24 insertions(+), 8 deletions(-) (limited to 'src/main/java/lv/enes/mc/eris_alchemy/block/entity') diff --git a/src/main/java/lv/enes/mc/eris_alchemy/block/entity/AlchemicalChestEntity.java b/src/main/java/lv/enes/mc/eris_alchemy/block/entity/AlchemicalChestEntity.java index 38ed902..659e4b1 100644 --- a/src/main/java/lv/enes/mc/eris_alchemy/block/entity/AlchemicalChestEntity.java +++ b/src/main/java/lv/enes/mc/eris_alchemy/block/entity/AlchemicalChestEntity.java @@ -1,7 +1,9 @@ package lv.enes.mc.eris_alchemy.block.entity; import jakarta.annotation.Nonnull; -import lv.enes.mc.eris_alchemy.ErisAlchemyRegistry; +import lv.enes.mc.eris_alchemy.ErisAlchemyRegistry.BlockEntities; +import lv.enes.mc.eris_alchemy.ErisAlchemyRegistry.Blocks; +import lv.enes.mc.eris_alchemy.ErisAlchemyRegistry.Materials; import lv.enes.mc.eris_alchemy.menu.AlchemicalChestMenu; import lv.enes.mc.eris_alchemy.menu.ChestLikeMenu; import net.minecraft.core.BlockPos; @@ -18,7 +20,7 @@ public class AlchemicalChestEntity extends ChestLikeEntity { private final NonNullList items = NonNullList.withSize(WIDTH * HEIGHT, ItemStack.EMPTY); public AlchemicalChestEntity(BlockPos pos, BlockState state) { - super(ErisAlchemyRegistry.BlockEntities.ALCHEMICAL_CHEST, pos, state); + super(BlockEntities.ALCHEMICAL_CHEST, pos, state, Materials.ALCHEMICAL_CHEST); } @Nonnull @@ -27,13 +29,15 @@ public class AlchemicalChestEntity extends ChestLikeEntity { return new AlchemicalChestMenu(syncId, playerInventory, this); } + @Nonnull @Override protected NonNullList getItems() { return items; } + @Nonnull @Override protected Block getParent() { - return ErisAlchemyRegistry.Blocks.ALCHEMICAL_CHEST; + return Blocks.ALCHEMICAL_CHEST; } } diff --git a/src/main/java/lv/enes/mc/eris_alchemy/block/entity/ChestLikeEntity.java b/src/main/java/lv/enes/mc/eris_alchemy/block/entity/ChestLikeEntity.java index 362b054..8f40d26 100644 --- a/src/main/java/lv/enes/mc/eris_alchemy/block/entity/ChestLikeEntity.java +++ b/src/main/java/lv/enes/mc/eris_alchemy/block/entity/ChestLikeEntity.java @@ -3,6 +3,7 @@ package lv.enes.mc.eris_alchemy.block.entity; import jakarta.annotation.Nonnull; import jakarta.annotation.Nullable; import lv.enes.mc.eris_alchemy.menu.ChestLikeMenu; +import net.minecraft.client.resources.model.Material; import net.minecraft.core.BlockPos; import net.minecraft.core.NonNullList; import net.minecraft.nbt.CompoundTag; @@ -21,6 +22,8 @@ import net.minecraft.world.level.block.state.BlockState; public abstract class ChestLikeEntity extends BaseContainerBlockEntity implements LidBlockEntity { protected static final int EVENT_INTERACTED = 1; + public final Material material; + protected final ChestLidController lidController = new ChestLidController(); protected final ContainerOpenersCounter openersCounter = new ContainerOpenersCounter() { @Override @@ -50,13 +53,18 @@ public abstract class ChestLikeEntity extends BaseContainerBlockEntity implement public ChestLikeEntity( BlockEntityType type, BlockPos pos, - BlockState state + BlockState state, + Material material ) { super(type, pos, state); + this.material = material; } - protected abstract Block getParent(); + + @Nonnull protected abstract NonNullList getItems(); + @Nonnull + protected abstract Block getParent(); @Override public void clearContent() { diff --git a/src/main/java/lv/enes/mc/eris_alchemy/block/entity/EnergyCondenserEntity.java b/src/main/java/lv/enes/mc/eris_alchemy/block/entity/EnergyCondenserEntity.java index dfe07a4..0f39ccb 100644 --- a/src/main/java/lv/enes/mc/eris_alchemy/block/entity/EnergyCondenserEntity.java +++ b/src/main/java/lv/enes/mc/eris_alchemy/block/entity/EnergyCondenserEntity.java @@ -2,7 +2,9 @@ package lv.enes.mc.eris_alchemy.block.entity; import jakarta.annotation.Nonnull; import lv.enes.mc.eris_alchemy.EMC; -import lv.enes.mc.eris_alchemy.ErisAlchemyRegistry; +import lv.enes.mc.eris_alchemy.ErisAlchemyRegistry.BlockEntities; +import lv.enes.mc.eris_alchemy.ErisAlchemyRegistry.Blocks; +import lv.enes.mc.eris_alchemy.ErisAlchemyRegistry.Materials; import lv.enes.mc.eris_alchemy.menu.ChestLikeMenu; import lv.enes.mc.eris_alchemy.menu.EnergyCondenserMenu; import lv.enes.mc.eris_alchemy.utils.ContainerOpenersCounterUtil; @@ -30,7 +32,7 @@ public class EnergyCondenserEntity extends ChestLikeEntity implements ExtendedSc public final SyncedDouble storedEmc = new SyncedDouble(0); public EnergyCondenserEntity(BlockPos pos, BlockState state) { - super(ErisAlchemyRegistry.BlockEntities.ENERGY_CONDENSER, pos, state); + super(BlockEntities.ENERGY_CONDENSER, pos, state, Materials.ENERGY_CONDENSER); } @Nonnull @@ -39,14 +41,16 @@ public class EnergyCondenserEntity extends ChestLikeEntity implements ExtendedSc return new EnergyCondenserMenu(syncId, playerInventory, this); } + @Nonnull @Override protected NonNullList getItems() { return items; } + @Nonnull @Override protected Block getParent() { - return ErisAlchemyRegistry.Blocks.ENERGY_CONDENSER; + return Blocks.ENERGY_CONDENSER; } public double getStoredEmc() { -- cgit v1.2.3