Class StairsBlock
- All Implemented Interfaces:
FluidDrainable
,FluidFillable
,Waterloggable
,ItemConvertible
,ToggleableFeature
- Direct Known Subclasses:
OxidizableStairsBlock
- Mappings:
Namespace Name official cwx
intermediary net/minecraft/class_2510
named net/minecraft/block/StairsBlock
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.block.Block
Block.NeighborGroup
Nested classes/interfaces inherited from class net.minecraft.block.AbstractBlock
AbstractBlock.AbstractBlockState, AbstractBlock.ContextPredicate, AbstractBlock.Offsetter, AbstractBlock.OffsetType, AbstractBlock.Settings, AbstractBlock.TypedContextPredicate<A>
-
Field Summary
Modifier and TypeFieldDescriptionprivate final Block
private final BlockState
protected static final VoxelShape
protected static final VoxelShape
protected static final VoxelShape
protected static final VoxelShape[]
protected static final VoxelShape
protected static final VoxelShape
static final DirectionProperty
static final EnumProperty<BlockHalf>
static final EnumProperty<StairShape>
private static final int[]
protected static final VoxelShape
protected static final VoxelShape
protected static final VoxelShape
protected static final VoxelShape[]
protected static final VoxelShape
protected static final VoxelShape
static final BooleanProperty
Fields inherited from class net.minecraft.block.Block
field_31022, field_31023, field_31024, field_31025, field_31035, FORCE_STATE, MOVED, NO_REDRAW, NOTIFY_ALL, NOTIFY_LISTENERS, NOTIFY_NEIGHBORS, REDRAW_ON_MAIN_THREAD, SKIP_DROPS, SKIP_LIGHTING_UPDATES, STATE_IDS, stateManager
Fields inherited from class net.minecraft.block.AbstractBlock
collidable, DIRECTIONS, dynamicBounds, jumpVelocityMultiplier, lootTableId, material, randomTicks, requiredFeatures, resistance, settings, slipperiness, soundGroup, velocityMultiplier
Fields inherited from interface net.minecraft.resource.featuretoggle.ToggleableFeature
FEATURE_ENABLED_REGISTRY_KEYS
-
Constructor Summary
ModifierConstructorDescriptionprotected
StairsBlock
(BlockState baseBlockState, AbstractBlock.Settings settings) -
Method Summary
Modifier and TypeMethodDescriptionprotected void
appendProperties
(StateManager.Builder<Block, BlockState> builder) Appends block state properties to this block.boolean
canPathfindThrough
(BlockState state, BlockView world, BlockPos pos, NavigationType type) Returns if an entity using navigation typetype
can navigate through this block.private static VoxelShape
composeShape
(int i, VoxelShape base, VoxelShape northWest, VoxelShape northEast, VoxelShape southWest, VoxelShape southEast) private static VoxelShape[]
composeShapes
(VoxelShape base, VoxelShape northWest, VoxelShape northEast, VoxelShape southWest, VoxelShape southEast) float
getFluidState
(BlockState state) Returns the state's associated fluid state.getOutlineShape
(BlockState state, BlockView world, BlockPos pos, ShapeContext context) private int
getShapeIndexIndex
(BlockState state) private static StairShape
getStairShape
(BlockState state, BlockView world, BlockPos pos) 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.boolean
hasRandomTicks
(BlockState state) boolean
hasSidedTransparency
(BlockState state) Returns whether the block's transparency depends on the side of the block, like slabs.private static boolean
isDifferentOrientation
(BlockState state, BlockView world, BlockPos pos, Direction dir) static boolean
isStairs
(BlockState state) mirror
(BlockState state, BlockMirror mirror) Returnsstate
mirrored bymirror
.void
onBlockAdded
(BlockState state, World world, BlockPos pos, BlockState oldState, boolean notify) Called server-side on the new block when the block state is changed.void
onBlockBreakStart
(BlockState state, World world, BlockPos pos, PlayerEntity player) Called when a player starts breaking the block (including when instant-mining).void
onBroken
(WorldAccess world, BlockPos pos, BlockState state) Called after a player breaks a block and the block is removed from the world.void
onDestroyedByExplosion
(World world, BlockPos pos, Explosion explosion) Called when this block is destroyed by an explosion.void
onStateReplaced
(BlockState state, World world, BlockPos pos, BlockState newState, boolean moved) Called server-side on the old block when the block state is changed.void
onSteppedOn
(World world, BlockPos pos, BlockState state, Entity entity) Called when an entity steps on this block.onUse
(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit) Called when this block is used by a player.void
randomDisplayTick
(BlockState state, World world, BlockPos pos, Random random) Called randomly on the client.void
randomTick
(BlockState state, ServerWorld world, BlockPos pos, Random random) Called server-side when a block gets ticked randomly.rotate
(BlockState state, BlockRotation rotation) Returnsstate
rotated byrotation
.void
scheduledTick
(BlockState state, ServerWorld world, BlockPos pos, Random random) Called server-side when a block receives a scheduled tick.Methods inherited from class net.minecraft.block.Block
afterBreak, appendTooltip, asBlock, asItem, canMobSpawnInside, cannotConnect, createCuboidShape, dropExperience, dropExperienceWhenMined, dropStack, dropStack, dropStacks, dropStacks, dropStacks, dropStacks, getBlockFromItem, getDefaultState, getDroppedStacks, getDroppedStacks, getJumpVelocityMultiplier, getName, getPickStack, getRawIdFromState, getRegistryEntry, getShapesForStates, getSlipperiness, getSoundGroup, getStateFromRawId, getStateManager, getStateWithProperties, getTranslationKey, getVelocityMultiplier, hasDynamicBounds, hasTopRim, isFaceFullSquare, isShapeFullCube, isTransparent, onBreak, onEntityLand, onLandedUpon, onPlaced, postProcessState, precipitationTick, pushEntitiesUpBeforeBlockChange, replace, replace, setDefaultState, shouldDrawSide, shouldDropItemsOnExplosion, sideCoversSmallSquare, spawnBreakParticles, toString
Methods inherited from class net.minecraft.block.AbstractBlock
calcBlockBreakingDelta, canBucketPlace, canPlaceAt, canReplace, createScreenHandlerFactory, emitsRedstonePower, getAmbientOcclusionLightLevel, getCameraCollisionShape, getCollisionShape, getComparatorOutput, getCullingShape, getDefaultMapColor, getDroppedStacks, getHardness, getLootTableId, getMaxHorizontalModelOffset, getOpacity, getPistonBehavior, getRaycastShape, getRenderingSeed, getRenderType, getRequiredFeatures, getSidesShape, getStrongRedstonePower, getVerticalModelOffsetMultiplier, getWeakRedstonePower, hasComparatorOutput, isCullingShapeFullCube, isShapeFullCube, isSideInvisible, neighborUpdate, onEntityCollision, onProjectileHit, onStacksDropped, onSyncedBlockEvent, prepare
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface net.minecraft.resource.featuretoggle.ToggleableFeature
isEnabled
Methods inherited from interface net.minecraft.block.Waterloggable
canFillWithFluid, getBucketFillSound, tryDrainFluid, tryFillWithFluid
-
Field Details
-
FACING
- Mappings:
Namespace Name Mixin selector official a
Lcwx;a:Ldcl;
intermediary field_11571
Lnet/minecraft/class_2510;field_11571:Lnet/minecraft/class_2753;
named FACING
Lnet/minecraft/block/StairsBlock;FACING:Lnet/minecraft/state/property/DirectionProperty;
-
HALF
- Mappings:
Namespace Name Mixin selector official b
Lcwx;b:Ldcp;
intermediary field_11572
Lnet/minecraft/class_2510;field_11572:Lnet/minecraft/class_2754;
named HALF
Lnet/minecraft/block/StairsBlock;HALF:Lnet/minecraft/state/property/EnumProperty;
-
SHAPE
- Mappings:
Namespace Name Mixin selector official c
Lcwx;c:Ldcp;
intermediary field_11565
Lnet/minecraft/class_2510;field_11565:Lnet/minecraft/class_2754;
named SHAPE
Lnet/minecraft/block/StairsBlock;SHAPE:Lnet/minecraft/state/property/EnumProperty;
-
WATERLOGGED
- Mappings:
Namespace Name Mixin selector official d
Lcwx;d:Ldci;
intermediary field_11573
Lnet/minecraft/class_2510;field_11573:Lnet/minecraft/class_2746;
named WATERLOGGED
Lnet/minecraft/block/StairsBlock;WATERLOGGED:Lnet/minecraft/state/property/BooleanProperty;
-
TOP_SHAPE
- Mappings:
Namespace Name Mixin selector official e
Lcwx;e:Ledx;
intermediary field_11562
Lnet/minecraft/class_2510;field_11562:Lnet/minecraft/class_265;
named TOP_SHAPE
Lnet/minecraft/block/StairsBlock;TOP_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
-
BOTTOM_SHAPE
- Mappings:
Namespace Name Mixin selector official f
Lcwx;f:Ledx;
intermediary field_11576
Lnet/minecraft/class_2510;field_11576:Lnet/minecraft/class_265;
named BOTTOM_SHAPE
Lnet/minecraft/block/StairsBlock;BOTTOM_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
-
BOTTOM_NORTH_WEST_CORNER_SHAPE
- Mappings:
Namespace Name Mixin selector official g
Lcwx;g:Ledx;
intermediary field_11561
Lnet/minecraft/class_2510;field_11561:Lnet/minecraft/class_265;
named BOTTOM_NORTH_WEST_CORNER_SHAPE
Lnet/minecraft/block/StairsBlock;BOTTOM_NORTH_WEST_CORNER_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
-
BOTTOM_SOUTH_WEST_CORNER_SHAPE
- Mappings:
Namespace Name Mixin selector official h
Lcwx;h:Ledx;
intermediary field_11578
Lnet/minecraft/class_2510;field_11578:Lnet/minecraft/class_265;
named BOTTOM_SOUTH_WEST_CORNER_SHAPE
Lnet/minecraft/block/StairsBlock;BOTTOM_SOUTH_WEST_CORNER_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
-
TOP_NORTH_WEST_CORNER_SHAPE
- Mappings:
Namespace Name Mixin selector official i
Lcwx;i:Ledx;
intermediary field_11568
Lnet/minecraft/class_2510;field_11568:Lnet/minecraft/class_265;
named TOP_NORTH_WEST_CORNER_SHAPE
Lnet/minecraft/block/StairsBlock;TOP_NORTH_WEST_CORNER_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
-
TOP_SOUTH_WEST_CORNER_SHAPE
- Mappings:
Namespace Name Mixin selector official j
Lcwx;j:Ledx;
intermediary field_11563
Lnet/minecraft/class_2510;field_11563:Lnet/minecraft/class_265;
named TOP_SOUTH_WEST_CORNER_SHAPE
Lnet/minecraft/block/StairsBlock;TOP_SOUTH_WEST_CORNER_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
-
BOTTOM_NORTH_EAST_CORNER_SHAPE
- Mappings:
Namespace Name Mixin selector official k
Lcwx;k:Ledx;
intermediary field_11575
Lnet/minecraft/class_2510;field_11575:Lnet/minecraft/class_265;
named BOTTOM_NORTH_EAST_CORNER_SHAPE
Lnet/minecraft/block/StairsBlock;BOTTOM_NORTH_EAST_CORNER_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
-
BOTTOM_SOUTH_EAST_CORNER_SHAPE
- Mappings:
Namespace Name Mixin selector official l
Lcwx;l:Ledx;
intermediary field_11569
Lnet/minecraft/class_2510;field_11569:Lnet/minecraft/class_265;
named BOTTOM_SOUTH_EAST_CORNER_SHAPE
Lnet/minecraft/block/StairsBlock;BOTTOM_SOUTH_EAST_CORNER_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
-
TOP_NORTH_EAST_CORNER_SHAPE
- Mappings:
Namespace Name Mixin selector official m
Lcwx;m:Ledx;
intermediary field_11577
Lnet/minecraft/class_2510;field_11577:Lnet/minecraft/class_265;
named TOP_NORTH_EAST_CORNER_SHAPE
Lnet/minecraft/block/StairsBlock;TOP_NORTH_EAST_CORNER_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
-
TOP_SOUTH_EAST_CORNER_SHAPE
- Mappings:
Namespace Name Mixin selector official n
Lcwx;n:Ledx;
intermediary field_11567
Lnet/minecraft/class_2510;field_11567:Lnet/minecraft/class_265;
named TOP_SOUTH_EAST_CORNER_SHAPE
Lnet/minecraft/block/StairsBlock;TOP_SOUTH_EAST_CORNER_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
-
TOP_SHAPES
- Mappings:
Namespace Name Mixin selector official E
Lcwx;E:[Ledx;
intermediary field_11566
Lnet/minecraft/class_2510;field_11566:[Lnet/minecraft/class_265;
named TOP_SHAPES
Lnet/minecraft/block/StairsBlock;TOP_SHAPES:[Lnet/minecraft/util/shape/VoxelShape;
-
BOTTOM_SHAPES
- Mappings:
Namespace Name Mixin selector official F
Lcwx;F:[Ledx;
intermediary field_11564
Lnet/minecraft/class_2510;field_11564:[Lnet/minecraft/class_265;
named BOTTOM_SHAPES
Lnet/minecraft/block/StairsBlock;BOTTOM_SHAPES:[Lnet/minecraft/util/shape/VoxelShape;
-
SHAPE_INDICES
private static final int[] SHAPE_INDICES- Mappings:
Namespace Name Mixin selector official G
Lcwx;G:[I
intermediary field_11570
Lnet/minecraft/class_2510;field_11570:[I
named SHAPE_INDICES
Lnet/minecraft/block/StairsBlock;SHAPE_INDICES:[I
-
baseBlock
- Mappings:
Namespace Name Mixin selector official H
Lcwx;H:Lcpi;
intermediary field_11579
Lnet/minecraft/class_2510;field_11579:Lnet/minecraft/class_2248;
named baseBlock
Lnet/minecraft/block/StairsBlock;baseBlock:Lnet/minecraft/block/Block;
-
baseBlockState
- Mappings:
Namespace Name Mixin selector official I
Lcwx;I:Ldbq;
intermediary field_11574
Lnet/minecraft/class_2510;field_11574:Lnet/minecraft/class_2680;
named baseBlockState
Lnet/minecraft/block/StairsBlock;baseBlockState:Lnet/minecraft/block/BlockState;
-
-
Constructor Details
-
StairsBlock
- Mappings:
Namespace Name Mixin selector official <init>
Lcwx;<init>(Ldbq;Ldbp$d;)V
intermediary <init>
Lnet/minecraft/class_2510;<init>(Lnet/minecraft/class_2680;Lnet/minecraft/class_4970$class_2251;)V
named <init>
Lnet/minecraft/block/StairsBlock;<init>(Lnet/minecraft/block/BlockState;Lnet/minecraft/block/AbstractBlock$Settings;)V
-
-
Method Details
-
composeShapes
private static VoxelShape[] composeShapes(VoxelShape base, VoxelShape northWest, VoxelShape northEast, VoxelShape southWest, VoxelShape southEast) - Mappings:
Namespace Name Mixin selector official a
Lcwx;a(Ledx;Ledx;Ledx;Ledx;Ledx;)[Ledx;
intermediary method_10672
Lnet/minecraft/class_2510;method_10672(Lnet/minecraft/class_265;Lnet/minecraft/class_265;Lnet/minecraft/class_265;Lnet/minecraft/class_265;Lnet/minecraft/class_265;)[Lnet/minecraft/class_265;
named composeShapes
Lnet/minecraft/block/StairsBlock;composeShapes(Lnet/minecraft/util/shape/VoxelShape;Lnet/minecraft/util/shape/VoxelShape;Lnet/minecraft/util/shape/VoxelShape;Lnet/minecraft/util/shape/VoxelShape;Lnet/minecraft/util/shape/VoxelShape;)[Lnet/minecraft/util/shape/VoxelShape;
-
composeShape
private static VoxelShape composeShape(int i, VoxelShape base, VoxelShape northWest, VoxelShape northEast, VoxelShape southWest, VoxelShape southEast) - Mappings:
Namespace Name Mixin selector official a
Lcwx;a(ILedx;Ledx;Ledx;Ledx;Ledx;)Ledx;
intermediary method_10671
Lnet/minecraft/class_2510;method_10671(ILnet/minecraft/class_265;Lnet/minecraft/class_265;Lnet/minecraft/class_265;Lnet/minecraft/class_265;Lnet/minecraft/class_265;)Lnet/minecraft/class_265;
named composeShape
Lnet/minecraft/block/StairsBlock;composeShape(ILnet/minecraft/util/shape/VoxelShape;Lnet/minecraft/util/shape/VoxelShape;Lnet/minecraft/util/shape/VoxelShape;Lnet/minecraft/util/shape/VoxelShape;Lnet/minecraft/util/shape/VoxelShape;)Lnet/minecraft/util/shape/VoxelShape;
-
hasSidedTransparency
Returns whether the block's transparency depends on the side of the block, like slabs.- Overrides:
hasSidedTransparency
in classAbstractBlock
- Returns:
- whether the block's transparency depends on the side of the block, like slabs
- Mappings:
Namespace Name Mixin selector official g_
Ldbp;g_(Ldbq;)Z
intermediary method_9526
Lnet/minecraft/class_4970;method_9526(Lnet/minecraft/class_2680;)Z
named hasSidedTransparency
Lnet/minecraft/block/AbstractBlock;hasSidedTransparency(Lnet/minecraft/block/BlockState;)Z
-
getOutlineShape
public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) - Overrides:
getOutlineShape
in classAbstractBlock
- Mappings:
Namespace Name Mixin selector official a
Ldbp;a(Ldbq;Lclo;Lgt;Ledj;)Ledx;
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;
-
getShapeIndexIndex
- Mappings:
Namespace Name Mixin selector official n
Lcwx;n(Ldbq;)I
intermediary method_10673
Lnet/minecraft/class_2510;method_10673(Lnet/minecraft/class_2680;)I
named getShapeIndexIndex
Lnet/minecraft/block/StairsBlock;getShapeIndexIndex(Lnet/minecraft/block/BlockState;)I
-
randomDisplayTick
Called randomly on the client. Blocks may override this to spawn particles. UnlikeAbstractBlock.randomTick(net.minecraft.block.BlockState, net.minecraft.server.world.ServerWorld, net.minecraft.util.math.BlockPos, net.minecraft.util.math.random.Random)
this is not affected by a game rule.- Overrides:
randomDisplayTick
in classBlock
- Mappings:
Namespace Name Mixin selector official a
Lcpi;a(Ldbq;Lcmi;Lgt;Lapo;)V
intermediary method_9496
Lnet/minecraft/class_2248;method_9496(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_5819;)V
named randomDisplayTick
Lnet/minecraft/block/Block;randomDisplayTick(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/random/Random;)V
-
onBlockBreakStart
Called when a player starts breaking the block (including when instant-mining).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:
onBlockBreakStart
in classAbstractBlock
- Mappings:
Namespace Name Mixin selector official a
Ldbp;a(Ldbq;Lcmi;Lgt;Lbym;)V
intermediary method_9606
Lnet/minecraft/class_4970;method_9606(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1657;)V
named onBlockBreakStart
Lnet/minecraft/block/AbstractBlock;onBlockBreakStart(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/player/PlayerEntity;)V
-
onBroken
Called after a player breaks a block and the block is removed from the world. Explosions do not trigger this.In most cases,
AbstractBlock.onStateReplaced(net.minecraft.block.BlockState, net.minecraft.world.World, net.minecraft.util.math.BlockPos, net.minecraft.block.BlockState, boolean)
orAbstractBlock.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:
onBroken
in classBlock
- See Also:
-
AbstractBlock.onStateReplaced(net.minecraft.block.BlockState, net.minecraft.world.World, net.minecraft.util.math.BlockPos, net.minecraft.block.BlockState, boolean)
AbstractBlock.onStacksDropped(net.minecraft.block.BlockState, net.minecraft.server.world.ServerWorld, net.minecraft.util.math.BlockPos, net.minecraft.item.ItemStack, boolean)
Block.onBreak(net.minecraft.world.World, net.minecraft.util.math.BlockPos, net.minecraft.block.BlockState, net.minecraft.entity.player.PlayerEntity)
- Mappings:
Namespace Name Mixin selector official a
Lcpi;a(Lcmj;Lgt;Ldbq;)V
intermediary method_9585
Lnet/minecraft/class_2248;method_9585(Lnet/minecraft/class_1936;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)V
named onBroken
Lnet/minecraft/block/Block;onBroken(Lnet/minecraft/world/WorldAccess;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)V
-
getBlastResistance
public float getBlastResistance()- Overrides:
getBlastResistance
in classBlock
- Mappings:
Namespace Name Mixin selector official e
Lcpi;e()F
intermediary method_9520
Lnet/minecraft/class_2248;method_9520()F
named getBlastResistance
Lnet/minecraft/block/Block;getBlastResistance()F
-
onBlockAdded
public void onBlockAdded(BlockState state, World world, BlockPos pos, BlockState oldState, boolean notify) Called server-side on the new block when the block state is changed. This includes block placement. When overriding this method,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)
orAbstractBlock.neighborUpdate(net.minecraft.block.BlockState, net.minecraft.world.World, net.minecraft.util.math.BlockPos, net.minecraft.block.Block, net.minecraft.util.math.BlockPos, boolean)
should also be overridden. The method is used in the following cases:- When activating a redstone component on placement (used along with
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)
- When resetting a position-dependent state (see
TargetBlock
) - When converting a block on placement (see
WetSpongeBlock
) - When fire lights a portal
- Overrides:
onBlockAdded
in classAbstractBlock
- See Also:
- Mappings:
Namespace Name Mixin selector official b
Ldbp;b(Ldbq;Lcmi;Lgt;Ldbq;Z)V
intermediary method_9615
Lnet/minecraft/class_4970;method_9615(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Z)V
named onBlockAdded
Lnet/minecraft/block/AbstractBlock;onBlockAdded(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Z)V
- When activating a redstone component on placement (used along with
-
onStateReplaced
public void onStateReplaced(BlockState state, World world, BlockPos pos, BlockState newState, boolean moved) Called server-side on the old block when the block state is changed. This includes block removal. This is used to update neighboring blocks when an active redstone power source is removed, or to drop the contents of an inventory. The checkstate.isOf(newState.getBlock())
can be used to see if the block was removed or not.- Overrides:
onStateReplaced
in classAbstractBlock
- See Also:
- Mappings:
Namespace Name Mixin selector official a
Ldbp;a(Ldbq;Lcmi;Lgt;Ldbq;Z)V
intermediary method_9536
Lnet/minecraft/class_4970;method_9536(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Z)V
named onStateReplaced
Lnet/minecraft/block/AbstractBlock;onStateReplaced(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Z)V
-
onSteppedOn
Called when an entity steps on this block.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:
onSteppedOn
in classBlock
- Mappings:
Namespace Name Mixin selector official a
Lcpi;a(Lcmi;Lgt;Ldbq;Lbfh;)V
intermediary method_9591
Lnet/minecraft/class_2248;method_9591(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Lnet/minecraft/class_1297;)V
named onSteppedOn
Lnet/minecraft/block/Block;onSteppedOn(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Lnet/minecraft/entity/Entity;)V
-
hasRandomTicks
- Overrides:
hasRandomTicks
in classBlock
- Mappings:
Namespace Name Mixin selector official e_
Lcpi;e_(Ldbq;)Z
intermediary method_9542
Lnet/minecraft/class_2248;method_9542(Lnet/minecraft/class_2680;)Z
named hasRandomTicks
Lnet/minecraft/block/Block;hasRandomTicks(Lnet/minecraft/block/BlockState;)Z
-
randomTick
Called server-side when a block gets ticked randomly. This can be overridden to implement various logics, most commonly plant growth. Default implementation callsAbstractBlock.scheduledTick(net.minecraft.block.BlockState, net.minecraft.server.world.ServerWorld, net.minecraft.util.math.BlockPos, net.minecraft.util.math.random.Random)
. To control the rate of the action, userandom
.Random tick speed is controlled by the game rule
randomTickSpeed
and can be disabled. Only blocks within 128-block cylinder (i.e. ignoring Y coordinates) around players receive random ticks.Blocks overriding this must use
AbstractBlock.Settings.ticksRandomly()
block settings.Here are some examples:
SugarCaneBlock
uses this to grow sugar cane.OxidizableBlock
uses this to oxidize.NetherPortalBlock
uses this to spawn zombified piglins.LeavesBlock
uses this to decay when far from logs.
- Overrides:
randomTick
in classAbstractBlock
- See Also:
- Mappings:
Namespace Name Mixin selector official b
Ldbp;b(Ldbq;Laip;Lgt;Lapo;)V
intermediary method_9514
Lnet/minecraft/class_4970;method_9514(Lnet/minecraft/class_2680;Lnet/minecraft/class_3218;Lnet/minecraft/class_2338;Lnet/minecraft/class_5819;)V
named randomTick
Lnet/minecraft/block/AbstractBlock;randomTick(Lnet/minecraft/block/BlockState;Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/random/Random;)V
-
scheduledTick
Called server-side when a block receives a scheduled tick. This can be used like a timer. Scheduled ticks are added usingWorldAccess.scheduleBlockTick(BlockPos, Block, int)
. Additionally,AbstractBlock.randomTick(net.minecraft.block.BlockState, net.minecraft.server.world.ServerWorld, net.minecraft.util.math.BlockPos, net.minecraft.util.math.random.Random)
by default calls this method; overrideAbstractBlock.randomTick(net.minecraft.block.BlockState, net.minecraft.server.world.ServerWorld, net.minecraft.util.math.BlockPos, net.minecraft.util.math.random.Random)
to disable this behavior.Scheduled ticks are often used inside
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)
.Here are some examples:
SugarCaneBlock
checks the placement requirement.DispenserBlock
dispenses its content.CommandBlock
executes its command.FrogspawnBlock
spawns a tadpole.SoulSandBlock
updates a bubble column.FallingBlock
tries to fall.
- Overrides:
scheduledTick
in classAbstractBlock
- See Also:
-
WorldAccess.scheduleBlockTick(BlockPos, Block, int)
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)
AbstractBlock.randomTick(net.minecraft.block.BlockState, net.minecraft.server.world.ServerWorld, net.minecraft.util.math.BlockPos, net.minecraft.util.math.random.Random)
- Mappings:
Namespace Name Mixin selector official a
Ldbp;a(Ldbq;Laip;Lgt;Lapo;)V
intermediary method_9588
Lnet/minecraft/class_4970;method_9588(Lnet/minecraft/class_2680;Lnet/minecraft/class_3218;Lnet/minecraft/class_2338;Lnet/minecraft/class_5819;)V
named scheduledTick
Lnet/minecraft/block/AbstractBlock;scheduledTick(Lnet/minecraft/block/BlockState;Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/random/Random;)V
-
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 classAbstractBlock
- Returns:
- an action result that specifies if using the block was successful.
- Mappings:
Namespace Name Mixin selector official a
Ldbp;a(Ldbq;Lcmi;Lgt;Lbym;Lbdx;Leda;)Lbdy;
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;
-
onDestroyedByExplosion
Called when this block is destroyed by an explosion.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:
onDestroyedByExplosion
in classBlock
- Mappings:
Namespace Name Mixin selector official a
Lcpi;a(Lcmi;Lgt;Lcma;)V
intermediary method_9586
Lnet/minecraft/class_2248;method_9586(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1927;)V
named onDestroyedByExplosion
Lnet/minecraft/block/Block;onDestroyedByExplosion(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/world/explosion/Explosion;)V
-
getPlacementState
- Overrides:
getPlacementState
in classBlock
- Mappings:
Namespace Name Mixin selector official a
Lcpi;a(Lcic;)Ldbq;
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;
-
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 withAbstractBlock.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 ifBlock.FORCE_STATE
flag is set in thesetBlockState
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 classAbstractBlock
- Parameters:
state
- the state of this blockdirection
- the direction from this block to the neighborneighborState
- the state of the updated neighbor blockworld
- the worldpos
- the position of this blockneighborPos
- the position of the neighbor block- Returns:
- the state of the block after a neighboring block's state change
- See Also:
-
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)
AbstractBlock.prepare(net.minecraft.block.BlockState, net.minecraft.world.WorldAccess, net.minecraft.util.math.BlockPos, int, int)
AbstractBlock.canPlaceAt(net.minecraft.block.BlockState, net.minecraft.world.WorldView, net.minecraft.util.math.BlockPos)
Block.FORCE_STATE
- Mappings:
Namespace Name Mixin selector official a
Ldbp;a(Ldbq;Lgz;Ldbq;Lcmj;Lgt;Lgt;)Ldbq;
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;
-
getStairShape
- Mappings:
Namespace Name Mixin selector official i
Lcwx;i(Ldbq;Lclo;Lgt;)Ldda;
intermediary method_10675
Lnet/minecraft/class_2510;method_10675(Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Lnet/minecraft/class_2778;
named getStairShape
Lnet/minecraft/block/StairsBlock;getStairShape(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/block/enums/StairShape;
-
isDifferentOrientation
private static boolean isDifferentOrientation(BlockState state, BlockView world, BlockPos pos, Direction dir) - Mappings:
Namespace Name Mixin selector official c
Lcwx;c(Ldbq;Lclo;Lgt;Lgz;)Z
intermediary method_10678
Lnet/minecraft/class_2510;method_10678(Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;)Z
named isDifferentOrientation
Lnet/minecraft/block/StairsBlock;isDifferentOrientation(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/Direction;)Z
-
isStairs
- Mappings:
Namespace Name Mixin selector official h
Lcwx;h(Ldbq;)Z
intermediary method_10676
Lnet/minecraft/class_2510;method_10676(Lnet/minecraft/class_2680;)Z
named isStairs
Lnet/minecraft/block/StairsBlock;isStairs(Lnet/minecraft/block/BlockState;)Z
-
rotate
Returnsstate
rotated byrotation
.By default, this returns the provided block state.
- Overrides:
rotate
in classAbstractBlock
- Returns:
state
rotated byrotation
- Mappings:
Namespace Name Mixin selector official a
Ldbp;a(Ldbq;Lcvq;)Ldbq;
intermediary method_9598
Lnet/minecraft/class_4970;method_9598(Lnet/minecraft/class_2680;Lnet/minecraft/class_2470;)Lnet/minecraft/class_2680;
named rotate
Lnet/minecraft/block/AbstractBlock;rotate(Lnet/minecraft/block/BlockState;Lnet/minecraft/util/BlockRotation;)Lnet/minecraft/block/BlockState;
-
mirror
Returnsstate
mirrored bymirror
.By default, this returns the provided block state.
- Overrides:
mirror
in classAbstractBlock
- Returns:
state
mirrored bymirror
- Mappings:
Namespace Name Mixin selector official a
Ldbp;a(Ldbq;Lcua;)Ldbq;
intermediary method_9569
Lnet/minecraft/class_4970;method_9569(Lnet/minecraft/class_2680;Lnet/minecraft/class_2415;)Lnet/minecraft/class_2680;
named mirror
Lnet/minecraft/block/AbstractBlock;mirror(Lnet/minecraft/block/BlockState;Lnet/minecraft/util/BlockMirror;)Lnet/minecraft/block/BlockState;
-
appendProperties
Appends block state properties to this block. To use this, override and callStateManager.Builder.add(net.minecraft.state.property.Property<?>[])
inside the method. SeeProperties
for the list of pre-defined properties.- Overrides:
appendProperties
in classBlock
- Mappings:
Namespace Name Mixin selector official a
Lcpi;a(Ldbr$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
-
getFluidState
Returns the state's associated fluid state.Waterloggable blocks must override this to return
Fluids.WATER.getStill(false)
when waterlogged.- Overrides:
getFluidState
in classAbstractBlock
- Returns:
- the state's associated fluid state
- See Also:
- Mappings:
Namespace Name Mixin selector official c_
Ldbp;c_(Ldbq;)Ldwj;
intermediary method_9545
Lnet/minecraft/class_4970;method_9545(Lnet/minecraft/class_2680;)Lnet/minecraft/class_3610;
named getFluidState
Lnet/minecraft/block/AbstractBlock;getFluidState(Lnet/minecraft/block/BlockState;)Lnet/minecraft/fluid/FluidState;
-