tutorial:containers
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
tutorial:containers [2020/04/02 11:05] – Add more @Override annotations earthcomputer | tutorial:containers [2020/08/14 06:32] – screen handlers hell yeah. also some typo fixes leocth2 | ||
---|---|---|---|
Line 6: | Line 6: | ||
<code java [enable_line_numbers=" | <code java [enable_line_numbers=" | ||
- | public class BiggerChestBlock extends | + | public class BiggerChestBlock extends |
public BiggerChestBlock(Settings settings) { | public BiggerChestBlock(Settings settings) { | ||
super(settings); | super(settings); | ||
+ | } | ||
+ | | ||
+ | // A side effect of extending BlockWithEntity is it changes the render type to INVISIBLE, so we have to revert this | ||
+ | @Override | ||
+ | public BlockRenderType getRenderType(BlockState state) { | ||
+ | return BlockRenderType.MODEL; | ||
} | } | ||
Line 107: | Line 113: | ||
@Override | @Override | ||
- | protected Container | + | protected Container |
return new BiggerChestContainer(syncId, | return new BiggerChestContainer(syncId, | ||
} | } | ||
Line 147: | Line 153: | ||
==== Container GUI and Screen ==== | ==== Container GUI and Screen ==== | ||
- | We need a Container | + | We need a ScreenHandler |
- | <code java [enable_line_numbers=" | + | <code java [enable_line_numbers=" |
- | public class BiggerChestContainer | + | public class BiggerChestScreenHandler |
private final Inventory inventory; // Chest inventory | private final Inventory inventory; // Chest inventory | ||
private static final int INVENTORY_SIZE = 54; // 6 rows * 9 cols | private static final int INVENTORY_SIZE = 54; // 6 rows * 9 cols | ||
- | protected | + | protected |
- | super(null, syncId); // Since we didn't create a ContainerType, we will place null here. | + | super(null, syncId); // Since we didn't create a ScreenHandlerType, we will place null here. |
this.inventory = inventory; | this.inventory = inventory; | ||
- | | + | |
- | inventory.onInvOpen(playerInventory.player); | + | inventory.onOpen(playerInventory.player); |
- | // Creating Slots for GUI. A Slot is essentially a correspoding | + | // Creating Slots for GUI. A Slot is essentially a corresponding |
int i; | int i; | ||
int j; | int j; |
tutorial/containers.txt · Last modified: 2022/05/27 15:57 by solidblock