Class BedBlock

All Implemented Interfaces:
BlockEntityProvider, ItemConvertible, ToggleableFeature

public class BedBlock extends HorizontalFacingBlock implements BlockEntityProvider
Mappings:
Namespace Name
named net/minecraft/block/BedBlock
intermediary net/minecraft/class_2244
official dke
  • Field Details

    • CODEC

      public static final com.mojang.serialization.MapCodec<BedBlock> CODEC
      Mappings:
      Namespace Name Mixin selector
      named CODEC Lnet/minecraft/block/BedBlock;CODEC:Lcom/mojang/serialization/MapCodec;
      intermediary field_46273 Lnet/minecraft/class_2244;field_46273:Lcom/mojang/serialization/MapCodec;
      official a Ldke;a:Lcom/mojang/serialization/MapCodec;
    • PART

      public static final EnumProperty<BedPart> PART
      Mappings:
      Namespace Name Mixin selector
      named PART Lnet/minecraft/block/BedBlock;PART:Lnet/minecraft/state/property/EnumProperty;
      intermediary field_9967 Lnet/minecraft/class_2244;field_9967:Lnet/minecraft/class_2754;
      official b Ldke;b:Ldyr;
    • OCCUPIED

      public static final BooleanProperty OCCUPIED
      Mappings:
      Namespace Name Mixin selector
      named OCCUPIED Lnet/minecraft/block/BedBlock;OCCUPIED:Lnet/minecraft/state/property/BooleanProperty;
      intermediary field_9968 Lnet/minecraft/class_2244;field_9968:Lnet/minecraft/class_2746;
      official c Ldke;c:Ldyl;
    • field_31009

      protected static final int field_31009
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named field_31009 Lnet/minecraft/block/BedBlock;field_31009:I
      intermediary field_31009 Lnet/minecraft/class_2244;field_31009:I
      official d Ldke;d:I
    • TOP_SHAPE

      protected static final VoxelShape TOP_SHAPE
      Mappings:
      Namespace Name Mixin selector
      named TOP_SHAPE Lnet/minecraft/block/BedBlock;TOP_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
      intermediary field_16788 Lnet/minecraft/class_2244;field_16788:Lnet/minecraft/class_265;
      official e Ldke;e:Lfcr;
    • field_31010

      private static final int field_31010
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named field_31010 Lnet/minecraft/block/BedBlock;field_31010:I
      intermediary field_31010 Lnet/minecraft/class_2244;field_31010:I
      official n Ldke;n:I
    • LEG_1_SHAPE

      protected static final VoxelShape LEG_1_SHAPE
      Mappings:
      Namespace Name Mixin selector
      named LEG_1_SHAPE Lnet/minecraft/block/BedBlock;LEG_1_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
      intermediary field_16782 Lnet/minecraft/class_2244;field_16782:Lnet/minecraft/class_265;
      official f Ldke;f:Lfcr;
    • LEG_2_SHAPE

      protected static final VoxelShape LEG_2_SHAPE
      Mappings:
      Namespace Name Mixin selector
      named LEG_2_SHAPE Lnet/minecraft/block/BedBlock;LEG_2_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
      intermediary field_16784 Lnet/minecraft/class_2244;field_16784:Lnet/minecraft/class_265;
      official g Ldke;g:Lfcr;
    • LEG_3_SHAPE

      protected static final VoxelShape LEG_3_SHAPE
      Mappings:
      Namespace Name Mixin selector
      named LEG_3_SHAPE Lnet/minecraft/block/BedBlock;LEG_3_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
      intermediary field_16786 Lnet/minecraft/class_2244;field_16786:Lnet/minecraft/class_265;
      official h Ldke;h:Lfcr;
    • LEG_4_SHAPE

      protected static final VoxelShape LEG_4_SHAPE
      Mappings:
      Namespace Name Mixin selector
      named LEG_4_SHAPE Lnet/minecraft/block/BedBlock;LEG_4_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
      intermediary field_16789 Lnet/minecraft/class_2244;field_16789:Lnet/minecraft/class_265;
      official i Ldke;i:Lfcr;
    • NORTH_SHAPE

      protected static final VoxelShape NORTH_SHAPE
      Mappings:
      Namespace Name Mixin selector
      named NORTH_SHAPE Lnet/minecraft/block/BedBlock;NORTH_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
      intermediary field_16787 Lnet/minecraft/class_2244;field_16787:Lnet/minecraft/class_265;
      official j Ldke;j:Lfcr;
    • SOUTH_SHAPE

      protected static final VoxelShape SOUTH_SHAPE
      Mappings:
      Namespace Name Mixin selector
      named SOUTH_SHAPE Lnet/minecraft/block/BedBlock;SOUTH_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
      intermediary field_16785 Lnet/minecraft/class_2244;field_16785:Lnet/minecraft/class_265;
      official k Ldke;k:Lfcr;
    • WEST_SHAPE

      protected static final VoxelShape WEST_SHAPE
      Mappings:
      Namespace Name Mixin selector
      named WEST_SHAPE Lnet/minecraft/block/BedBlock;WEST_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
      intermediary field_16783 Lnet/minecraft/class_2244;field_16783:Lnet/minecraft/class_265;
      official l Ldke;l:Lfcr;
    • EAST_SHAPE

      protected static final VoxelShape EAST_SHAPE
      Mappings:
      Namespace Name Mixin selector
      named EAST_SHAPE Lnet/minecraft/block/BedBlock;EAST_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
      intermediary field_16790 Lnet/minecraft/class_2244;field_16790:Lnet/minecraft/class_265;
      official m Ldke;m:Lfcr;
    • color

      private final DyeColor color
      Mappings:
      Namespace Name Mixin selector
      named color Lnet/minecraft/block/BedBlock;color:Lnet/minecraft/util/DyeColor;
      intermediary field_9966 Lnet/minecraft/class_2244;field_9966:Lnet/minecraft/class_1767;
      official o Ldke;o:Lcwl;
  • Constructor Details

    • BedBlock

      public BedBlock(DyeColor color, AbstractBlock.Settings settings)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/block/BedBlock;<init>(Lnet/minecraft/util/DyeColor;Lnet/minecraft/block/AbstractBlock$Settings;)V
      intermediary <init> Lnet/minecraft/class_2244;<init>(Lnet/minecraft/class_1767;Lnet/minecraft/class_4970$class_2251;)V
      official <init> Ldke;<init>(Lcwl;Ldxt$d;)V
  • Method Details

    • getCodec

      public com.mojang.serialization.MapCodec<BedBlock> getCodec()
      Specified by:
      getCodec in class HorizontalFacingBlock
      Mappings:
      Namespace Name Mixin selector
      named getCodec Lnet/minecraft/block/AbstractBlock;getCodec()Lcom/mojang/serialization/MapCodec;
      intermediary method_53969 Lnet/minecraft/class_4970;method_53969()Lcom/mojang/serialization/MapCodec;
      official a Ldxt;a()Lcom/mojang/serialization/MapCodec;
    • getDirection

      @Nullable public static @Nullable Direction getDirection(BlockView world, BlockPos pos)
      Mappings:
      Namespace Name Mixin selector
      named getDirection Lnet/minecraft/block/BedBlock;getDirection(Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/util/math/Direction;
      intermediary method_18476 Lnet/minecraft/class_2244;method_18476(Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Lnet/minecraft/class_2350;
      official a Ldke;a(Ldgm;Ljh;)Ljm;
    • onUse

      protected ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, BlockHitResult hit)
      Overrides:
      onUse in class AbstractBlock
      Mappings:
      Namespace Name Mixin selector
      named onUse Lnet/minecraft/block/AbstractBlock;onUse(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/util/hit/BlockHitResult;)Lnet/minecraft/util/ActionResult;
      intermediary method_55766 Lnet/minecraft/class_4970;method_55766(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1657;Lnet/minecraft/class_3965;)Lnet/minecraft/class_1269;
      official a Ldxt;a(Ldxu;Ldhh;Ljh;Lcpw;Lfbt;)Lbti;
    • isBedWorking

      public static boolean isBedWorking(World world)
      Returns whether the world's dimension type allows beds to be respawned at and slept in without exploding.
      Returns:
      whether the world's dimension type allows beds to be respawned at and slept in without exploding
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named isBedWorking Lnet/minecraft/block/BedBlock;isBedWorking(Lnet/minecraft/world/World;)Z
      intermediary method_27352 Lnet/minecraft/class_2244;method_27352(Lnet/minecraft/class_1937;)Z
      official a Ldke;a(Ldhh;)Z
    • wakeVillager

      private boolean wakeVillager(World world, BlockPos pos)
      Wakes up a sleeping villager at pos, if any.
      Returns:
      whether a villager was found
      Mappings:
      Namespace Name Mixin selector
      named wakeVillager Lnet/minecraft/block/BedBlock;wakeVillager(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;)Z
      intermediary method_22357 Lnet/minecraft/class_2244;method_22357(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;)Z
      official a Ldke;a(Ldhh;Ljh;)Z
    • onLandedUpon

      public void onLandedUpon(World world, BlockState state, BlockPos pos, Entity entity, float fallDistance)
      Called when the entity lands on the block.

      Default implementation deals fall damage to the entity. Blocks that increase or reduce fall damage (like HayBlock) should override this. FarmlandBlock overrides this method to convert the block to dirt.

      This method is called on both the logical client and logical server, so take caution when overriding this method. The logical side can be checked using World.isClient.

      Overrides:
      onLandedUpon in class Block
      Mappings:
      Namespace Name Mixin selector
      named onLandedUpon Lnet/minecraft/block/Block;onLandedUpon(Lnet/minecraft/world/World;Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/Entity;F)V
      intermediary method_9554 Lnet/minecraft/class_2248;method_9554(Lnet/minecraft/class_1937;Lnet/minecraft/class_2680;Lnet/minecraft/class_2338;Lnet/minecraft/class_1297;F)V
      official a Ldkl;a(Ldhh;Ldxu;Ljh;Lbvj;F)V
    • onEntityLand

      public void onEntityLand(BlockView world, Entity entity)
      Called after the entity lands on the block.

      Default implementation resets the entity's vertical velocity. Blocks that cause entities to jump (such as SlimeBlock) should override this.

      This method is called on both the logical client and logical server, so take caution when overriding this method. The logical side can be checked using World.isClient.

      Overrides:
      onEntityLand in class Block
      Mappings:
      Namespace Name Mixin selector
      named onEntityLand Lnet/minecraft/block/Block;onEntityLand(Lnet/minecraft/world/BlockView;Lnet/minecraft/entity/Entity;)V
      intermediary method_9502 Lnet/minecraft/class_2248;method_9502(Lnet/minecraft/class_1922;Lnet/minecraft/class_1297;)V
      official a Ldkl;a(Ldgm;Lbvj;)V
    • bounceEntity

      private void bounceEntity(Entity entity)
      Mappings:
      Namespace Name Mixin selector
      named bounceEntity Lnet/minecraft/block/BedBlock;bounceEntity(Lnet/minecraft/entity/Entity;)V
      intermediary method_21838 Lnet/minecraft/class_2244;method_21838(Lnet/minecraft/class_1297;)V
      official a Ldke;a(Lbvj;)V
    • getStateForNeighborUpdate

      protected BlockState getStateForNeighborUpdate(BlockState state, WorldView world, ScheduledTickView tickView, BlockPos pos, Direction direction, BlockPos neighborPos, BlockState neighborState, Random random)
      Returns the state of the block after a neighboring block's state change.

      Returning Blocks.AIR breaks the block. This is useful to implement supporting block requirement for blocks (if used along with AbstractBlock.canPlaceAt(net.minecraft.block.BlockState, net.minecraft.world.WorldView, net.minecraft.util.math.BlockPos)).

      Side effects like activating a redstone component (but not scheduling a tick) should be performed in AbstractBlock.neighborUpdate(net.minecraft.block.BlockState, net.minecraft.world.World, net.minecraft.util.math.BlockPos, net.minecraft.block.Block, net.minecraft.world.block.WireOrientation, boolean) instead. If the block supports waterlogging and currently has water, this method should be overridden to tick the fluid at the block's position.

      This method is called on both the logical client and logical server, so take caution when overriding this method. The logical side can be checked using World.isClient. This is not called if Block.FORCE_STATE flag is set in the setBlockState call.

      This method can be used for multiple purposes. Here are some examples:

      • FenceBlock uses it to update the fence's connection when a horizontally neighboring block's state is changed.
      • PlantBlock uses it to break the plant if the state change causes it to lose its supporting block.
      • DoorBlock uses it to copy the state of the other half of the door.
      • SlabBlock uses it to schedule the fluid to tick if waterlogged.
      • SoulSandBlock uses it to schedule the water block above to tick so that it becomes a bubble column.
      • FallingBlock uses it to schedule the block to tick so that it can fall if needed.
      Overrides:
      getStateForNeighborUpdate in class AbstractBlock
      Parameters:
      state - the state of this block
      world - the world
      pos - the position of this block
      direction - the direction from this block to the neighbor
      neighborPos - the position of the neighbor block
      neighborState - the state of the updated neighbor block
      Returns:
      the state of the block after a neighboring block's state change
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named getStateForNeighborUpdate Lnet/minecraft/block/AbstractBlock;getStateForNeighborUpdate(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/WorldView;Lnet/minecraft/world/tick/ScheduledTickView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/Direction;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/random/Random;)Lnet/minecraft/block/BlockState;
      intermediary method_9559 Lnet/minecraft/class_4970;method_9559(Lnet/minecraft/class_2680;Lnet/minecraft/class_4538;Lnet/minecraft/class_10225;Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Lnet/minecraft/class_5819;)Lnet/minecraft/class_2680;
      official a Ldxt;a(Ldxu;Ldhk;Ldhw;Ljh;Ljm;Ljh;Ldxu;Lbam;)Ldxu;
    • getDirectionTowardsOtherPart

      private static Direction getDirectionTowardsOtherPart(BedPart part, Direction direction)
      Mappings:
      Namespace Name Mixin selector
      named getDirectionTowardsOtherPart Lnet/minecraft/block/BedBlock;getDirectionTowardsOtherPart(Lnet/minecraft/block/enums/BedPart;Lnet/minecraft/util/math/Direction;)Lnet/minecraft/util/math/Direction;
      intermediary method_9488 Lnet/minecraft/class_2244;method_9488(Lnet/minecraft/class_2742;Lnet/minecraft/class_2350;)Lnet/minecraft/class_2350;
      official a Ldke;a(Ldyh;Ljm;)Ljm;
    • onBreak

      public BlockState onBreak(World world, BlockPos pos, BlockState state, PlayerEntity player)
      Called when a player breaks a block before the block is removed from the world. Explosions do not trigger this.

      Default implementation spawns block breaking particles, angers piglins, and emits game events. Tall or wide blocks such as doors or beds should override this to break the other part (along with AbstractBlock.getStateForNeighborUpdate(net.minecraft.block.BlockState, net.minecraft.world.WorldView, net.minecraft.world.tick.ScheduledTickView, net.minecraft.util.math.BlockPos, net.minecraft.util.math.Direction, net.minecraft.util.math.BlockPos, net.minecraft.block.BlockState, net.minecraft.util.math.random.Random).)

      In most cases, AbstractBlock.onStateReplaced(net.minecraft.block.BlockState, net.minecraft.world.World, net.minecraft.util.math.BlockPos, net.minecraft.block.BlockState, boolean) or AbstractBlock.onStacksDropped(net.minecraft.block.BlockState, net.minecraft.server.world.ServerWorld, net.minecraft.util.math.BlockPos, net.minecraft.item.ItemStack, boolean) should be used instead. Note that they are called when blocks are broken by explosions as well as players breaking them.

      This method is called on both the logical client and logical server, so take caution when overriding this method. The logical side can be checked using World.isClient.

      Overrides:
      onBreak in class Block
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named onBreak Lnet/minecraft/block/Block;onBreak(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Lnet/minecraft/entity/player/PlayerEntity;)Lnet/minecraft/block/BlockState;
      intermediary method_9576 Lnet/minecraft/class_2248;method_9576(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Lnet/minecraft/class_1657;)Lnet/minecraft/class_2680;
      official a Ldkl;a(Ldhh;Ljh;Ldxu;Lcpw;)Ldxu;
    • getPlacementState

      @Nullable public @Nullable BlockState getPlacementState(ItemPlacementContext ctx)
      Overrides:
      getPlacementState in class Block
      Mappings:
      Namespace Name Mixin selector
      named getPlacementState Lnet/minecraft/block/Block;getPlacementState(Lnet/minecraft/item/ItemPlacementContext;)Lnet/minecraft/block/BlockState;
      intermediary method_9605 Lnet/minecraft/class_2248;method_9605(Lnet/minecraft/class_1750;)Lnet/minecraft/class_2680;
      official a Ldkl;a(Ldbf;)Ldxu;
    • getOutlineShape

      protected VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context)
      Overrides:
      getOutlineShape in class AbstractBlock
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named getOutlineShape Lnet/minecraft/block/AbstractBlock;getOutlineShape(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/ShapeContext;)Lnet/minecraft/util/shape/VoxelShape;
      intermediary method_9530 Lnet/minecraft/class_4970;method_9530(Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_3726;)Lnet/minecraft/class_265;
      official a Ldxt;a(Ldxu;Ldgm;Ljh;Lfcc;)Lfcr;
    • getOppositePartDirection

      public static Direction getOppositePartDirection(BlockState state)
      Mappings:
      Namespace Name Mixin selector
      named getOppositePartDirection Lnet/minecraft/block/BedBlock;getOppositePartDirection(Lnet/minecraft/block/BlockState;)Lnet/minecraft/util/math/Direction;
      intermediary method_24163 Lnet/minecraft/class_2244;method_24163(Lnet/minecraft/class_2680;)Lnet/minecraft/class_2350;
      official h Ldke;h(Ldxu;)Ljm;
    • getBedPart

      public static DoubleBlockProperties.Type getBedPart(BlockState state)
      Mappings:
      Namespace Name Mixin selector
      named getBedPart Lnet/minecraft/block/BedBlock;getBedPart(Lnet/minecraft/block/BlockState;)Lnet/minecraft/block/DoubleBlockProperties$Type;
      intermediary method_24164 Lnet/minecraft/class_2244;method_24164(Lnet/minecraft/class_2680;)Lnet/minecraft/class_4732$class_4733;
      official i Ldke;i(Ldxu;)Ldmu$a;
    • isBedBelow

      private static boolean isBedBelow(BlockView world, BlockPos pos)
      Mappings:
      Namespace Name Mixin selector
      named isBedBelow Lnet/minecraft/block/BedBlock;isBedBelow(Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;)Z
      intermediary method_30839 Lnet/minecraft/class_2244;method_30839(Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Z
      official b Ldke;b(Ldgm;Ljh;)Z
    • findWakeUpPosition

      public static Optional<Vec3d> findWakeUpPosition(EntityType<?> type, CollisionView world, BlockPos pos, Direction bedDirection, float spawnAngle)
      Mappings:
      Namespace Name Mixin selector
      named findWakeUpPosition Lnet/minecraft/block/BedBlock;findWakeUpPosition(Lnet/minecraft/entity/EntityType;Lnet/minecraft/world/CollisionView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/Direction;F)Ljava/util/Optional;
      intermediary method_9484 Lnet/minecraft/class_2244;method_9484(Lnet/minecraft/class_1299;Lnet/minecraft/class_1941;Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;F)Ljava/util/Optional;
      official a Ldke;a(Lbvq;Ldgq;Ljh;Ljm;F)Ljava/util/Optional;
    • findWakeUpPosition

      private static Optional<Vec3d> findWakeUpPosition(EntityType<?> type, CollisionView world, BlockPos pos, Direction bedDirection, Direction respawnDirection)
      Mappings:
      Namespace Name Mixin selector
      named findWakeUpPosition Lnet/minecraft/block/BedBlock;findWakeUpPosition(Lnet/minecraft/entity/EntityType;Lnet/minecraft/world/CollisionView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/Direction;Lnet/minecraft/util/math/Direction;)Ljava/util/Optional;
      intermediary method_30835 Lnet/minecraft/class_2244;method_30835(Lnet/minecraft/class_1299;Lnet/minecraft/class_1941;Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;Lnet/minecraft/class_2350;)Ljava/util/Optional;
      official a Ldke;a(Lbvq;Ldgq;Ljh;Ljm;Ljm;)Ljava/util/Optional;
    • findWakeUpPosition

      private static Optional<Vec3d> findWakeUpPosition(EntityType<?> type, CollisionView world, BlockPos pos, int[][] possibleOffsets, boolean ignoreInvalidPos)
      Mappings:
      Namespace Name Mixin selector
      named findWakeUpPosition Lnet/minecraft/block/BedBlock;findWakeUpPosition(Lnet/minecraft/entity/EntityType;Lnet/minecraft/world/CollisionView;Lnet/minecraft/util/math/BlockPos;[[IZ)Ljava/util/Optional;
      intermediary method_30836 Lnet/minecraft/class_2244;method_30836(Lnet/minecraft/class_1299;Lnet/minecraft/class_1941;Lnet/minecraft/class_2338;[[IZ)Ljava/util/Optional;
      official a Ldke;a(Lbvq;Ldgq;Ljh;[[IZ)Ljava/util/Optional;
    • getRenderType

      protected BlockRenderType getRenderType(BlockState state)
      Returns the block's render type (invisible, animated, model).
      Overrides:
      getRenderType in class AbstractBlock
      Returns:
      the block's render type (invisible, animated, model)
      See Also:
      API Note:
      BlockWithEntity overrides this to return BlockRenderType.INVISIBLE; therefore, custom blocks extending that class must override it again to render the block.
      Mappings:
      Namespace Name Mixin selector
      named getRenderType Lnet/minecraft/block/AbstractBlock;getRenderType(Lnet/minecraft/block/BlockState;)Lnet/minecraft/block/BlockRenderType;
      intermediary method_9604 Lnet/minecraft/class_4970;method_9604(Lnet/minecraft/class_2680;)Lnet/minecraft/class_2464;
      official a_ Ldxt;a_(Ldxu;)Ldqu;
    • appendProperties

      protected void appendProperties(StateManager.Builder<Block,BlockState> builder)
      Appends block state properties to this block. To use this, override and call StateManager.Builder.add(net.minecraft.state.property.Property<?>[]) inside the method. See Properties for the list of pre-defined properties.
      Overrides:
      appendProperties in class Block
      Mappings:
      Namespace Name Mixin selector
      named appendProperties Lnet/minecraft/block/Block;appendProperties(Lnet/minecraft/state/StateManager$Builder;)V
      intermediary method_9515 Lnet/minecraft/class_2248;method_9515(Lnet/minecraft/class_2689$class_2690;)V
      official a Ldkl;a(Ldxv$a;)V
    • createBlockEntity

      public BlockEntity createBlockEntity(BlockPos pos, BlockState state)
      Returns a new block entity instance.

      For example:

      
       @Override
       public BlockEntity createBlockEntity(BlockPos pos, BlockState state) {
         return new MyBlockEntity(pos, state);
       }
       
      Specified by:
      createBlockEntity in interface BlockEntityProvider
      Returns:
      a new block entity instance
      Implementation Note:
      While this is marked as nullable, in practice this should never return null. PistonExtensionBlock is the only block in vanilla that returns null inside the implementation.
      Mappings:
      Namespace Name Mixin selector
      named createBlockEntity Lnet/minecraft/block/BlockEntityProvider;createBlockEntity(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)Lnet/minecraft/block/entity/BlockEntity;
      intermediary method_10123 Lnet/minecraft/class_2343;method_10123(Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)Lnet/minecraft/class_2586;
      official a Ldnf;a(Ljh;Ldxu;)Lduw;
    • onPlaced

      public void onPlaced(World world, BlockPos pos, BlockState state, @Nullable @Nullable LivingEntity placer, ItemStack itemStack)
      Called when the player placed the block.

      Tall or wide blocks (such as doors or beds) should override this to place the other half of the block. Blocks with block entities can use this to copy the data from the item stack, such as the custom name.

      This method is called on both the logical client and logical server, so take caution when overriding this method. The logical side can be checked using World.isClient.

      Overrides:
      onPlaced in class Block
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named onPlaced Lnet/minecraft/block/Block;onPlaced(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/item/ItemStack;)V
      intermediary method_9567 Lnet/minecraft/class_2248;method_9567(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Lnet/minecraft/class_1309;Lnet/minecraft/class_1799;)V
      official a Ldkl;a(Ldhh;Ljh;Ldxu;Lbwf;Lcxo;)V
    • getColor

      public DyeColor getColor()
      Mappings:
      Namespace Name Mixin selector
      named getColor Lnet/minecraft/block/BedBlock;getColor()Lnet/minecraft/util/DyeColor;
      intermediary method_9487 Lnet/minecraft/class_2244;method_9487()Lnet/minecraft/class_1767;
      official b Ldke;b()Lcwl;
    • getRenderingSeed

      protected long getRenderingSeed(BlockState state, BlockPos pos)
      Returns the seed value for rendering.

      This is usually the hash code of pos. Tall or wide blocks (such as doors or beds) should override this to make sure both parts of the block have the same seed.

      Overrides:
      getRenderingSeed in class AbstractBlock
      Returns:
      the seed value for rendering
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named getRenderingSeed Lnet/minecraft/block/AbstractBlock;getRenderingSeed(Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/BlockPos;)J
      intermediary method_9535 Lnet/minecraft/class_4970;method_9535(Lnet/minecraft/class_2680;Lnet/minecraft/class_2338;)J
      official a Ldxt;a(Ldxu;Ljh;)J
    • canPathfindThrough

      protected boolean canPathfindThrough(BlockState state, NavigationType type)
      Returns if an entity using navigation type type can navigate through this block.
      Overrides:
      canPathfindThrough in class AbstractBlock
      Returns:
      if an entity using navigation type type can navigate through this block
      See Also:
      API Note:
      Subclasses may override this to prevent or restrict pathfinding through the block. For example, DoorBlock restricts it to open doors only.
      Mappings:
      Namespace Name Mixin selector
      named canPathfindThrough Lnet/minecraft/block/AbstractBlock;canPathfindThrough(Lnet/minecraft/block/BlockState;Lnet/minecraft/entity/ai/pathing/NavigationType;)Z
      intermediary method_9516 Lnet/minecraft/class_4970;method_9516(Lnet/minecraft/class_2680;Lnet/minecraft/class_10;)Z
      official a Ldxt;a(Ldxu;Leul;)Z
    • getAroundAndOnBedOffsets

      private static int[][] getAroundAndOnBedOffsets(Direction bedDirection, Direction respawnDirection)
      Mappings:
      Namespace Name Mixin selector
      named getAroundAndOnBedOffsets Lnet/minecraft/block/BedBlock;getAroundAndOnBedOffsets(Lnet/minecraft/util/math/Direction;Lnet/minecraft/util/math/Direction;)[[I
      intermediary method_30838 Lnet/minecraft/class_2244;method_30838(Lnet/minecraft/class_2350;Lnet/minecraft/class_2350;)[[I
      official a Ldke;a(Ljm;Ljm;)[[I
    • getAroundBedOffsets

      private static int[][] getAroundBedOffsets(Direction bedDirection, Direction respawnDirection)
      Mappings:
      Namespace Name Mixin selector
      named getAroundBedOffsets Lnet/minecraft/block/BedBlock;getAroundBedOffsets(Lnet/minecraft/util/math/Direction;Lnet/minecraft/util/math/Direction;)[[I
      intermediary method_30840 Lnet/minecraft/class_2244;method_30840(Lnet/minecraft/class_2350;Lnet/minecraft/class_2350;)[[I
      official b Ldke;b(Ljm;Ljm;)[[I
    • getOnBedOffsets

      private static int[][] getOnBedOffsets(Direction bedDirection)
      Mappings:
      Namespace Name Mixin selector
      named getOnBedOffsets Lnet/minecraft/block/BedBlock;getOnBedOffsets(Lnet/minecraft/util/math/Direction;)[[I
      intermediary method_30837 Lnet/minecraft/class_2244;method_30837(Lnet/minecraft/class_2350;)[[I
      official a Ldke;a(Ljm;)[[I