Class PistonHeadBlock
- All Implemented Interfaces:
ItemConvertible
,ToggleableFeature
- Mappings:
Namespace Name named net/minecraft/block/PistonHeadBlock
intermediary net/minecraft/class_2671
official dsw
-
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 TypeFieldDescriptionstatic final com.mojang.serialization.MapCodec
<PistonHeadBlock> protected static final VoxelShape
protected static final VoxelShape
protected static final VoxelShape
protected static final VoxelShape
static final float
protected static final float
protected static final float
protected static final float
private static final VoxelShape[]
protected static final VoxelShape
protected static final VoxelShape
static final BooleanProperty
protected static final VoxelShape
protected static final VoxelShape
private static final VoxelShape[]
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 EnumProperty
<PistonType> protected static final VoxelShape
protected static final VoxelShape
protected static final VoxelShape
protected static final VoxelShape
Fields inherited from class net.minecraft.block.FacingBlock
FACING
Fields inherited from class net.minecraft.block.Block
field_31023, field_31024, field_31025, field_31035, FORCE_STATE, MOVED, NO_REDRAW, NOTIFY_ALL, NOTIFY_ALL_AND_REDRAW, NOTIFY_LISTENERS, NOTIFY_NEIGHBORS, REDRAW_ON_MAIN_THREAD, SKIP_DROPS, STATE_IDS, stateManager
Fields inherited from class net.minecraft.block.AbstractBlock
collidable, DIRECTIONS, dynamicBounds, jumpVelocityMultiplier, lootTableKey, randomTicks, requiredFeatures, resistance, settings, slipperiness, soundGroup, velocityMultiplier
Fields inherited from interface net.minecraft.resource.featuretoggle.ToggleableFeature
FEATURE_ENABLED_REGISTRY_KEYS
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
appendProperties
(StateManager.Builder<Block, BlockState> builder) Appends block state properties to this block.protected boolean
canPathfindThrough
(BlockState state, NavigationType type) Returns if an entity using navigation typetype
can navigate through this block.protected boolean
canPlaceAt
(BlockState state, WorldView world, BlockPos pos) Returns whether the block can be placed atpos
.protected com.mojang.serialization.MapCodec
<PistonHeadBlock> getCodec()
private static VoxelShape
getHeadShape
(Direction direction, boolean shortHead) private static VoxelShape[]
getHeadShapes
(boolean shortHead) protected VoxelShape
getOutlineShape
(BlockState state, BlockView world, BlockPos pos, ShapeContext context) getPickStack
(WorldView world, BlockPos pos, BlockState state) Returns the new item stack when using pick block functionality.protected 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.protected boolean
hasSidedTransparency
(BlockState state) Returns whether the block's transparency depends on the side of the block, like slabs.private boolean
isAttached
(BlockState headState, BlockState pistonState) protected BlockState
mirror
(BlockState state, BlockMirror mirror) Returnsstate
mirrored bymirror
.protected void
neighborUpdate
(BlockState state, World world, BlockPos pos, Block sourceBlock, BlockPos sourcePos, boolean notify) Called when a neighboring block is updated.onBreak
(World world, BlockPos pos, BlockState state, PlayerEntity player) Called when a player breaks a block before the block is removed from the world.protected 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.protected BlockState
rotate
(BlockState state, BlockRotation rotation) Returnsstate
rotated byrotation
.Methods inherited from class net.minecraft.block.Block
afterBreak, appendTooltip, asBlock, asItem, canMobSpawnInside, cannotConnect, createCuboidShape, dropExperience, dropExperienceWhenMined, dropStack, dropStack, dropStacks, dropStacks, dropStacks, getBlastResistance, getBlockFromItem, getDefaultState, getDroppedStacks, getDroppedStacks, getJumpVelocityMultiplier, getName, getPlacementState, getRawIdFromState, getRegistryEntry, getShapesForStates, getSlipperiness, getStateFromRawId, getStateManager, getStateWithProperties, getTranslationKey, getVelocityMultiplier, hasDynamicBounds, hasTopRim, isFaceFullSquare, isShapeFullCube, onBroken, onDestroyedByExplosion, onEntityLand, onLandedUpon, onPlaced, onSteppedOn, postProcessState, precipitationTick, pushEntitiesUpBeforeBlockChange, randomDisplayTick, replace, replace, setDefaultState, shouldDrawSide, shouldDropItemsOnExplosion, sideCoversSmallSquare, spawnBreakParticles, toString
Methods inherited from class net.minecraft.block.AbstractBlock
calcBlockBreakingDelta, canBucketPlace, canReplace, createCodec, createScreenHandlerFactory, createSettingsCodec, emitsRedstonePower, getAmbientOcclusionLightLevel, getCameraCollisionShape, getCollisionShape, getComparatorOutput, getCullingShape, getDefaultMapColor, getDroppedStacks, getFluidState, getHardness, getLootTableKey, getMaxHorizontalModelOffset, getOpacity, getRaycastShape, getRenderingSeed, getRenderType, getRequiredFeatures, getSettings, getSidesShape, getSoundGroup, getStrongRedstonePower, getVerticalModelOffsetMultiplier, getWeakRedstonePower, hasComparatorOutput, hasRandomTicks, isCullingShapeFullCube, isShapeFullCube, isSideInvisible, isTransparent, onBlockAdded, onBlockBreakStart, onEntityCollision, onExploded, onProjectileHit, onStacksDropped, onSyncedBlockEvent, onUse, onUseWithItem, prepare, randomTick, scheduledTick
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
-
Field Details
-
CODEC
- Mappings:
Namespace Name Mixin selector named CODEC
Lnet/minecraft/block/PistonHeadBlock;CODEC:Lcom/mojang/serialization/MapCodec;
intermediary field_46531
Lnet/minecraft/class_2671;field_46531:Lcom/mojang/serialization/MapCodec;
official b
Ldsw;b:Lcom/mojang/serialization/MapCodec;
-
TYPE
- Mappings:
Namespace Name Mixin selector named TYPE
Lnet/minecraft/block/PistonHeadBlock;TYPE:Lnet/minecraft/state/property/EnumProperty;
intermediary field_12224
Lnet/minecraft/class_2671;field_12224:Lnet/minecraft/class_2754;
official c
Ldsw;c:Ldua;
-
SHORT
- Mappings:
Namespace Name Mixin selector named SHORT
Lnet/minecraft/block/PistonHeadBlock;SHORT:Lnet/minecraft/state/property/BooleanProperty;
intermediary field_12227
Lnet/minecraft/class_2671;field_12227:Lnet/minecraft/class_2746;
official d
Ldsw;d:Ldtt;
-
field_31377
public static final float field_31377- See Also:
- Mappings:
Namespace Name Mixin selector named field_31377
Lnet/minecraft/block/PistonHeadBlock;field_31377:F
intermediary field_31377
Lnet/minecraft/class_2671;field_31377:F
official e
Ldsw;e:F
-
EAST_HEAD_SHAPE
- Mappings:
Namespace Name Mixin selector named EAST_HEAD_SHAPE
Lnet/minecraft/block/PistonHeadBlock;EAST_HEAD_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
intermediary field_12222
Lnet/minecraft/class_2671;field_12222:Lnet/minecraft/class_265;
official f
Ldsw;f:Lexv;
-
WEST_HEAD_SHAPE
- Mappings:
Namespace Name Mixin selector named WEST_HEAD_SHAPE
Lnet/minecraft/block/PistonHeadBlock;WEST_HEAD_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
intermediary field_12214
Lnet/minecraft/class_2671;field_12214:Lnet/minecraft/class_265;
official g
Ldsw;g:Lexv;
-
SOUTH_HEAD_SHAPE
- Mappings:
Namespace Name Mixin selector named SOUTH_HEAD_SHAPE
Lnet/minecraft/block/PistonHeadBlock;SOUTH_HEAD_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
intermediary field_12228
Lnet/minecraft/class_2671;field_12228:Lnet/minecraft/class_265;
official h
Ldsw;h:Lexv;
-
NORTH_HEAD_SHAPE
- Mappings:
Namespace Name Mixin selector named NORTH_HEAD_SHAPE
Lnet/minecraft/block/PistonHeadBlock;NORTH_HEAD_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
intermediary field_12213
Lnet/minecraft/class_2671;field_12213:Lnet/minecraft/class_265;
official i
Ldsw;i:Lexv;
-
UP_HEAD_SHAPE
- Mappings:
Namespace Name Mixin selector named UP_HEAD_SHAPE
Lnet/minecraft/block/PistonHeadBlock;UP_HEAD_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
intermediary field_12230
Lnet/minecraft/class_2671;field_12230:Lnet/minecraft/class_265;
official j
Ldsw;j:Lexv;
-
DOWN_HEAD_SHAPE
- Mappings:
Namespace Name Mixin selector named DOWN_HEAD_SHAPE
Lnet/minecraft/block/PistonHeadBlock;DOWN_HEAD_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
intermediary field_12220
Lnet/minecraft/class_2671;field_12220:Lnet/minecraft/class_265;
official k
Ldsw;k:Lexv;
-
field_31378
protected static final float field_31378- See Also:
- Mappings:
Namespace Name Mixin selector named field_31378
Lnet/minecraft/block/PistonHeadBlock;field_31378:F
intermediary field_31378
Lnet/minecraft/class_2671;field_31378:F
official l
Ldsw;l:F
-
field_31379
protected static final float field_31379- See Also:
- Mappings:
Namespace Name Mixin selector named field_31379
Lnet/minecraft/block/PistonHeadBlock;field_31379:F
intermediary field_31379
Lnet/minecraft/class_2671;field_31379:F
official m
Ldsw;m:F
-
field_31380
protected static final float field_31380- See Also:
- Mappings:
Namespace Name Mixin selector named field_31380
Lnet/minecraft/block/PistonHeadBlock;field_31380:F
intermediary field_31380
Lnet/minecraft/class_2671;field_31380:F
official n
Ldsw;n:F
-
UP_ARM_SHAPE
- Mappings:
Namespace Name Mixin selector named UP_ARM_SHAPE
Lnet/minecraft/block/PistonHeadBlock;UP_ARM_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
intermediary field_12215
Lnet/minecraft/class_2671;field_12215:Lnet/minecraft/class_265;
official o
Ldsw;o:Lexv;
-
DOWN_ARM_SHAPE
- Mappings:
Namespace Name Mixin selector named DOWN_ARM_SHAPE
Lnet/minecraft/block/PistonHeadBlock;DOWN_ARM_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
intermediary field_12226
Lnet/minecraft/class_2671;field_12226:Lnet/minecraft/class_265;
official F
Ldsw;F:Lexv;
-
SOUTH_ARM_SHAPE
- Mappings:
Namespace Name Mixin selector named SOUTH_ARM_SHAPE
Lnet/minecraft/block/PistonHeadBlock;SOUTH_ARM_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
intermediary field_12221
Lnet/minecraft/class_2671;field_12221:Lnet/minecraft/class_265;
official G
Ldsw;G:Lexv;
-
NORTH_ARM_SHAPE
- Mappings:
Namespace Name Mixin selector named NORTH_ARM_SHAPE
Lnet/minecraft/block/PistonHeadBlock;NORTH_ARM_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
intermediary field_12229
Lnet/minecraft/class_2671;field_12229:Lnet/minecraft/class_265;
official H
Ldsw;H:Lexv;
-
EAST_ARM_SHAPE
- Mappings:
Namespace Name Mixin selector named EAST_ARM_SHAPE
Lnet/minecraft/block/PistonHeadBlock;EAST_ARM_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
intermediary field_12218
Lnet/minecraft/class_2671;field_12218:Lnet/minecraft/class_265;
official I
Ldsw;I:Lexv;
-
WEST_ARM_SHAPE
- Mappings:
Namespace Name Mixin selector named WEST_ARM_SHAPE
Lnet/minecraft/block/PistonHeadBlock;WEST_ARM_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
intermediary field_12223
Lnet/minecraft/class_2671;field_12223:Lnet/minecraft/class_265;
official J
Ldsw;J:Lexv;
-
SHORT_UP_ARM_SHAPE
- Mappings:
Namespace Name Mixin selector named SHORT_UP_ARM_SHAPE
Lnet/minecraft/block/PistonHeadBlock;SHORT_UP_ARM_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
intermediary field_12231
Lnet/minecraft/class_2671;field_12231:Lnet/minecraft/class_265;
official K
Ldsw;K:Lexv;
-
SHORT_DOWN_ARM_SHAPE
- Mappings:
Namespace Name Mixin selector named SHORT_DOWN_ARM_SHAPE
Lnet/minecraft/block/PistonHeadBlock;SHORT_DOWN_ARM_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
intermediary field_12217
Lnet/minecraft/class_2671;field_12217:Lnet/minecraft/class_265;
official L
Ldsw;L:Lexv;
-
SHORT_SOUTH_ARM_SHAPE
- Mappings:
Namespace Name Mixin selector named SHORT_SOUTH_ARM_SHAPE
Lnet/minecraft/block/PistonHeadBlock;SHORT_SOUTH_ARM_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
intermediary field_12216
Lnet/minecraft/class_2671;field_12216:Lnet/minecraft/class_265;
official M
Ldsw;M:Lexv;
-
SHORT_NORTH_ARM_SHAPE
- Mappings:
Namespace Name Mixin selector named SHORT_NORTH_ARM_SHAPE
Lnet/minecraft/block/PistonHeadBlock;SHORT_NORTH_ARM_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
intermediary field_12225
Lnet/minecraft/class_2671;field_12225:Lnet/minecraft/class_265;
official N
Ldsw;N:Lexv;
-
SHORT_EAST_ARM_SHAPE
- Mappings:
Namespace Name Mixin selector named SHORT_EAST_ARM_SHAPE
Lnet/minecraft/block/PistonHeadBlock;SHORT_EAST_ARM_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
intermediary field_12219
Lnet/minecraft/class_2671;field_12219:Lnet/minecraft/class_265;
official O
Ldsw;O:Lexv;
-
SHORT_WEST_ARM_SHAPE
- Mappings:
Namespace Name Mixin selector named SHORT_WEST_ARM_SHAPE
Lnet/minecraft/block/PistonHeadBlock;SHORT_WEST_ARM_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
intermediary field_12212
Lnet/minecraft/class_2671;field_12212:Lnet/minecraft/class_265;
official P
Ldsw;P:Lexv;
-
SHORT_HEAD_SHAPES
- Mappings:
Namespace Name Mixin selector named SHORT_HEAD_SHAPES
Lnet/minecraft/block/PistonHeadBlock;SHORT_HEAD_SHAPES:[Lnet/minecraft/util/shape/VoxelShape;
intermediary field_26660
Lnet/minecraft/class_2671;field_26660:[Lnet/minecraft/class_265;
official Q
Ldsw;Q:[Lexv;
-
HEAD_SHAPES
- Mappings:
Namespace Name Mixin selector named HEAD_SHAPES
Lnet/minecraft/block/PistonHeadBlock;HEAD_SHAPES:[Lnet/minecraft/util/shape/VoxelShape;
intermediary field_26661
Lnet/minecraft/class_2671;field_26661:[Lnet/minecraft/class_265;
official R
Ldsw;R:[Lexv;
-
-
Constructor Details
-
PistonHeadBlock
- Mappings:
Namespace Name Mixin selector named <init>
Lnet/minecraft/block/AbstractBlock;<init>(Lnet/minecraft/block/AbstractBlock$Settings;)V
intermediary <init>
Lnet/minecraft/class_4970;<init>(Lnet/minecraft/class_4970$class_2251;)V
official <init>
Ldtb;<init>(Ldtb$d;)V
-
-
Method Details
-
getCodec
- Specified by:
getCodec
in classFacingBlock
- 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
Ldtb;a()Lcom/mojang/serialization/MapCodec;
-
getHeadShapes
- Mappings:
Namespace Name Mixin selector named getHeadShapes
Lnet/minecraft/block/PistonHeadBlock;getHeadShapes(Z)[Lnet/minecraft/util/shape/VoxelShape;
intermediary method_31019
Lnet/minecraft/class_2671;method_31019(Z)[Lnet/minecraft/class_265;
official a
Ldsw;a(Z)[Lexv;
-
getHeadShape
- Mappings:
Namespace Name Mixin selector named getHeadShape
Lnet/minecraft/block/PistonHeadBlock;getHeadShape(Lnet/minecraft/util/math/Direction;Z)Lnet/minecraft/util/shape/VoxelShape;
intermediary method_11520
Lnet/minecraft/class_2671;method_11520(Lnet/minecraft/class_2350;Z)Lnet/minecraft/class_265;
official a
Ldsw;a(Lji;Z)Lexv;
-
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
- See Also:
- Mappings:
Namespace Name Mixin selector named hasSidedTransparency
Lnet/minecraft/block/AbstractBlock;hasSidedTransparency(Lnet/minecraft/block/BlockState;)Z
intermediary method_9526
Lnet/minecraft/class_4970;method_9526(Lnet/minecraft/class_2680;)Z
official f_
Ldtb;f_(Ldtc;)Z
-
getOutlineShape
protected VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) - Overrides:
getOutlineShape
in classAbstractBlock
- 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
Ldtb;a(Ldtc;Ldcc;Ljd;Lexh;)Lexv;
-
isAttached
- Mappings:
Namespace Name Mixin selector named isAttached
Lnet/minecraft/block/PistonHeadBlock;isAttached(Lnet/minecraft/block/BlockState;Lnet/minecraft/block/BlockState;)Z
intermediary method_26980
Lnet/minecraft/class_2671;method_26980(Lnet/minecraft/class_2680;Lnet/minecraft/class_2680;)Z
official a
Ldsw;a(Ldtc;Ldtc;)Z
-
onBreak
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)
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:
onBreak
in classBlock
- 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
Ldfy;a(Ldcw;Ljd;Ldtc;Lcmx;)Ldtc;
-
onStateReplaced
protected 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.For most block entities,
ItemScatterer.onStateReplaced(net.minecraft.block.BlockState, net.minecraft.block.BlockState, net.minecraft.world.World, net.minecraft.util.math.BlockPos)
provides a good implementation of this method. Make sure to callsuper.onStateReplaced(state, world, pos, newState, moved);
after invokingItemScatterer
methods.- Overrides:
onStateReplaced
in classAbstractBlock
- See Also:
- Mappings:
Namespace Name Mixin selector 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
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
official a
Ldtb;a(Ldtc;Ldcw;Ljd;Ldtc;Z)V
-
getStateForNeighborUpdate
protected 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 withcanPlaceAt(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
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:
- Mappings:
Namespace Name Mixin selector 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;
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;
official a
Ldtb;a(Ldtc;Lji;Ldtc;Ldcx;Ljd;Ljd;)Ldtc;
-
canPlaceAt
Returns whether the block can be placed atpos
.Blocks with supporting block requirements should override this method. Note that this should also be checked manually during
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 order to break the block that lost its supporting block.This is only checked during the use of block items or by endermen, falling blocks, etc that can place blocks. This does not affect block state changes performed through
World.setBlockState(BlockPos, BlockState)
call.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:
canPlaceAt
in classAbstractBlock
- Returns:
- whether the block can be placed at
pos
- See Also:
- Mappings:
Namespace Name Mixin selector named canPlaceAt
Lnet/minecraft/block/AbstractBlock;canPlaceAt(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/WorldView;Lnet/minecraft/util/math/BlockPos;)Z
intermediary method_9558
Lnet/minecraft/class_4970;method_9558(Lnet/minecraft/class_2680;Lnet/minecraft/class_4538;Lnet/minecraft/class_2338;)Z
official a
Ldtb;a(Ldtc;Ldcz;Ljd;)Z
-
neighborUpdate
protected void neighborUpdate(BlockState state, World world, BlockPos pos, Block sourceBlock, BlockPos sourcePos, boolean notify) Called when a neighboring block is updated. This method should be overridden to perform an action with a side effect, most notably an activation of a redstone component. This can also be used to perform an action changing block states of other blocks, such asSpongeBlock
which absorbs water.To replace the state of the block itself, override
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)
instead.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:
neighborUpdate
in classAbstractBlock
- See Also:
- Mappings:
Namespace Name Mixin selector named neighborUpdate
Lnet/minecraft/block/AbstractBlock;neighborUpdate(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/Block;Lnet/minecraft/util/math/BlockPos;Z)V
intermediary method_9612
Lnet/minecraft/class_4970;method_9612(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2248;Lnet/minecraft/class_2338;Z)V
official a
Ldtb;a(Ldtc;Ldcw;Ljd;Ldfy;Ljd;Z)V
-
getPickStack
Returns the new item stack when using pick block functionality.Pick block is available via middle-clicking by default. Blocks without the corresponding
BlockItem
, such as crops, should override this method to return the correct item stack.- Overrides:
getPickStack
in classBlock
- Returns:
- the new item stack when using pick block functionality
- Mappings:
Namespace Name Mixin selector named getPickStack
Lnet/minecraft/block/Block;getPickStack(Lnet/minecraft/world/WorldView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)Lnet/minecraft/item/ItemStack;
intermediary method_9574
Lnet/minecraft/class_2248;method_9574(Lnet/minecraft/class_4538;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)Lnet/minecraft/class_1799;
official a
Ldfy;a(Ldcz;Ljd;Ldtc;)Lcuq;
-
rotate
Returnsstate
rotated byrotation
.By default, this returns the provided block state.
- Overrides:
rotate
in classAbstractBlock
- Returns:
state
rotated byrotation
- See Also:
- Mappings:
Namespace Name Mixin selector named rotate
Lnet/minecraft/block/AbstractBlock;rotate(Lnet/minecraft/block/BlockState;Lnet/minecraft/util/BlockRotation;)Lnet/minecraft/block/BlockState;
intermediary method_9598
Lnet/minecraft/class_4970;method_9598(Lnet/minecraft/class_2680;Lnet/minecraft/class_2470;)Lnet/minecraft/class_2680;
official a
Ldtb;a(Ldtc;Ldmm;)Ldtc;
-
mirror
Returnsstate
mirrored bymirror
.By default, this returns the provided block state.
- Overrides:
mirror
in classAbstractBlock
- Returns:
state
mirrored bymirror
- See Also:
- Mappings:
Namespace Name Mixin selector named mirror
Lnet/minecraft/block/AbstractBlock;mirror(Lnet/minecraft/block/BlockState;Lnet/minecraft/util/BlockMirror;)Lnet/minecraft/block/BlockState;
intermediary method_9569
Lnet/minecraft/class_4970;method_9569(Lnet/minecraft/class_2680;Lnet/minecraft/class_2415;)Lnet/minecraft/class_2680;
official a
Ldtb;a(Ldtc;Ldkv;)Ldtc;
-
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 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
Ldfy;a(Ldtd$a;)V
-