BlockModBed.java 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. {
  17. private final VoxelShape shape;
  18. public BlockModBed(String name, Block.Properties builder, double high)
  19. {
  20. super(DyeColor.BLACK, builder);
  21. super.setRegistryName(name);
  22. shape = Block.makeCuboidShape(0.0, 0.0, 0.0, 16.0, high, 16.0);
  23. this.setDefaultState(this.stateContainer.getBaseState().with(BedBlock.PART, BedPart.FOOT).with(BedBlock.OCCUPIED, false));
  24. }
  25. @Override
  26. public MaterialColor getMaterialColor(BlockState state, IBlockReader w, BlockPos pos)
  27. {
  28. return this.materialColor;
  29. }
  30. @Override
  31. public void onReplaced(BlockState state, World worldIn, BlockPos pos, BlockState newState, boolean isMoving)
  32. {
  33. // no tile entity needs to be removed
  34. }
  35. @Override
  36. public VoxelShape getShape(BlockState state, IBlockReader worldIn, BlockPos pos, ISelectionContext context)
  37. {
  38. return shape;
  39. }
  40. @Override
  41. public BlockRenderType getRenderType(BlockState state)
  42. {
  43. return BlockRenderType.MODEL;
  44. }
  45. @Override
  46. public TileEntity createNewTileEntity(IBlockReader worldIn)
  47. {
  48. return null;
  49. }
  50. @Override
  51. public boolean hasTileEntity(BlockState state)
  52. {
  53. return false;
  54. }
  55. @Override
  56. public boolean hasTileEntity()
  57. {
  58. return false;
  59. }
  60. }