summaryrefslogtreecommitdiff
path: root/src/main/java/lv/enes/mc/eris_alchemy/block/entity/AlchemicalChestEntity.java
blob: 4fff3faa0890796edd773b0750e9b4b10883c251 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
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<ItemStack> 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<ItemStack> getItems() {
		return items;
	}

	@ClientOnly
	@Nonnull
	public Material getMaterial() {
		return Materials.ALCHEMICAL_CHEST;
	}

	@Nonnull
	@Override
	protected Block getParent() {
		return Blocks.ALCHEMICAL_CHEST;
	}
}