yarn/mappings/net/minecraft/block/AbstractBlock.mapping

1341 lines
62 KiB
Plaintext

CLASS net/minecraft/class_4970 net/minecraft/block/AbstractBlock
COMMENT An abstract class that defines some logic for {@link Block blocks}.
COMMENT <strong>This class should not be extended directly. Extend {@link Block} instead.</strong>
COMMENT Custom block behaviors are specified either through {@linkplain AbstractBlock.Settings
COMMENT block settings} or by overriding methods in this class.
COMMENT
COMMENT <p>Methods in this class may be executed during world generation if they take
COMMENT {@link WorldAccess} as a parameter. In this case, a {@link net.minecraft.world.ChunkRegion}
COMMENT is passed to the parameter, which is not a subclass of {@link World}.
COMMENT
COMMENT @apiNote In vanilla subclasses, these methods are called either to do the
COMMENT default behavior (e.g. {@code super.onUse(...)}). Because the methods are {@code protected},
COMMENT you must use these methods via the corresponding method in {@link
COMMENT AbstractBlockState}.
COMMENT
COMMENT <p>Many methods of this class are called on both the logical client and logical server,
COMMENT so take caution when using those methods. The logical side can be checked using
COMMENT {@link World#isClient}.
COMMENT
COMMENT <h2 id=quick-view>Quick view</h2>
COMMENT <p><strong>Notes</strong>: "Tall or wide block" refers to a block that
COMMENT has multiple parts, such as doors, sunflowers, or beds. "Neighboring
COMMENT block" refers to blocks adjacent to a block on all 6 sides (but not
COMMENT diagonally.)
COMMENT
COMMENT <h3 id=placement>Placement related methods</h3>
COMMENT <table>
COMMENT <caption>Block placement related methods (sorted by execution order)</caption>
COMMENT <thead>
COMMENT <tr>
COMMENT <th>Method</th>
COMMENT <th>Purpose</th>
COMMENT <th>Player/dispenser</th>
COMMENT <th>Falling block</th>
COMMENT <th>{@link World#setBlockState(BlockPos, BlockState) setBlockState} call</th>
COMMENT </tr>
COMMENT </thead>
COMMENT <tbody>
COMMENT <tr>
COMMENT <td>oldState.{@link #canReplace canReplace}</td>
COMMENT <td>Checking if the current block can be replaced</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT <td>No</td>
COMMENT </tr>
COMMENT <tr>
COMMENT <td>newBlock.{@link Block#getPlacementState getPlacementState}</td>
COMMENT <td>Getting the placed state</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT <td>No</td>
COMMENT </tr>
COMMENT <tr>
COMMENT <td>newState.{@link #canPlaceAt canPlaceAt}</td>
COMMENT <td>Checking the block's placement restriction</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT <td>No</td>
COMMENT </tr>
COMMENT <tr>
COMMENT <td>oldState.{@link #onStateReplaced onStateReplaced}</td>
COMMENT <td>Dropping inventory, updating redstone circuit, etc</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT </tr>
COMMENT <tr>
COMMENT <td>newState.{@link #onBlockAdded onBlockAdded}</td>
COMMENT <td>Activating redstone component, etc</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT </tr>
COMMENT <tr>
COMMENT <td>neighborState.{@link #neighborUpdate neighborUpdate}</td>
COMMENT <td>Activating neighboring redstone component, etc</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT </tr>
COMMENT <tr>
COMMENT <td>oldState.{@link #prepare prepare}</td>
COMMENT <td>Updating redstone wire connection</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT </tr>
COMMENT <tr>
COMMENT <td>neighborState.{@link #getStateForNeighborUpdate getStateForNeighborUpdate}</td>
COMMENT <td>Checking the neighboring block's placement restriction, updating connection, etc</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT </tr>
COMMENT <tr>
COMMENT <td>newState.{@link #prepare prepare}</td>
COMMENT <td>Updating redstone wire connection</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT </tr>
COMMENT <tr>
COMMENT <td>newBlock.{@link Block#onPlaced onPlaced}</td>
COMMENT <td>Placing the other half of tall or wide block, setting block entity's custom name, etc</td>
COMMENT <td>Yes</td>
COMMENT <td>No</td>
COMMENT <td>No</td>
COMMENT </tr>
COMMENT </tbody>
COMMENT </table>
COMMENT
COMMENT <h3 id=breaking>Breaking related methods</h3>
COMMENT <table>
COMMENT <caption>Block breaking related methods (sorted by execution order)</caption>
COMMENT <thead>
COMMENT <tr>
COMMENT <th>Method</th>
COMMENT <th>Purpose</th>
COMMENT <th>Player mining</th>
COMMENT <th>Explosion</th>
COMMENT <th>{@link World#setBlockState(BlockPos, BlockState) setBlockState} / {@link net.minecraft.world.ModifiableWorld#removeBlock(BlockPos, boolean) removeBlock} call</th>
COMMENT <th>{@link net.minecraft.world.ModifiableWorld#breakBlock(BlockPos, boolean) breakBlock} call</th>
COMMENT </tr>
COMMENT </thead>
COMMENT <tbody>
COMMENT <tr>
COMMENT <td>state.{@link #onBlockBreakStart onBlockBreakStart}</td>
COMMENT <td>Doing something when player starts breaking a block</td>
COMMENT <td>Yes</td>
COMMENT <td>No</td>
COMMENT <td>No</td>
COMMENT <td>No</td>
COMMENT </tr>
COMMENT <tr>
COMMENT <td>state.{@link #calcBlockBreakingDelta calcBlockBreakingDelta}</td>
COMMENT <td>Calculating the player's mining speed</td>
COMMENT <td>Yes</td>
COMMENT <td>No</td>
COMMENT <td>No</td>
COMMENT <td>No</td>
COMMENT </tr>
COMMENT <tr>
COMMENT <td>block.{@link Block#onBreak onBreak}</td>
COMMENT <td>Spawning particles, breaking the other half of tall or wide block, etc</td>
COMMENT <td>Yes</td>
COMMENT <td>No</td>
COMMENT <td>No</td>
COMMENT <td>No</td>
COMMENT </tr>
COMMENT <tr>
COMMENT <td>state.{@link #onStateReplaced onStateReplaced}</td>
COMMENT <td>Dropping inventory, updating redstone circuit, etc</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT </tr>
COMMENT <tr>
COMMENT <td>neighborState.{@link #neighborUpdate neighborUpdate}</td>
COMMENT <td>Activating neighboring redstone component, etc</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT </tr>
COMMENT <tr>
COMMENT <td>state.{@link #prepare prepare}</td>
COMMENT <td>Updating redstone wire connection</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT </tr>
COMMENT <tr>
COMMENT <td>neighborState.{@link #getStateForNeighborUpdate getStateForNeighborUpdate}</td>
COMMENT <td>Checking the neighboring block's placement restriction, updating connection, etc</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT </tr>
COMMENT <tr>
COMMENT <td>block.{@link Block#onBroken onBroken}</td>
COMMENT <td>Unused in most cases</td>
COMMENT <td>Yes</td>
COMMENT <td>No</td>
COMMENT <td>No</td>
COMMENT <td>No</td>
COMMENT </tr>
COMMENT <tr>
COMMENT <td>block.{@link Block#afterBreak afterBreak}</td>
COMMENT <td>Dropping stacks, replacing the broken block with another block, etc</td>
COMMENT <td>Yes</td>
COMMENT <td>No</td>
COMMENT <td>No</td>
COMMENT <td>No</td>
COMMENT </tr>
COMMENT <tr>
COMMENT <td>state.{@link #getDroppedStacks getDroppedStacks}</td>
COMMENT <td>Supplying information to loot context builder</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes<sup>1</sup></td>
COMMENT </tr>
COMMENT <tr>
COMMENT <td>state.{@link #onStacksDropped onStacksDropped}</td>
COMMENT <td>Dropping experience orbs</td>
COMMENT <td>Yes</td>
COMMENT <td>Yes<sup>2</sup></td>
COMMENT <td>Yes</td>
COMMENT <td>Yes<sup>1</sup></td>
COMMENT </tr>
COMMENT </tbody>
COMMENT </table>
COMMENT
COMMENT <p>Notes:
COMMENT <ol>
COMMENT <li>Called before {@link #onStateReplaced onStateReplaced} in this case.</li>
COMMENT <li>Called before {@link #getDroppedStacks getDroppedStacks} in this case.</li>
COMMENT </ol>
FIELD field_23154 dynamicBounds Z
FIELD field_23155 settings Lnet/minecraft/class_4970$class_2251;
FIELD field_23156 lootTableId Lnet/minecraft/class_2960;
FIELD field_23157 DIRECTIONS [Lnet/minecraft/class_2350;
FIELD field_23159 collidable Z
FIELD field_23160 resistance F
FIELD field_23161 randomTicks Z
FIELD field_23162 soundGroup Lnet/minecraft/class_2498;
FIELD field_23163 slipperiness F
FIELD field_23164 velocityMultiplier F
FIELD field_23165 jumpVelocityMultiplier F
FIELD field_40337 requiredFeatures Lnet/minecraft/class_7699;
METHOD <init> (Lnet/minecraft/class_4970$class_2251;)V
ARG 1 settings
METHOD method_17454 createScreenHandlerFactory (Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;)Lnet/minecraft/class_3908;
COMMENT {@return the screen handler factory or {@code null} if screen handler cannot be created}
COMMENT
COMMENT <p>This method should be overridden for blocks with screen handlers, such as anvils.
COMMENT The created screen handler is usually passed to {@link PlayerEntity#openHandledScreen}.
COMMENT See {@link AnvilBlock#createScreenHandlerFactory} for basic usage. {@link BlockWithEntity}
COMMENT delegates this logic to the block entity implementing {@link
COMMENT net.minecraft.screen.NamedScreenHandlerFactory}. For example, any {@link BlockWithEntity} whose block entity
COMMENT extends {@link net.minecraft.block.entity.LockableContainerBlockEntity} needs to override
COMMENT {@link net.minecraft.block.entity.LockableContainerBlockEntity#createScreenHandler}
COMMENT instead of this method.
COMMENT
COMMENT <p>This method is called on both the logical client and logical server, so take caution
COMMENT when overriding this method. The logical side can be checked using {@link
COMMENT World#isClient}.
COMMENT
COMMENT @see AbstractBlockState#createScreenHandlerFactory
COMMENT @see net.minecraft.screen.SimpleNamedScreenHandlerFactory
COMMENT @see net.minecraft.block.entity.LockableContainerBlockEntity
ARG 1 state
ARG 2 world
ARG 3 pos
METHOD method_19286 onProjectileHit (Lnet/minecraft/class_1937;Lnet/minecraft/class_2680;Lnet/minecraft/class_3965;Lnet/minecraft/class_1676;)V
COMMENT Called when a {@link ProjectileEntity} hits a block.
COMMENT
COMMENT <p>This method is called on both the logical client and logical server, so take caution
COMMENT when overriding this method. The logical side can be checked using {@link
COMMENT World#isClient}.
COMMENT
COMMENT <p>Here are some examples:
COMMENT <ul>
COMMENT <li>{@link TargetBlock} activates.</li>
COMMENT <li>{@link BellBlock} rings.</li>
COMMENT <li>{@link LightningRodBlock} spawns a lightning.</li>
COMMENT <li>{@link AbstractCandleBlock} lights on fire when hit by a projectile on fire.</li>
COMMENT </ul>
COMMENT
COMMENT @see AbstractBlockState#onProjectileHit
COMMENT @see ProjectileEntity#onBlockHit
COMMENT @see #onEntityCollision
ARG 1 world
ARG 2 state
ARG 3 hit
ARG 4 projectile
METHOD method_22358 canBucketPlace (Lnet/minecraft/class_2680;Lnet/minecraft/class_3611;)Z
COMMENT {@return whether a bucket can replace the block with the fluid}
COMMENT
COMMENT <p>By default, this checks if the block allows replacing or is not solid.
COMMENT Blocks intended to be unbreakable should override this to implement additional checks.
COMMENT
COMMENT <p>This method is called on both the logical client and logical server, so take caution
COMMENT when overriding this method. The logical side can be checked using {@link
COMMENT World#isClient}.
COMMENT
COMMENT @see AbstractBlockState#canBucketPlace
COMMENT @see #canReplace
COMMENT @see AbstractBlockState#isReplaceable
ARG 1 state
ARG 2 fluid
METHOD method_25959 getSidesShape (Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Lnet/minecraft/class_265;
COMMENT @see AbstractBlockState#getSidesShape
ARG 1 state
ARG 2 world
ARG 3 pos
METHOD method_26159 getCameraCollisionShape (Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_3726;)Lnet/minecraft/class_265;
COMMENT @see AbstractBlockState#getCameraCollisionShape
ARG 1 state
ARG 2 world
ARG 3 pos
ARG 4 context
METHOD method_26160 asBlock ()Lnet/minecraft/class_2248;
COMMENT {@return the block as {@link Block}}
COMMENT
COMMENT <p>This is used for casting purposes.
METHOD method_26162 getLootTableId ()Lnet/minecraft/class_2960;
METHOD method_26403 getDefaultMapColor ()Lnet/minecraft/class_3620;
METHOD method_32913 getMaxHorizontalModelOffset ()F
METHOD method_36555 getHardness ()F
METHOD method_37247 getVerticalModelOffsetMultiplier ()F
METHOD method_37403 isShapeFullCube (Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Z
COMMENT @see AbstractBlockState#isFullCube
ARG 1 state
ARG 2 world
ARG 3 pos
METHOD method_42326 isCullingShapeFullCube (Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Z
ARG 1 state
ARG 2 world
ARG 3 pos
METHOD method_53969 getCodec ()Lcom/mojang/serialization/MapCodec;
METHOD method_54093 (Ljava/util/function/Function;Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/kinds/App;
ARG 1 instance
METHOD method_54094 createCodec (Ljava/util/function/Function;)Lcom/mojang/serialization/MapCodec;
ARG 0 blockFromSettings
METHOD method_54095 getSettings ()Lnet/minecraft/class_4970$class_2251;
METHOD method_54096 createSettingsCodec ()Lcom/mojang/serialization/codecs/RecordCodecBuilder;
METHOD method_55124 onExploded (Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1927;Ljava/util/function/BiConsumer;)V
ARG 1 state
ARG 2 world
ARG 3 pos
ARG 4 explosion
ARG 5 stackMerger
METHOD method_55224 (Ljava/util/function/BiConsumer;Lnet/minecraft/class_2338;Lnet/minecraft/class_1799;)V
ARG 2 stack
METHOD method_55765 onUseWithItem (Lnet/minecraft/class_1799;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_9062;
ARG 1 stack
ARG 2 state
ARG 3 world
ARG 4 pos
ARG 5 player
ARG 6 hand
ARG 7 hit
METHOD method_55766 onUse (Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1657;Lnet/minecraft/class_3965;)Lnet/minecraft/class_1269;
ARG 1 state
ARG 2 world
ARG 3 pos
ARG 4 player
ARG 5 hit
METHOD method_8389 asItem ()Lnet/minecraft/class_1792;
COMMENT {@return the block's corresponding item}
COMMENT
COMMENT <p>This is not affected by loot tables. Blocks without corresponding items,
COMMENT such as piston head, will return {@link net.minecraft.item.Items#AIR}.
COMMENT
COMMENT @see net.minecraft.item.BlockItem
METHOD method_9498 hasComparatorOutput (Lnet/minecraft/class_2680;)Z
COMMENT {@return whether the block can have a comparator output}
COMMENT
COMMENT <p>This does not check the current comparator output of the block.
COMMENT Use {@link #getComparatorOutput} in that case.
COMMENT
COMMENT @see AbstractBlockState#hasComparatorOutput
COMMENT
COMMENT @see #getComparatorOutput
ARG 1 state
METHOD method_9505 getOpacity (Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)I
COMMENT @see AbstractBlockState#getOpacity
ARG 1 state
ARG 2 world
ARG 3 pos
METHOD method_9506 emitsRedstonePower (Lnet/minecraft/class_2680;)Z
COMMENT {@return whether the block is capable of emitting redstone power}
COMMENT
COMMENT <p>This does not return whether the block is currently emitting redstone power.
COMMENT Use {@link World#isEmittingRedstonePower} in that case.
COMMENT
COMMENT @see AbstractBlockState#emitsRedstonePower
COMMENT
COMMENT @see World#isEmittingRedstonePower
ARG 1 state
METHOD method_9514 randomTick (Lnet/minecraft/class_2680;Lnet/minecraft/class_3218;Lnet/minecraft/class_2338;Lnet/minecraft/class_5819;)V
COMMENT Called server-side when a block gets ticked randomly. This can be overridden to implement
COMMENT various logics, most commonly plant growth. Default implementation calls
COMMENT {@link #scheduledTick}. To control the rate of the action, use {@code random}.
COMMENT
COMMENT <p>Random tick speed is controlled by the game rule {@link
COMMENT net.minecraft.world.GameRules#RANDOM_TICK_SPEED randomTickSpeed} and can be disabled.
COMMENT Only blocks within 128-block cylinder (i.e. ignoring Y coordinates) around players
COMMENT receive random ticks.
COMMENT
COMMENT <p>Blocks overriding this must use {@link AbstractBlock.Settings#ticksRandomly}
COMMENT block settings.
COMMENT
COMMENT <p>Here are some examples:
COMMENT <ul>
COMMENT <li>{@link SugarCaneBlock} uses this to grow sugar cane.</li>
COMMENT <li>{@link OxidizableBlock} uses this to oxidize.</li>
COMMENT <li>{@link NetherPortalBlock} uses this to spawn zombified piglins.</li>
COMMENT <li>{@link LeavesBlock} uses this to decay when far from logs.</li>
COMMENT </ul>
COMMENT
COMMENT @see AbstractBlockState#randomTick
COMMENT
COMMENT @see CropBlock
COMMENT @see #scheduledTick
ARG 1 state
ARG 2 world
ARG 3 pos
ARG 4 random
METHOD method_9516 canPathfindThrough (Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_10;)Z
COMMENT {@return if an entity using navigation type {@code type} can navigate through this block}
COMMENT
COMMENT @apiNote Subclasses may override this to prevent or restrict pathfinding through the
COMMENT block. For example, {@link DoorBlock} restricts it to open doors only.
COMMENT
COMMENT @see AbstractBlockState#canPathfindThrough
ARG 1 state
ARG 2 world
ARG 3 pos
ARG 4 type
METHOD method_9517 prepare (Lnet/minecraft/class_2680;Lnet/minecraft/class_1936;Lnet/minecraft/class_2338;II)V
COMMENT Called when the block state changes, before the {@linkplain #getStateForNeighborUpdate
COMMENT neighbor-triggered state update} on the original block, and after the
COMMENT neighbor-triggered state update on the replaced block.
COMMENT
COMMENT <p>This method is called on both the logical client and logical server, so take caution
COMMENT when overriding this method. The logical side can be checked using {@link
COMMENT World#isClient}.
COMMENT
COMMENT @apiNote This is used by {@link RedstoneWireBlock} to update connected redstone wire.
COMMENT
COMMENT @see AbstractBlockState#prepare(WorldAccess, BlockPos, int, int)
COMMENT @see #getStateForNeighborUpdate
COMMENT @see #neighborUpdate
ARG 1 state
ARG 2 world
ARG 3 pos
ARG 4 flags
ARG 5 maxUpdateDepth
METHOD method_9522 isSideInvisible (Lnet/minecraft/class_2680;Lnet/minecraft/class_2680;Lnet/minecraft/class_2350;)Z
COMMENT @see AbstractBlockState#isSideInvisible
ARG 1 state
ARG 2 stateFrom
ARG 3 direction
METHOD method_9524 getWeakRedstonePower (Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;)I
COMMENT {@return the weak redstone power emitted from the block}
COMMENT
COMMENT <p>When overriding this, make sure to also override {@link #emitsRedstonePower} to
COMMENT return {@code true}.
COMMENT
COMMENT <p>Weak redstone power is a power that cannot power a redstone wire when a solid block
COMMENT is in between. For example, {@link RedstoneBlock} and {@link TargetBlock} emits weak
COMMENT redstone power only. {@link LeverBlock} and {@link ButtonBlock} emits both
COMMENT weak and strong redstone power depending on the direction.
COMMENT
COMMENT @see AbstractBlockState#getWeakRedstonePower
COMMENT
COMMENT @see #emitsRedstonePower
COMMENT @see #getStrongRedstonePower
COMMENT @see net.minecraft.world.RedstoneView#isReceivingRedstonePower
ARG 1 state
ARG 2 world
ARG 3 pos
ARG 4 direction
METHOD method_9526 hasSidedTransparency (Lnet/minecraft/class_2680;)Z
COMMENT {@return whether the block's transparency depends on the side of the block, like slabs}
COMMENT
COMMENT @see AbstractBlockState#hasSidedTransparency
ARG 1 state
METHOD method_9530 getOutlineShape (Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_3726;)Lnet/minecraft/class_265;
COMMENT @see AbstractBlockState#getOutlineShape(BlockView, BlockPos, ShapeContext)
ARG 1 state
ARG 2 world
ARG 3 pos
ARG 4 context
METHOD method_9535 getRenderingSeed (Lnet/minecraft/class_2680;Lnet/minecraft/class_2338;)J
COMMENT {@return the seed value for rendering}
COMMENT
COMMENT <p>This is usually the hash code of {@code pos}. Tall or wide blocks (such as doors or
COMMENT beds) should override this to make sure both parts of the block have the same seed.
COMMENT
COMMENT @see AbstractBlockState#getRenderingSeed
ARG 1 state
ARG 2 pos
METHOD method_9536 onStateReplaced (Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Z)V
COMMENT Called server-side on the old block when the block state is changed. This includes block
COMMENT removal. This is used to update neighboring blocks when an active redstone power source
COMMENT is removed, or to drop the contents of an inventory. The check {@code
COMMENT state.isOf(newState.getBlock())} can be used to see if the block was removed or not.
COMMENT
COMMENT <p>For most block entities, {@link net.minecraft.util.ItemScatterer#onStateReplaced}
COMMENT provides a good implementation of this method. Make sure to call {@code
COMMENT super.onStateReplaced(state, world, pos, newState, moved);} <strong>after</strong>
COMMENT invoking {@code ItemScatterer} methods.
COMMENT
COMMENT @see AbstractBlockState#onStateReplaced
COMMENT
COMMENT @see net.minecraft.util.ItemScatterer#onStateReplaced
COMMENT @see net.minecraft.util.ItemScatterer#spawn(World, BlockPos, net.minecraft.inventory.Inventory)
COMMENT @see #onBlockAdded
ARG 1 state
ARG 2 world
ARG 3 pos
ARG 4 newState
ARG 5 moved
METHOD method_9542 hasRandomTicks (Lnet/minecraft/class_2680;)Z
ARG 1 state
METHOD method_9545 getFluidState (Lnet/minecraft/class_2680;)Lnet/minecraft/class_3610;
COMMENT {@return the state's associated fluid state}
COMMENT
COMMENT <p>{@linkplain Waterloggable Waterloggable blocks} must override this to return {@code Fluids.WATER.getStill(false)}
COMMENT when waterlogged.
COMMENT
COMMENT @see AbstractBlockState#getFluidState
COMMENT @see net.minecraft.fluid.Fluids#WATER
ARG 1 state
METHOD method_9548 onEntityCollision (Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1297;)V
COMMENT Called when the entity's collision box intersects the block. Therefore,
COMMENT this method is not called for blocks with a collision; use {@link Block#onSteppedOn}
COMMENT for those blocks.
COMMENT
COMMENT <p>This method is called on both the logical client and logical server, so take caution
COMMENT when overriding this method. The logical side can be checked using {@link
COMMENT World#isClient}.
COMMENT
COMMENT <p>Here are some examples:
COMMENT <ul>
COMMENT <li>{@link CactusBlock} damages the entity.</li>
COMMENT <li>{@link AbstractPressurePlateBlock} triggers.</li>
COMMENT <li>{@link CobwebBlock} slows the entity.</li>
COMMENT <li>{@link EndPortalBlock} teleports the entity.</li>
COMMENT <li>{@link HopperBlock} collects the item entity.</li>
COMMENT </ul>
COMMENT
COMMENT @see AbstractBlockState#onEntityCollision
COMMENT @see Block#onSteppedOn
COMMENT @see #onProjectileHit
ARG 1 state
ARG 2 world
ARG 3 pos
ARG 4 entity
METHOD method_9549 getCollisionShape (Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_3726;)Lnet/minecraft/class_265;
COMMENT @see AbstractBlockState#getCollisionShape(BlockView, BlockPos, ShapeContext)
ARG 1 state
ARG 2 world
ARG 3 pos
ARG 4 context
METHOD method_9558 canPlaceAt (Lnet/minecraft/class_2680;Lnet/minecraft/class_4538;Lnet/minecraft/class_2338;)Z
COMMENT {@return whether the block can be placed at {@code pos}}
COMMENT
COMMENT <p>Blocks with supporting block requirements should override this method. Note that
COMMENT this should also be checked manually during {@link #getStateForNeighborUpdate}
COMMENT in order to break the block that lost its supporting block.
COMMENT
COMMENT <p>This is only checked during {@linkplain net.minecraft.item.BlockItem#canPlace the
COMMENT use of block items} or by endermen, falling blocks, etc that can place blocks. This
COMMENT does not affect block state changes performed through {@link
COMMENT World#setBlockState(BlockPos, BlockState)} call.
COMMENT
COMMENT <p>This method is called on both the logical client and logical server, so take caution
COMMENT when overriding this method. The logical side can be checked using {@link
COMMENT World#isClient}.
COMMENT
COMMENT @see AbstractBlockState#canPlaceAt
COMMENT @see #getStateForNeighborUpdate
ARG 1 state
ARG 2 world
ARG 3 pos
METHOD method_9559 getStateForNeighborUpdate (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;
COMMENT {@return the state of the block after a neighboring block's state change}
COMMENT
COMMENT <p>Returning {@link Blocks#AIR} breaks the block. This is useful to implement supporting
COMMENT block requirement for blocks (if used along with {@link #canPlaceAt}).
COMMENT
COMMENT <p>Side effects like activating a redstone component (but not scheduling a tick)
COMMENT should be performed in {@link #neighborUpdate} instead. If the block supports
COMMENT waterlogging and currently has water, this method should be overridden to tick the
COMMENT fluid at the block's position.
COMMENT
COMMENT <p>This method is called on both the logical client and logical server, so take caution
COMMENT when overriding this method. The logical side can be checked using {@link
COMMENT World#isClient}. This is not called if {@link Block#FORCE_STATE} flag is set in the {@code
COMMENT setBlockState} call.
COMMENT
COMMENT <p>This method can be used for multiple purposes. Here are some examples:
COMMENT <ul>
COMMENT <li>{@link FenceBlock} uses it to update the fence's connection when a horizontally
COMMENT neighboring block's state is changed.</li>
COMMENT <li>{@link PlantBlock} uses it to break the plant if the state change causes it to
COMMENT lose its supporting block.</li>
COMMENT <li>{@link DoorBlock} uses it to copy the state of the other half of the door.</li>
COMMENT <li>{@link SlabBlock} uses it to schedule the fluid to tick if waterlogged.</li>
COMMENT <li>{@link SoulSandBlock} uses it to schedule the water block above to tick
COMMENT so that it becomes a bubble column.</li>
COMMENT <li>{@link FallingBlock} uses it to schedule the block to tick so that it can
COMMENT fall if needed.</li>
COMMENT </ul>
COMMENT
COMMENT @see AbstractBlockState#getStateForNeighborUpdate
COMMENT @see #neighborUpdate
COMMENT @see #prepare
COMMENT @see #canPlaceAt
COMMENT @see Block#FORCE_STATE
ARG 1 state
COMMENT the state of this block
ARG 2 direction
COMMENT the direction from this block to the neighbor
ARG 3 neighborState
COMMENT the state of the updated neighbor block
ARG 4 world
COMMENT the world
ARG 5 pos
COMMENT the position of this block
ARG 6 neighborPos
COMMENT the position of the neighbor block
METHOD method_9560 getDroppedStacks (Lnet/minecraft/class_2680;Lnet/minecraft/class_8567$class_8568;)Ljava/util/List;
COMMENT {@return the block's dropped item stacks}
COMMENT
COMMENT <p>The default implementation uses loot tables. Blocks with custom drops <strong>should
COMMENT not hardcode the drops</strong>; instead, make a new loot table. If the loot table
COMMENT needs an additional context, override this method and modify {@code builder} before
COMMENT calling {@code super.getDroppedStacks}. An example of this is {@link ShulkerBoxBlock}.
COMMENT Note that to prevent item duplication, when appending item stacks to the builder,
COMMENT {@link ItemStack#split} should be called.
COMMENT
COMMENT <p>This method should not be used for dropping inventory contents ({@link
COMMENT #onStateReplaced} should be used instead) or to drop experience orbs ({@link
COMMENT #onStacksDropped} should be used instead).
COMMENT
COMMENT @see AbstractBlockState#getDroppedStacks
COMMENT @see #onStateReplaced
COMMENT @see #onStacksDropped
COMMENT @see ItemStack#split
COMMENT @see net.minecraft.loot.context.LootContextParameters
ARG 1 state
ARG 2 builder
METHOD method_9565 onStacksDropped (Lnet/minecraft/class_2680;Lnet/minecraft/class_3218;Lnet/minecraft/class_2338;Lnet/minecraft/class_1799;Z)V
COMMENT Called server-side when the stacks are dropped by mining or explosion. This is mostly
COMMENT overridden to drop experience orbs. To change the dropped item stacks, use loot tables
COMMENT or {@link #getDroppedStacks}. To drop inventory contents, use {@link #onStateReplaced}
COMMENT instead.
COMMENT
COMMENT <p>Experience orbs should only be dropped if {@code dropExperience} is {@code true}.
COMMENT {@link Block#dropExperienceWhenMined} can be used to drop experience orbs.
COMMENT {@link ExperienceDroppingBlock} provides the implementation for experience-dropping blocks.
COMMENT
COMMENT @see AbstractBlockState#onStacksDropped
COMMENT @see ExperienceDroppingBlock
COMMENT @see Block#dropExperienceWhenMined
COMMENT @see #getDroppedStacks
COMMENT @see #onStateReplaced
ARG 1 state
ARG 2 world
ARG 3 pos
ARG 4 tool
ARG 5 dropExperience
METHOD method_9569 mirror (Lnet/minecraft/class_2680;Lnet/minecraft/class_2415;)Lnet/minecraft/class_2680;
COMMENT {@return {@code state} mirrored by {@code mirror}}
COMMENT
COMMENT <p>By default, this returns the provided block state.
COMMENT
COMMENT @see AbstractBlockState#mirror
ARG 1 state
ARG 2 mirror
METHOD method_9571 getCullingShape (Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Lnet/minecraft/class_265;
COMMENT @see AbstractBlockState#getCullingShape
ARG 1 state
ARG 2 world
ARG 3 pos
METHOD method_9572 getComparatorOutput (Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;)I
COMMENT {@return the comparator output of the block, from {@code 0} to {@code 15}}
COMMENT
COMMENT <p>When overriding this, {@link #hasComparatorOutput} must also be overridden.
COMMENT
COMMENT @see AbstractBlockState#getComparatorOutput
COMMENT @see #hasComparatorOutput
ARG 1 state
ARG 2 world
ARG 3 pos
METHOD method_9573 getSoundGroup (Lnet/minecraft/class_2680;)Lnet/minecraft/class_2498;
ARG 1 state
METHOD method_9575 getAmbientOcclusionLightLevel (Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)F
COMMENT @see AbstractBlockState#getAmbientOcclusionLightLevel
ARG 1 state
ARG 2 world
ARG 3 pos
METHOD method_9579 isTransparent (Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Z
ARG 1 state
ARG 2 world
ARG 3 pos
METHOD method_9584 getRaycastShape (Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Lnet/minecraft/class_265;
COMMENT @see @link AbstractBlockState#getRaycastShape
ARG 1 state
ARG 2 world
ARG 3 pos
METHOD method_9588 scheduledTick (Lnet/minecraft/class_2680;Lnet/minecraft/class_3218;Lnet/minecraft/class_2338;Lnet/minecraft/class_5819;)V
COMMENT Called server-side when a block receives a scheduled tick. This can be used like a timer.
COMMENT Scheduled ticks are added using {@link
COMMENT WorldAccess#scheduleBlockTick(BlockPos, Block, int)}. Additionally, {@link
COMMENT #randomTick} by default calls this method; override {@link #randomTick} to disable this
COMMENT behavior.
COMMENT
COMMENT <p>Scheduled ticks are often used inside {@link #getStateForNeighborUpdate}.
COMMENT
COMMENT <p>Here are some examples:
COMMENT <ul>
COMMENT <li>{@link SugarCaneBlock} checks the placement requirement.</li>
COMMENT <li>{@link DispenserBlock} dispenses its content.</li>
COMMENT <li>{@link CommandBlock} executes its command.</li>
COMMENT <li>{@link FrogspawnBlock} spawns a tadpole.</li>
COMMENT <li>{@link SoulSandBlock} updates a bubble column.</li>
COMMENT <li>{@link FallingBlock} tries to fall.</li>
COMMENT </ul>
COMMENT
COMMENT @see AbstractBlockState#scheduledTick
COMMENT @see WorldAccess#scheduleBlockTick(BlockPos, Block, int)
COMMENT @see #getStateForNeighborUpdate
COMMENT @see #randomTick
ARG 1 state
ARG 2 world
ARG 3 pos
ARG 4 random
METHOD method_9592 onSyncedBlockEvent (Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;II)Z
COMMENT Handles the block event, which is an event specific to a block with an integer ID and data.
COMMENT
COMMENT @return whether the event was handled successfully
COMMENT
COMMENT @see AbstractBlockState#onSyncedBlockEvent
COMMENT @see World#addSyncedBlockEvent
ARG 1 state
ARG 2 world
ARG 3 pos
ARG 4 type
ARG 5 data
METHOD method_9594 calcBlockBreakingDelta (Lnet/minecraft/class_2680;Lnet/minecraft/class_1657;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)F
COMMENT @see AbstractBlockState#calcBlockBreakingDelta
ARG 1 state
ARG 2 player
ARG 3 world
ARG 4 pos
METHOD method_9598 rotate (Lnet/minecraft/class_2680;Lnet/minecraft/class_2470;)Lnet/minecraft/class_2680;
COMMENT {@return {@code state} rotated by {@code rotation}}
COMMENT
COMMENT <p>By default, this returns the provided block state.
COMMENT
COMMENT @see AbstractBlockState#rotate
ARG 1 state
ARG 2 rotation
METHOD method_9603 getStrongRedstonePower (Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;)I
COMMENT {@return the strong redstone power emitted from the block}
COMMENT
COMMENT <p>When overriding this, make sure to also override {@link #emitsRedstonePower} to
COMMENT return {@code true}. {@link #getWeakRedstonePower} might also need to be overridden.
COMMENT
COMMENT <p>Strong redstone power is a power that can power a redstone wire when a solid block
COMMENT is in between. For example, {@link RedstoneBlock} and {@link TargetBlock} emits weak
COMMENT redstone power only. {@link LeverBlock} and {@link ButtonBlock} emits both
COMMENT weak and strong redstone power.
COMMENT
COMMENT @see AbstractBlockState#getStrongRedstonePower
COMMENT
COMMENT @see #emitsRedstonePower
COMMENT @see #getWeakRedstonePower
COMMENT @see net.minecraft.world.RedstoneView#isReceivingRedstonePower
ARG 1 state
ARG 2 world
ARG 3 pos
ARG 4 direction
METHOD method_9604 getRenderType (Lnet/minecraft/class_2680;)Lnet/minecraft/class_2464;
COMMENT {@return the block's render type (invisible, animated, model)}
COMMENT
COMMENT @apiNote {@link BlockWithEntity} overrides this to return {@link BlockRenderType#INVISIBLE};
COMMENT therefore, custom blocks extending that class must override it again to render the block.
COMMENT
COMMENT @see AbstractBlockState#getRenderType
ARG 1 state
METHOD method_9606 onBlockBreakStart (Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1657;)V
COMMENT Called when a player starts breaking the block (including when instant-mining).
COMMENT
COMMENT <p>This method is called on both the logical client and logical server, so take caution
COMMENT when overriding this method. The logical side can be checked using {@link
COMMENT World#isClient}.
COMMENT
COMMENT @see AbstractBlockState#onBlockBreakStart
ARG 1 state
ARG 2 world
ARG 3 pos
ARG 4 player
METHOD method_9612 neighborUpdate (Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2248;Lnet/minecraft/class_2338;Z)V
COMMENT Called when a neighboring block is updated. This method should be overridden
COMMENT to perform an action with a side effect, most notably an activation of a redstone
COMMENT component. This can also be used to perform an action changing block states of
COMMENT other blocks, such as {@link SpongeBlock} which absorbs water.
COMMENT
COMMENT <p>To replace the state of the block itself, override {@link #getStateForNeighborUpdate}
COMMENT instead.
COMMENT
COMMENT <p>This method is called on both the logical client and logical server, so take caution
COMMENT when overriding this method. The logical side can be checked using {@link
COMMENT World#isClient}.
COMMENT
COMMENT @see AbstractBlockState#neighborUpdate
COMMENT @see #getStateForNeighborUpdate
COMMENT @see net.minecraft.world.RedstoneView#isReceivingRedstonePower
ARG 1 state
ARG 2 world
ARG 3 pos
ARG 4 sourceBlock
ARG 5 sourcePos
ARG 6 notify
METHOD method_9615 onBlockAdded (Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Z)V
COMMENT Called server-side on the new block when the block state is changed. This includes block
COMMENT placement. When overriding this method, {@link #getStateForNeighborUpdate} or {@link
COMMENT #neighborUpdate} should also be overridden. The method is used in the following cases:
COMMENT
COMMENT <ul>
COMMENT <li>When activating a redstone component on placement (used along with {@link
COMMENT #neighborUpdate}</li>
COMMENT <li>When resetting a position-dependent state (see {@link TargetBlock})</li>
COMMENT <li>When converting a block on placement (see {@link WetSpongeBlock})</li>
COMMENT <li>When {@linkplain AbstractFireBlock fire} lights a portal</li>
COMMENT </ul>
COMMENT
COMMENT @see AbstractBlockState#onBlockAdded
COMMENT @see #onStateReplaced
ARG 1 state
ARG 2 world
ARG 3 pos
ARG 4 oldState
ARG 5 notify
METHOD method_9616 canReplace (Lnet/minecraft/class_2680;Lnet/minecraft/class_1750;)Z
COMMENT {@return whether the item can replace the block}
COMMENT
COMMENT <p>By default, this checks if the block allows replacing and whether the
COMMENT item differs from the block's item. Items composed of multiple blocks, such as candles,
COMMENT vines, or snow layers, should override this to implement additional checks.
COMMENT
COMMENT <p>This method is called on both the logical client and logical server, so take caution
COMMENT when overriding this method. The logical side can be checked using {@link
COMMENT World#isClient}.
COMMENT
COMMENT @see AbstractBlockState#canReplace
COMMENT @see #canBucketPlace
COMMENT @see AbstractBlockState#isReplaceable
ARG 1 state
ARG 2 context
CLASS class_2250 OffsetType
CLASS class_2251 Settings
FIELD field_10660 resistance F
FIELD field_10661 randomTicks Z
FIELD field_10662 mapColorProvider Ljava/util/function/Function;
FIELD field_10663 luminance Ljava/util/function/ToIntFunction;
FIELD field_10664 collidable Z
FIELD field_10665 soundGroup Lnet/minecraft/class_2498;
FIELD field_10666 lootTableId Lnet/minecraft/class_2960;
FIELD field_10667 slipperiness F
FIELD field_10669 hardness F
FIELD field_10670 dynamicBounds Z
FIELD field_20721 opaque Z
FIELD field_21209 jumpVelocityMultiplier F
FIELD field_23179 velocityMultiplier F
FIELD field_23180 isAir Z
FIELD field_23181 allowsSpawningPredicate Lnet/minecraft/class_4970$class_4972;
FIELD field_23182 solidBlockPredicate Lnet/minecraft/class_4970$class_4973;
FIELD field_23183 suffocationPredicate Lnet/minecraft/class_4970$class_4973;
FIELD field_23184 blockVisionPredicate Lnet/minecraft/class_4970$class_4973;
FIELD field_23185 postProcessPredicate Lnet/minecraft/class_4970$class_4973;
FIELD field_23186 emissiveLightingPredicate Lnet/minecraft/class_4970$class_4973;
FIELD field_25185 toolRequired Z
FIELD field_40341 blockBreakParticles Z
FIELD field_40342 requiredFeatures Lnet/minecraft/class_7699;
FIELD field_42818 offsetter Ljava/util/Optional;
FIELD field_43394 burnable Z
FIELD field_43395 pistonBehavior Lnet/minecraft/class_3619;
FIELD field_44481 liquid Z
FIELD field_44627 forceNotSolid Z
FIELD field_44628 forceSolid Z
FIELD field_44629 instrument Lnet/minecraft/class_2766;
FIELD field_44630 replaceable Z
FIELD field_46532 CODEC Lcom/mojang/serialization/Codec;
METHOD method_16228 dropsLike (Lnet/minecraft/class_2248;)Lnet/minecraft/class_4970$class_2251;
COMMENT Specifies that a block should drop the same items as a provided block.
ARG 1 source
COMMENT the block to copy item drops from
METHOD method_22488 nonOpaque ()Lnet/minecraft/class_4970$class_2251;
COMMENT Specifies that a block should be non-opaque and light should be allowed to pass through.
METHOD method_23351 velocityMultiplier (F)Lnet/minecraft/class_4970$class_2251;
ARG 1 velocityMultiplier
METHOD method_23352 jumpVelocityMultiplier (F)Lnet/minecraft/class_4970$class_2251;
ARG 1 jumpVelocityMultiplier
METHOD method_26235 allowsSpawning (Lnet/minecraft/class_4970$class_4972;)Lnet/minecraft/class_4970$class_2251;
COMMENT Specifies logic that calculates whether an entity can spawn on a block.
ARG 1 predicate
COMMENT the predicate used to calculate whether an entity can spawn on this block
METHOD method_26236 solidBlock (Lnet/minecraft/class_4970$class_4973;)Lnet/minecraft/class_4970$class_2251;
ARG 1 predicate
METHOD method_26237 (Lnet/minecraft/class_2680;)I
ARG 0 state
METHOD method_26238 (Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Z
ARG 0 state
ARG 1 world
ARG 2 pos
METHOD method_26239 (Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_1299;)Z
ARG 0 state
ARG 1 world
ARG 2 pos
ARG 3 type
METHOD method_26243 suffocates (Lnet/minecraft/class_4970$class_4973;)Lnet/minecraft/class_4970$class_2251;
COMMENT Specifies logic that calculates whether an entity should suffocate if inside of a block.
ARG 1 predicate
METHOD method_26244 (Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Z
ARG 0 state
ARG 1 world
ARG 2 pos
METHOD method_26245 blockVision (Lnet/minecraft/class_4970$class_4973;)Lnet/minecraft/class_4970$class_2251;
ARG 1 predicate
METHOD method_26246 (Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Z
ARG 0 state
ARG 1 world
ARG 2 pos
METHOD method_26247 postProcess (Lnet/minecraft/class_4970$class_4973;)Lnet/minecraft/class_4970$class_2251;
ARG 1 predicate
METHOD method_26248 (Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Z
ARG 0 state
ARG 1 world
ARG 2 pos
METHOD method_26249 emissiveLighting (Lnet/minecraft/class_4970$class_4973;)Lnet/minecraft/class_4970$class_2251;
ARG 1 predicate
METHOD method_26250 air ()Lnet/minecraft/class_4970$class_2251;
METHOD method_29292 requiresTool ()Lnet/minecraft/class_4970$class_2251;
METHOD method_31710 mapColor (Lnet/minecraft/class_3620;)Lnet/minecraft/class_4970$class_2251;
ARG 1 color
METHOD method_36557 hardness (F)Lnet/minecraft/class_4970$class_2251;
ARG 1 hardness
METHOD method_36558 resistance (F)Lnet/minecraft/class_4970$class_2251;
ARG 1 resistance
METHOD method_42327 dropsNothing ()Lnet/minecraft/class_4970$class_2251;
METHOD method_45476 requires ([Lnet/minecraft/class_7696;)Lnet/minecraft/class_4970$class_2251;
ARG 1 features
METHOD method_45477 noBlockBreakParticles ()Lnet/minecraft/class_4970$class_2251;
METHOD method_49229 offset (Lnet/minecraft/class_4970$class_2250;)Lnet/minecraft/class_4970$class_2251;
ARG 1 offsetType
METHOD method_49230 (Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Lnet/minecraft/class_243;
ARG 0 state
ARG 1 world
ARG 2 pos
METHOD method_49231 (Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Lnet/minecraft/class_243;
ARG 0 state
ARG 1 world
ARG 2 pos
METHOD method_50012 pistonBehavior (Lnet/minecraft/class_3619;)Lnet/minecraft/class_4970$class_2251;
ARG 1 pistonBehavior
METHOD method_50013 burnable ()Lnet/minecraft/class_4970$class_2251;
METHOD method_51177 liquid ()Lnet/minecraft/class_4970$class_2251;
METHOD method_51368 instrument (Lnet/minecraft/class_2766;)Lnet/minecraft/class_4970$class_2251;
ARG 1 instrument
METHOD method_51369 solid ()Lnet/minecraft/class_4970$class_2251;
METHOD method_51370 notSolid ()Lnet/minecraft/class_4970$class_2251;
METHOD method_51371 replaceable ()Lnet/minecraft/class_4970$class_2251;
METHOD method_51517 mapColor (Lnet/minecraft/class_1767;)Lnet/minecraft/class_4970$class_2251;
ARG 1 color
METHOD method_51518 (Lnet/minecraft/class_1767;Lnet/minecraft/class_2680;)Lnet/minecraft/class_3620;
ARG 1 state
METHOD method_51519 (Lnet/minecraft/class_3620;Lnet/minecraft/class_2680;)Lnet/minecraft/class_3620;
ARG 1 state
METHOD method_51520 mapColor (Ljava/util/function/Function;)Lnet/minecraft/class_4970$class_2251;
ARG 1 mapColorProvider
METHOD method_51521 (Lnet/minecraft/class_2680;)Lnet/minecraft/class_3620;
ARG 0 state
METHOD method_55226 copyShallow (Lnet/minecraft/class_4970;)Lnet/minecraft/class_4970$class_2251;
ARG 0 block
METHOD method_9618 breakInstantly ()Lnet/minecraft/class_4970$class_2251;
COMMENT Specifies that a block is broken instantly.
METHOD method_9624 dynamicBounds ()Lnet/minecraft/class_4970$class_2251;
COMMENT Specifies that a block's collision bounds can dynamically resize.
COMMENT By default, block collision bounds are cached for performance.
COMMENT By invoking this method, the game will not cache the block collision bounds and instead calculate the collision bounds when needed.
METHOD method_9626 sounds (Lnet/minecraft/class_2498;)Lnet/minecraft/class_4970$class_2251;
ARG 1 soundGroup
METHOD method_9628 slipperiness (F)Lnet/minecraft/class_4970$class_2251;
ARG 1 slipperiness
METHOD method_9629 strength (FF)Lnet/minecraft/class_4970$class_2251;
ARG 1 hardness
ARG 2 resistance
METHOD method_9630 copy (Lnet/minecraft/class_4970;)Lnet/minecraft/class_4970$class_2251;
ARG 0 block
METHOD method_9631 luminance (Ljava/util/function/ToIntFunction;)Lnet/minecraft/class_4970$class_2251;
COMMENT Specifies the light level emitted by a block.
ARG 1 luminance
COMMENT a per block state light level, with values between 0 and 15
METHOD method_9632 strength (F)Lnet/minecraft/class_4970$class_2251;
ARG 1 strength
METHOD method_9634 noCollision ()Lnet/minecraft/class_4970$class_2251;
COMMENT Specifies that a block should have no collision bounds.
COMMENT
COMMENT <p>This also marks a block as non-opaque.
METHOD method_9637 create ()Lnet/minecraft/class_4970$class_2251;
METHOD method_9640 ticksRandomly ()Lnet/minecraft/class_4970$class_2251;
CLASS class_4971 AbstractBlockState
FIELD field_23166 shapeCache Lnet/minecraft/class_4970$class_4971$class_3752;
FIELD field_23167 luminance I
FIELD field_23168 hasSidedTransparency Z
FIELD field_23169 isAir Z
FIELD field_23171 mapColor Lnet/minecraft/class_3620;
FIELD field_23172 hardness F
FIELD field_23173 opaque Z
FIELD field_23174 solidBlockPredicate Lnet/minecraft/class_4970$class_4973;
FIELD field_23175 suffocationPredicate Lnet/minecraft/class_4970$class_4973;
FIELD field_23176 blockVisionPredicate Lnet/minecraft/class_4970$class_4973;
FIELD field_23177 postProcessPredicate Lnet/minecraft/class_4970$class_4973;
FIELD field_23178 emissiveLightingPredicate Lnet/minecraft/class_4970$class_4973;
FIELD field_25184 toolRequired Z
FIELD field_40338 blockBreakParticles Z
FIELD field_40339 fluidState Lnet/minecraft/class_3610;
FIELD field_40340 ticksRandomly Z
FIELD field_42817 offsetter Ljava/util/Optional;
FIELD field_43392 burnable Z
FIELD field_43393 pistonBehavior Lnet/minecraft/class_3619;
FIELD field_44480 liquid Z
FIELD field_44624 solid Z
FIELD field_44625 instrument Lnet/minecraft/class_2766;
FIELD field_44626 replaceable Z
METHOD <init> (Lnet/minecraft/class_2248;Lcom/google/common/collect/ImmutableMap;Lcom/mojang/serialization/MapCodec;)V
ARG 1 block
ARG 2 propertyMap
ARG 3 codec
METHOD method_26164 isIn (Lnet/minecraft/class_6862;)Z
ARG 1 tag
METHOD method_26165 calcBlockBreakingDelta (Lnet/minecraft/class_1657;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)F
ARG 1 player
ARG 2 world
ARG 3 pos
METHOD method_26166 canReplace (Lnet/minecraft/class_1750;)Z
ARG 1 context
METHOD method_26167 isTransparent (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Z
ARG 1 world
ARG 2 pos
METHOD method_26168 hasSolidTopSurface (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_1297;)Z
ARG 1 world
ARG 2 pos
ARG 3 entity
METHOD method_26169 isSolidSurface (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_1297;Lnet/minecraft/class_2350;)Z
ARG 1 world
ARG 2 pos
ARG 3 entity
ARG 4 direction
METHOD method_26170 allowsSpawning (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_1299;)Z
ARG 1 world
ARG 2 pos
ARG 3 type
METHOD method_26171 canPathfindThrough (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_10;)Z
ARG 1 world
ARG 2 pos
ARG 3 type
METHOD method_26172 getOutlineShape (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_3726;)Lnet/minecraft/class_265;
ARG 1 world
ARG 2 pos
ARG 3 context
METHOD method_26173 getCullingFace (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;)Lnet/minecraft/class_265;
ARG 1 world
ARG 2 pos
ARG 3 direction
METHOD method_26175 onProjectileHit (Lnet/minecraft/class_1937;Lnet/minecraft/class_2680;Lnet/minecraft/class_3965;Lnet/minecraft/class_1676;)V
ARG 1 world
ARG 2 state
ARG 3 hit
ARG 4 projectile
METHOD method_26176 getComparatorOutput (Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;)I
ARG 1 world
ARG 2 pos
METHOD method_26177 onSyncedBlockEvent (Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;II)Z
ARG 1 world
ARG 2 pos
ARG 3 type
ARG 4 data
METHOD method_26178 onEntityCollision (Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1297;)V
ARG 1 world
ARG 2 pos
ARG 3 entity
METHOD method_26179 onBlockBreakStart (Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1657;)V
ARG 1 world
ARG 2 pos
ARG 3 player
METHOD method_26180 onStacksDropped (Lnet/minecraft/class_3218;Lnet/minecraft/class_2338;Lnet/minecraft/class_1799;Z)V
ARG 1 world
ARG 2 pos
ARG 3 tool
ARG 4 dropExperience
METHOD method_26181 neighborUpdate (Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2248;Lnet/minecraft/class_2338;Z)V
ARG 1 world
ARG 2 pos
ARG 3 sourceBlock
ARG 4 sourcePos
ARG 5 notify
METHOD method_26182 onBlockAdded (Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Z)V
ARG 1 world
ARG 2 pos
ARG 3 state
ARG 4 notify
METHOD method_26183 updateNeighbors (Lnet/minecraft/class_1936;Lnet/minecraft/class_2338;II)V
ARG 1 world
ARG 2 pos
ARG 3 flags
ARG 4 maxUpdateDepth
METHOD method_26184 canPlaceAt (Lnet/minecraft/class_4538;Lnet/minecraft/class_2338;)Z
ARG 1 world
ARG 2 pos
METHOD method_26185 mirror (Lnet/minecraft/class_2415;)Lnet/minecraft/class_2680;
ARG 1 mirror
METHOD method_26186 rotate (Lnet/minecraft/class_2470;)Lnet/minecraft/class_2680;
ARG 1 rotation
METHOD method_26187 isSideInvisible (Lnet/minecraft/class_2680;Lnet/minecraft/class_2350;)Z
ARG 1 state
ARG 2 direction
METHOD method_26188 canBucketPlace (Lnet/minecraft/class_3611;)Z
ARG 1 fluid
METHOD method_26189 getDroppedStacks (Lnet/minecraft/class_8567$class_8568;)Ljava/util/List;
ARG 1 builder
METHOD method_26190 getRenderingSeed (Lnet/minecraft/class_2338;)J
ARG 1 pos
METHOD method_26191 getStateForNeighborUpdate (Lnet/minecraft/class_2350;Lnet/minecraft/class_2680;Lnet/minecraft/class_1936;Lnet/minecraft/class_2338;Lnet/minecraft/class_2338;)Lnet/minecraft/class_2680;
COMMENT Gets the possibly updated block state of this block when a neighboring block is updated.
COMMENT
COMMENT @return the new state of this block
ARG 1 direction
COMMENT the direction from this block to the neighbor
ARG 2 neighborState
COMMENT the state of the updated neighbor block
ARG 3 world
COMMENT the world
ARG 4 pos
COMMENT the position of this block
ARG 5 neighborPos
COMMENT the position of the neighbor block
METHOD method_26192 scheduledTick (Lnet/minecraft/class_3218;Lnet/minecraft/class_2338;Lnet/minecraft/class_5819;)V
ARG 1 world
ARG 2 pos
ARG 3 random
METHOD method_26193 getOpacity (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)I
ARG 1 world
ARG 2 pos
METHOD method_26194 getCollisionShape (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_3726;)Lnet/minecraft/class_265;
ARG 1 world
ARG 2 pos
ARG 3 context
METHOD method_26195 getWeakRedstonePower (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;)I
ARG 1 world
ARG 2 pos
ARG 3 direction
METHOD method_26196 createScreenHandlerFactory (Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;)Lnet/minecraft/class_3908;
ARG 1 world
ARG 2 pos
METHOD method_26197 onStateReplaced (Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Z)V
ARG 1 world
ARG 2 pos
ARG 3 state
ARG 4 moved
METHOD method_26198 prepare (Lnet/minecraft/class_1936;Lnet/minecraft/class_2338;II)V
ARG 1 world
ARG 2 pos
ARG 3 flags
ARG 4 maxUpdateDepth
METHOD method_26199 randomTick (Lnet/minecraft/class_3218;Lnet/minecraft/class_2338;Lnet/minecraft/class_5819;)V
ARG 1 world
ARG 2 pos
ARG 3 random
METHOD method_26200 initShapeCache ()V
METHOD method_26201 getCullingShape (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Lnet/minecraft/class_265;
ARG 1 world
ARG 2 pos
METHOD method_26202 getCameraCollisionShape (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_3726;)Lnet/minecraft/class_265;
ARG 1 world
ARG 2 pos
ARG 3 context
METHOD method_26203 getStrongRedstonePower (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;)I
ARG 1 world
ARG 2 pos
ARG 3 direction
METHOD method_26204 getBlock ()Lnet/minecraft/class_2248;
METHOD method_26205 getMapColor (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Lnet/minecraft/class_3620;
ARG 1 world
ARG 2 pos
METHOD method_26206 isSideSolidFullSquare (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;)Z
ARG 1 world
ARG 2 pos
ARG 3 direction
METHOD method_26208 hasEmissiveLighting (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Z
ARG 1 world
ARG 2 pos
METHOD method_26209 exceedsCube ()Z
METHOD method_26210 getAmbientOcclusionLightLevel (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)F
ARG 1 world
ARG 2 pos
METHOD method_26211 hasSidedTransparency ()Z
METHOD method_26212 isSolidBlock (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Z
ARG 1 world
ARG 2 pos
METHOD method_26213 getLuminance ()I
COMMENT {@return the light level emitted by this block state}
METHOD method_26214 getHardness (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)F
ARG 1 world
ARG 2 pos
METHOD method_26215 isAir ()Z
METHOD method_26216 isOpaqueFullCube (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Z
ARG 1 world
ARG 2 pos
METHOD method_26217 getRenderType ()Lnet/minecraft/class_2464;
METHOD method_26218 getOutlineShape (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Lnet/minecraft/class_265;
ARG 1 world
ARG 2 pos
METHOD method_26219 emitsRedstonePower ()Z
METHOD method_26220 getCollisionShape (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Lnet/minecraft/class_265;
ARG 1 world
ARG 2 pos
METHOD method_26221 hasComparatorOutput ()Z
METHOD method_26222 getSidesShape (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Lnet/minecraft/class_265;
ARG 1 world
ARG 2 pos
METHOD method_26223 getPistonBehavior ()Lnet/minecraft/class_3619;
METHOD method_26224 getRaycastShape (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Lnet/minecraft/class_265;
ARG 1 world
ARG 2 pos
METHOD method_26225 isOpaque ()Z
METHOD method_26226 getModelOffset (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Lnet/minecraft/class_243;
ARG 1 world
ARG 2 pos
METHOD method_26227 getFluidState ()Lnet/minecraft/class_3610;
METHOD method_26228 shouldSuffocate (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Z
ARG 1 world
ARG 2 pos
METHOD method_26229 hasRandomTicks ()Z
METHOD method_26230 shouldBlockVision (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Z
ARG 1 world
ARG 2 pos
METHOD method_26231 getSoundGroup ()Lnet/minecraft/class_2498;
METHOD method_26232 shouldPostProcess (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Z
ARG 1 world
ARG 2 pos
METHOD method_26233 asBlockState ()Lnet/minecraft/class_2680;
METHOD method_26234 isFullCube (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Z
ARG 1 world
ARG 2 pos
METHOD method_27851 isIn (Lnet/minecraft/class_6862;Ljava/util/function/Predicate;)Z
ARG 1 tag
ARG 2 predicate
METHOD method_27852 isOf (Lnet/minecraft/class_2248;)Z
ARG 1 block
METHOD method_29291 isToolRequired ()Z
METHOD method_30101 updateNeighbors (Lnet/minecraft/class_1936;Lnet/minecraft/class_2338;I)V
ARG 1 world
ARG 2 pos
ARG 3 flags
METHOD method_30102 prepare (Lnet/minecraft/class_1936;Lnet/minecraft/class_2338;I)V
ARG 1 world
ARG 2 pos
ARG 3 flags
METHOD method_30368 isSideSolid (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;Lnet/minecraft/class_5431;)Z
ARG 1 world
ARG 2 pos
ARG 3 direction
ARG 4 shapeType
METHOD method_31708 getBlockEntityTicker (Lnet/minecraft/class_1937;Lnet/minecraft/class_2591;)Lnet/minecraft/class_5558;
ARG 1 world
ARG 2 blockEntityType
METHOD method_31709 hasBlockEntity ()Z
METHOD method_40143 isIn (Lnet/minecraft/class_6885;)Z
ARG 1 blocks
METHOD method_40144 streamTags ()Ljava/util/stream/Stream;
METHOD method_41520 getRegistryEntry ()Lnet/minecraft/class_6880;
METHOD method_45474 isReplaceable ()Z
METHOD method_45475 hasBlockBreakParticles ()Z
METHOD method_49227 (Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_4970$class_8176;)Lnet/minecraft/class_243;
ARG 3 offsetter
METHOD method_49228 hasModelOffset ()Z
METHOD method_50011 isBurnable ()Z
METHOD method_51176 isLiquid ()Z
METHOD method_51364 getInstrument ()Lnet/minecraft/class_2766;
METHOD method_51365 shouldBeSolid ()Z
METHOD method_51366 blocksMovement ()Z
METHOD method_51367 isSolid ()Z
METHOD method_53257 isOf (Lnet/minecraft/class_6880;)Z
ARG 1 blockEntry
METHOD method_54097 matchesKey (Lnet/minecraft/class_5321;)Z
ARG 1 key
METHOD method_55225 onExploded (Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1927;Ljava/util/function/BiConsumer;)V
ARG 1 world
ARG 2 pos
ARG 3 explosion
ARG 4 stackMerger
METHOD method_55780 onUseWithItem (Lnet/minecraft/class_1799;Lnet/minecraft/class_1937;Lnet/minecraft/class_1657;Lnet/minecraft/class_1268;Lnet/minecraft/class_3965;)Lnet/minecraft/class_9062;
ARG 1 stack
ARG 2 world
ARG 3 player
ARG 4 hand
ARG 5 hit
METHOD method_55781 onUse (Lnet/minecraft/class_1937;Lnet/minecraft/class_1657;Lnet/minecraft/class_3965;)Lnet/minecraft/class_1269;
ARG 1 world
ARG 2 player
ARG 3 hit
CLASS class_3752 ShapeCache
FIELD field_16555 lightSubtracted I
FIELD field_16556 transparent Z
FIELD field_16557 fullOpaque Z
FIELD field_16559 DIRECTIONS [Lnet/minecraft/class_2350;
FIELD field_16560 extrudedFaces [Lnet/minecraft/class_265;
FIELD field_17651 exceedsCube Z
FIELD field_19360 collisionShape Lnet/minecraft/class_265;
FIELD field_19429 solidSides [Z
FIELD field_20337 isFullCube Z
FIELD field_25830 SHAPE_TYPE_LENGTH I
METHOD <init> (Lnet/minecraft/class_2680;)V
ARG 1 state
METHOD method_17901 (Lnet/minecraft/class_2350$class_2351;)Z
ARG 1 axis
METHOD method_30369 isSideSolid (Lnet/minecraft/class_2350;Lnet/minecraft/class_5431;)Z
ARG 1 direction
ARG 2 shapeType
METHOD method_30370 indexSolidSide (Lnet/minecraft/class_2350;Lnet/minecraft/class_5431;)I
ARG 0 direction
ARG 1 shapeType
CLASS class_4972 TypedContextPredicate
METHOD test (Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Ljava/lang/Object;)Z
ARG 1 state
ARG 2 world
ARG 3 pos
ARG 4 type
CLASS class_4973 ContextPredicate
METHOD test (Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Z
ARG 1 state
ARG 2 world
ARG 3 pos
CLASS class_8176 Offsetter
METHOD evaluate (Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Lnet/minecraft/class_243;
ARG 1 state
ARG 2 world
ARG 3 pos