Class BedBlock

All Implemented Interfaces:
BlockEntityProvider, ItemConvertible

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

    • PART

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • BedBlock

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

    • getDirection

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

      public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit)
      Called when this block is used by a player. This, by default, is bound to using the right mouse button.

      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().

      If the action result is successful on a logical client, then the action will be sent to the logical server for processing.

      Overrides:
      onUse in class AbstractBlock
      Returns:
      an action result that specifies if using the block was successful.
      Mappings:
      Namespace Name Mixin selector
      official a Lcvn;a(Lcvo;Lcgx;Lgt;Lbuc;Lbai;Ldwm;)Lbaj;
      intermediary method_9534 Lnet/minecraft/class_4970;method_9534(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1657;Lnet/minecraft/class_1268;Lnet/minecraft/class_3965;)Lnet/minecraft/class_1269;
      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/Hand;Lnet/minecraft/util/hit/BlockHitResult;)Lnet/minecraft/util/ActionResult;
    • 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
      official a Lcjm;a(Lcgx;)Z
      intermediary method_27352 Lnet/minecraft/class_2244;method_27352(Lnet/minecraft/class_1937;)Z
      named isBedWorking Lnet/minecraft/block/BedBlock;isBedWorking(Lnet/minecraft/world/World;)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
      official a Lcjm;a(Lcgx;Lgt;)Z
      intermediary method_22357 Lnet/minecraft/class_2244;method_22357(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;)Z
      named wakeVillager Lnet/minecraft/block/BedBlock;wakeVillager(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;)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
      official a Lcjt;a(Lcgx;Lcvo;Lgt;Lbbn;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
      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
    • 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
      official a Lcjt;a(Lcgd;Lbbn;)V
      intermediary method_9502 Lnet/minecraft/class_2248;method_9502(Lnet/minecraft/class_1922;Lnet/minecraft/class_1297;)V
      named onEntityLand Lnet/minecraft/block/Block;onEntityLand(Lnet/minecraft/world/BlockView;Lnet/minecraft/entity/Entity;)V
    • bounceEntity

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

      public BlockState getStateForNeighborUpdate(BlockState state, Direction direction, BlockState neighborState, WorldAccess world, BlockPos pos, BlockPos neighborPos)
      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.util.math.BlockPos, 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
      direction - the direction from this block to the neighbor
      neighborState - the state of the updated neighbor block
      world - the world
      pos - the position of this block
      neighborPos - the position of the neighbor block
      Returns:
      the state of the block after a neighboring block's state change
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lcvn;a(Lcvo;Lgy;Lcvo;Lcgy;Lgt;Lgt;)Lcvo;
      intermediary method_9559 Lnet/minecraft/class_4970;method_9559(Lnet/minecraft/class_2680;Lnet/minecraft/class_2350;Lnet/minecraft/class_2680;Lnet/minecraft/class_1936;Lnet/minecraft/class_2338;Lnet/minecraft/class_2338;)Lnet/minecraft/class_2680;
      named getStateForNeighborUpdate Lnet/minecraft/block/AbstractBlock;getStateForNeighborUpdate(Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/Direction;Lnet/minecraft/block/BlockState;Lnet/minecraft/world/WorldAccess;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/block/BlockState;
    • getDirectionTowardsOtherPart

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

      public void 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.util.math.Direction, net.minecraft.block.BlockState, net.minecraft.world.WorldAccess, net.minecraft.util.math.BlockPos, net.minecraft.util.math.BlockPos).)

      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
      official a Lcjt;a(Lcgx;Lgt;Lcvo;Lbuc;)V
      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;)V
      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;)V
    • getPlacementState

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

      public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context)
      Overrides:
      getOutlineShape in class AbstractBlock
      Mappings:
      Namespace Name Mixin selector
      official a Lcvn;a(Lcvo;Lcgd;Lgt;Ldwv;)Ldxj;
      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;
      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;
    • getOppositePartDirection

      public static Direction getOppositePartDirection(BlockState state)
      Mappings:
      Namespace Name Mixin selector
      official g Lcjm;g(Lcvo;)Lgy;
      intermediary method_24163 Lnet/minecraft/class_2244;method_24163(Lnet/minecraft/class_2680;)Lnet/minecraft/class_2350;
      named getOppositePartDirection Lnet/minecraft/block/BedBlock;getOppositePartDirection(Lnet/minecraft/block/BlockState;)Lnet/minecraft/util/math/Direction;
    • getBedPart

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

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

      public static Optional<Vec3d> findWakeUpPosition(EntityType<?> type, CollisionView world, BlockPos pos, float spawnAngle)
      Mappings:
      Namespace Name Mixin selector
      official a Lcjm;a(Lbbr;Lcgh;Lgt;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;F)Ljava/util/Optional;
      named findWakeUpPosition Lnet/minecraft/block/BedBlock;findWakeUpPosition(Lnet/minecraft/entity/EntityType;Lnet/minecraft/world/CollisionView;Lnet/minecraft/util/math/BlockPos;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
      official a Lcjm;a(Lbbr;Lcgh;Lgt;Lgy;Lgy;)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;
      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;
    • findWakeUpPosition

      private static Optional<Vec3d> findWakeUpPosition(EntityType<?> type, CollisionView world, BlockPos pos, int[][] possibleOffsets, boolean ignoreInvalidPos)
      Mappings:
      Namespace Name Mixin selector
      official a Lcjm;a(Lbbr;Lcgh;Lgt;[[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;
      named findWakeUpPosition Lnet/minecraft/block/BedBlock;findWakeUpPosition(Lnet/minecraft/entity/EntityType;Lnet/minecraft/world/CollisionView;Lnet/minecraft/util/math/BlockPos;[[IZ)Ljava/util/Optional;
    • getPistonBehavior

      public PistonBehavior getPistonBehavior(BlockState state)
      Returns how the piston should handle the block.

      Notes on piston behavior:

      Overrides:
      getPistonBehavior in class AbstractBlock
      Returns:
      how the piston should handle the block
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official d Lcvn;d(Lcvo;)Ldqb;
      intermediary method_9527 Lnet/minecraft/class_4970;method_9527(Lnet/minecraft/class_2680;)Lnet/minecraft/class_3619;
      named getPistonBehavior Lnet/minecraft/block/AbstractBlock;getPistonBehavior(Lnet/minecraft/block/BlockState;)Lnet/minecraft/block/piston/PistonBehavior;
    • getRenderType

      public 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)
      Mappings:
      Namespace Name Mixin selector
      official b_ Lcvn;b_(Lcvo;)Lcpp;
      intermediary method_9604 Lnet/minecraft/class_4970;method_9604(Lnet/minecraft/class_2680;)Lnet/minecraft/class_2464;
      named getRenderType Lnet/minecraft/block/AbstractBlock;getRenderType(Lnet/minecraft/block/BlockState;)Lnet/minecraft/block/BlockRenderType;
    • 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
      official a Lcjt;a(Lcvp$a;)V
      intermediary method_9515 Lnet/minecraft/class_2248;method_9515(Lnet/minecraft/class_2689$class_2690;)V
      named appendProperties Lnet/minecraft/block/Block;appendProperties(Lnet/minecraft/state/StateManager$Builder;)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
      Mappings:
      Namespace Name Mixin selector
      official a Lcmb;a(Lgt;Lcvo;)Lcti;
      intermediary method_10123 Lnet/minecraft/class_2343;method_10123(Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)Lnet/minecraft/class_2586;
      named createBlockEntity Lnet/minecraft/block/BlockEntityProvider;createBlockEntity(Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)Lnet/minecraft/block/entity/BlockEntity;
    • 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
      official a Lcjt;a(Lcgx;Lgt;Lcvo;Lbcc;Lcax;)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
      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
    • getColor

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

      public 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
      Mappings:
      Namespace Name Mixin selector
      official a Lcvn;a(Lcvo;Lgt;)J
      intermediary method_9535 Lnet/minecraft/class_4970;method_9535(Lnet/minecraft/class_2680;Lnet/minecraft/class_2338;)J
      named getRenderingSeed Lnet/minecraft/block/AbstractBlock;getRenderingSeed(Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/BlockPos;)J
    • canPathfindThrough

      public boolean canPathfindThrough(BlockState state, BlockView world, BlockPos pos, 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
      Mappings:
      Namespace Name Mixin selector
      official a Lcvn;a(Lcvo;Lcgd;Lgt;Ldqm;)Z
      intermediary method_9516 Lnet/minecraft/class_4970;method_9516(Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_10;)Z
      named canPathfindThrough Lnet/minecraft/block/AbstractBlock;canPathfindThrough(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/ai/pathing/NavigationType;)Z
    • getAroundAndOnBedOffsets

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

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

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