BlockModBed.java 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. package me.km.blocks;
  2. import net.minecraft.block.Block;
  3. import net.minecraft.block.BedBlock;
  4. import net.minecraft.block.BlockRenderType;
  5. import net.minecraft.block.material.MaterialColor;
  6. import net.minecraft.block.BlockState;
  7. import net.minecraft.item.DyeColor;
  8. import net.minecraft.state.properties.BedPart;
  9. import net.minecraft.tileentity.TileEntity;
  10. import net.minecraft.util.math.BlockPos;
  11. import net.minecraft.util.math.shapes.ISelectionContext;
  12. import net.minecraft.util.math.shapes.VoxelShape;
  13. import net.minecraft.world.IBlockReader;
  14. import net.minecraft.world.World;
  15. public abstract class BlockModBed extends BedBlock {
  16. private final VoxelShape shape;
  17. public BlockModBed(String name, Block.Properties builder, double high) {
  18. super(DyeColor.BLACK, builder);
  19. super.setRegistryName(name);
  20. shape = Block.makeCuboidShape(0.0, 0.0, 0.0, 16.0, high, 16.0);
  21. this.setDefaultState(this.stateContainer.getBaseState().with(BedBlock.PART, BedPart.FOOT).with(BedBlock.OCCUPIED, false));
  22. }
  23. @Override
  24. public MaterialColor getMaterialColor() {
  25. return material.getColor();
  26. }
  27. @Override
  28. public void onReplaced(BlockState state, World worldIn, BlockPos pos, BlockState newState, boolean isMoving) {
  29. // no tile entity needs to be removed
  30. }
  31. @Override
  32. public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context) {
  33. return shape;
  34. }
  35. @Override
  36. public BlockRenderType getRenderType(BlockState state) {
  37. return BlockRenderType.MODEL;
  38. }
  39. @Override
  40. public TileEntity createNewTileEntity(IBlockReader worldIn) {
  41. return null;
  42. }
  43. @Override
  44. public boolean hasTileEntity(BlockState state) {
  45. return false;
  46. }
  47. }