package lv.enes.mc.eris_alchemy.block.entity; import jakarta.annotation.Nonnull; import lv.enes.mc.eris_alchemy.ErisAlchemyRegistry.BlockEntities; import lv.enes.mc.eris_alchemy.ErisAlchemyRegistry.Blocks; import lv.enes.mc.eris_alchemy.client.ErisAlchemyClientRegistry.Materials; import lv.enes.mc.eris_alchemy.menu.AlchemicalChestMenu; 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.world.entity.player.Inventory; import net.minecraft.world.item.ItemStack; import net.minecraft.world.level.block.Block; import net.minecraft.world.level.block.state.BlockState; import org.quiltmc.loader.api.minecraft.ClientOnly; public class AlchemicalChestEntity extends ChestLikeEntity { private final static int WIDTH = 13; private final static int HEIGHT = 8; private final NonNullList items = NonNullList.withSize(WIDTH * HEIGHT, ItemStack.EMPTY); public AlchemicalChestEntity(BlockPos pos, BlockState state) { super(BlockEntities.ALCHEMICAL_CHEST, pos, state); } @Nonnull @Override protected ChestLikeMenu createMenu(int syncId, Inventory playerInventory) { return new AlchemicalChestMenu(syncId, playerInventory, this); } @Nonnull @Override protected NonNullList getItems() { return items; } @ClientOnly @Nonnull public Material getMaterial() { return Materials.ALCHEMICAL_CHEST; } @Nonnull @Override protected Block getParent() { return Blocks.ALCHEMICAL_CHEST; } }