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/02/27 16:34] – adjusment mkpoli | tutorial:containers [2020/04/02 11:05] – Add more @Override annotations earthcomputer | ||
---|---|---|---|
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); | ||
- | } | ||
- | |||
- | // We need to explicitly return a MODEL render type because BlockWithEntity has a side-effect of not showing the model. | ||
- | // You can also implement BlockEntityProvider Type to avoid this side-effect. | ||
- | public BlockRenderType getRenderType(BlockState state) { | ||
- | return BlockRenderType.MODEL; | ||
} | } | ||
// We will create the BlockEntity later. | // We will create the BlockEntity later. | ||
+ | @Override | ||
public BlockEntity createBlockEntity(BlockView view) { | public BlockEntity createBlockEntity(BlockView view) { | ||
return new BiggerChestBlockEntity(); | return new BiggerChestBlockEntity(); | ||
} | } | ||
+ | @Override | ||
public void onPlaced(World world, BlockPos pos, BlockState state, LivingEntity placer, ItemStack itemStack) { | public void onPlaced(World world, BlockPos pos, BlockState state, LivingEntity placer, ItemStack itemStack) { | ||
if (itemStack.hasCustomName()) { | if (itemStack.hasCustomName()) { | ||
Line 31: | Line 27: | ||
} | } | ||
+ | @Override | ||
public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) { | public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) { | ||
if (!world.isClient) { | if (!world.isClient) { | ||
Line 42: | Line 39: | ||
// Scatter the items in the chest when it is removed. | // Scatter the items in the chest when it is removed. | ||
+ | @Override | ||
public void onBlockRemoved(BlockState state, World world, BlockPos pos, BlockState newState, boolean moved) { | public void onBlockRemoved(BlockState state, World world, BlockPos pos, BlockState newState, boolean moved) { | ||
if (state.getBlock() != newState.getBlock()) { | if (state.getBlock() != newState.getBlock()) { | ||
Line 47: | Line 45: | ||
if (blockEntity instanceof BiggerChestBlockEntity) { | if (blockEntity instanceof BiggerChestBlockEntity) { | ||
ItemScatterer.spawn(world, | ItemScatterer.spawn(world, | ||
+ | // update comparators | ||
world.updateHorizontalAdjacent(pos, | world.updateHorizontalAdjacent(pos, | ||
} | } | ||
Line 53: | Line 52: | ||
} | } | ||
+ | @Override | ||
public boolean hasComparatorOutput(BlockState state) { | public boolean hasComparatorOutput(BlockState state) { | ||
return true; | return true; | ||
} | } | ||
+ | @Override | ||
public int getComparatorOutput(BlockState state, World world, BlockPos pos) { | public int getComparatorOutput(BlockState state, World world, BlockPos pos) { | ||
return Container.calculateComparatorOutput(world.getBlockEntity(pos)); | return Container.calculateComparatorOutput(world.getBlockEntity(pos)); | ||
Line 190: | Line 191: | ||
// Shift + Player Inv Slot | // Shift + Player Inv Slot | ||
+ | @Override | ||
public ItemStack transferSlot(PlayerEntity player, int invSlot) { | public ItemStack transferSlot(PlayerEntity player, int invSlot) { | ||
ItemStack newStack = ItemStack.EMPTY; | ItemStack newStack = ItemStack.EMPTY; | ||
Line 251: | Line 253: | ||
public static final String BIGGER_CHEST_TRANSLATION_KEY = Util.createTranslationKey(" | public static final String BIGGER_CHEST_TRANSLATION_KEY = Util.createTranslationKey(" | ||
+ | @Override | ||
public void onInitialize() { | public void onInitialize() { | ||
[...] | [...] | ||
Line 262: | Line 265: | ||
<code java [enable_line_numbers=" | <code java [enable_line_numbers=" | ||
+ | @Override | ||
public void onInitializeClient() { | public void onInitializeClient() { | ||
[...] | [...] |
tutorial/containers.txt · Last modified: 2022/05/27 15:57 by solidblock