Class Block
- All Implemented Interfaces:
ItemConvertible
,ToggleableFeature
- Direct Known Subclasses:
AbstractCandleBlock
,AbstractCauldronBlock
,AbstractFireBlock
,AbstractPlantPartBlock
,AbstractPressurePlateBlock
,AbstractRailBlock
,AirBlock
,AmethystBlock
,BambooBlock
,BambooSaplingBlock
,BarrierBlock
,BlockWithEntity
,BubbleColumnBlock
,CactusBlock
,CakeBlock
,CarpetBlock
,CartographyTableBlock
,ChorusFlowerBlock
,CobwebBlock
,ComposterBlock
,ConnectingBlock
,CoralBlockBlock
,CoralParentBlock
,CraftingTableBlock
,CryingObsidianBlock
,DirtPathBlock
,DoorBlock
,EndPortalFrameBlock
,ExperienceDroppingBlock
,FacingBlock
,FallingBlock
,FarmlandBlock
,FlowerPotBlock
,FluidBlock
,FrogspawnBlock
,GourdBlock
,HangingRootsBlock
,HorizontalConnectingBlock
,HorizontalFacingBlock
,InfestedBlock
,JigsawBlock
,LadderBlock
,LanternBlock
,LeavesBlock
,LightBlock
,MagmaBlock
,MangroveRootsBlock
,MossBlock
,MudBlock
,MultifaceGrowthBlock
,MushroomBlock
,NetherPortalBlock
,NetherrackBlock
,NoteBlock
,NyliumBlock
,OxidizableBlock
,PillarBlock
,PlantBlock
,PointedDripstoneBlock
,PowderSnowBlock
,RedstoneBlock
,RedstoneLampBlock
,RedstoneOreBlock
,RedstoneWireBlock
,RespawnAnchorBlock
,RootedDirtBlock
,ScaffoldingBlock
,SlabBlock
,SnowBlock
,SnowyBlock
,SoulSandBlock
,SpongeBlock
,SporeBlossomBlock
,StairsBlock
,StonecutterBlock
,StructureVoidBlock
,SugarCaneBlock
,TargetBlock
,TntBlock
,TorchBlock
,TransparentBlock
,TripwireBlock
,TripwireHookBlock
,TurtleEggBlock
,VineBlock
,WallBlock
,WetSpongeBlock
AbstractBlock
,
this class, and its subclasses define all logic for those voxels.
See the documentation on AbstractBlock
for instructions on overriding
methods.
There is exactly one instance for every type of block. Every stone
block for example in a world shares the same block instance. Each block
instance is registered under Registries.BLOCK
.
See Blocks
for examples of block instances.
An item corresponding to a block is not automatically created. You
may create your own BlockItem
and register it
under Registries.ITEM
.
The translation key for the block name is determined by getTranslationKey()
.
In the world, the actual voxels are not stored as blocks, but as
block states. The possible states of the block
are defined by appendProperties(net.minecraft.state.StateManager.Builder<net.minecraft.block.Block, net.minecraft.block.BlockState>)
.
- See Also:
- Mappings:
Namespace Name official cmt
intermediary net/minecraft/class_2248
named net/minecraft/block/Block
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.block.AbstractBlock
AbstractBlock.AbstractBlockState, AbstractBlock.ContextPredicate, AbstractBlock.OffsetType, AbstractBlock.Settings, AbstractBlock.TypedContextPredicate<A>
-
Field Summary
Modifier and TypeFieldDescriptionprivate BlockState
private static final ThreadLocal<Object2ByteLinkedOpenHashMap<Block.NeighborGroup>>
static final int
static final float
static final float
static final int
private static final int
static final int
static final int
Bypass virtual block state changes and forces the passed state to be stored as-is.private static final LoadingCache<VoxelShape,
Boolean> private static final Logger
static final int
Signals that the current block is being moved to a different location, usually because of a piston.static final int
Used in conjunction withNOTIFY_LISTENERS
to suppress the render pass on clients.static final int
The default setBlockState behavior.static final int
Notifies listeners and clients who need to react when the block changes.static final int
Sends a neighbor update event to surrounding blocks.static final int
Forces a synchronous redraw on clients.private final RegistryEntry.Reference<Block>
static final int
Prevents the previous block (container) from dropping items when destroyed.static final int
Signals that lighting updates should be skipped.static final IdList<BlockState>
protected final StateManager<Block,
BlockState> 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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
afterBreak
(World world, PlayerEntity player, BlockPos pos, BlockState state, @Nullable BlockEntity blockEntity, ItemStack stack) Called server-side when the block is broken by the player using correct tool.protected void
appendProperties
(StateManager.Builder<Block, BlockState> builder) Appends block state properties to this block.void
appendTooltip
(ItemStack stack, @Nullable BlockView world, List<Text> tooltip, TooltipContext options) Appends tooltips to a stack of this block's corresponding block item.protected Block
asBlock()
Returns the block asBlock
.asItem()
Returns the block's corresponding item.boolean
static boolean
cannotConnect
(BlockState state) private static <T extends Comparable<T>>
BlockStatecopyProperty
(BlockState source, BlockState target, Property<T> property) static VoxelShape
createCuboidShape
(double minX, double minY, double minZ, double maxX, double maxY, double maxZ) protected void
dropExperience
(ServerWorld world, BlockPos pos, int size) Drops experience orbs.protected void
dropExperienceWhenMined
(ServerWorld world, BlockPos pos, ItemStack tool, IntProvider experience) Drops experience orbs.private static void
dropStack
(World world, Supplier<ItemEntity> itemEntitySupplier, ItemStack stack) static void
static void
static void
dropStacks
(BlockState state, LootContext.Builder lootContext) static void
dropStacks
(BlockState state, WorldAccess world, BlockPos pos, @Nullable BlockEntity blockEntity) static void
dropStacks
(BlockState state, World world, BlockPos pos) static void
dropStacks
(BlockState state, World world, BlockPos pos, @Nullable BlockEntity blockEntity, Entity entity, ItemStack stack) float
static Block
getBlockFromItem
(@Nullable Item item) final BlockState
getDroppedStacks
(BlockState state, ServerWorld world, BlockPos pos, @Nullable BlockEntity blockEntity) getDroppedStacks
(BlockState state, ServerWorld world, BlockPos pos, @Nullable BlockEntity blockEntity, @Nullable Entity entity, ItemStack stack) float
getName()
getPickStack
(BlockView world, BlockPos pos, BlockState state) Returns the new item stack when using pick block functionality.static int
getRawIdFromState
(@Nullable BlockState state) Deprecated.protected ImmutableMap<BlockState,
VoxelShape> getShapesForStates
(Function<BlockState, VoxelShape> stateToShape) float
getSoundGroup
(BlockState state) static BlockState
getStateFromRawId
(int stateId) final BlockState
getStateWithProperties
(BlockState state) Gets a block state with all properties that both this block and the source block state have.Returns the translation key for the name of this block.float
boolean
boolean
hasRandomTicks
(BlockState state) static boolean
static boolean
isFaceFullSquare
(VoxelShape shape, Direction side) static boolean
isShapeFullCube
(VoxelShape shape) boolean
isTranslucent
(BlockState state, BlockView world, BlockPos pos) void
onBreak
(World world, BlockPos pos, BlockState state, PlayerEntity player) Called when a player breaks a block before the block is removed from the world.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
onEntityLand
(BlockView world, Entity entity) Called after the entity lands on the block.void
onLandedUpon
(World world, BlockState state, BlockPos pos, Entity entity, float fallDistance) Called when the entity lands on the block.void
onPlaced
(World world, BlockPos pos, BlockState state, @Nullable LivingEntity placer, ItemStack itemStack) Called when the player placed the block.void
onSteppedOn
(World world, BlockPos pos, BlockState state, Entity entity) Called when an entity steps on this block.static BlockState
postProcessState
(BlockState state, WorldAccess world, BlockPos pos) void
precipitationTick
(BlockState state, World world, BlockPos pos, Biome.Precipitation precipitation) Called randomly server-side on blocks with unobstructed sky access when it is raining or snowing.static BlockState
pushEntitiesUpBeforeBlockChange
(BlockState from, BlockState to, WorldAccess world, BlockPos pos) Pushes entities standing on a block up before changing the block to taller ones.void
randomDisplayTick
(BlockState state, World world, BlockPos pos, Random random) Called randomly on the client.static void
replace
(BlockState state, BlockState newState, WorldAccess world, BlockPos pos, int flags) Replaces thestate
with thenewState
at thepos
.static void
replace
(BlockState state, BlockState newState, WorldAccess world, BlockPos pos, int flags, int maxUpdateDepth) Replaces thestate
with thenewState
at thepos
.protected final void
setDefaultState
(BlockState state) Sets the default state of the block.static boolean
shouldDrawSide
(BlockState state, BlockView world, BlockPos pos, Direction side, BlockPos otherPos) boolean
shouldDropItemsOnExplosion
(Explosion explosion) Returns whether an explosion can drop the block as an item.static boolean
sideCoversSmallSquare
(WorldView world, BlockPos pos, Direction side) protected void
spawnBreakParticles
(World world, PlayerEntity player, BlockPos pos, BlockState state) toString()
Methods inherited from class net.minecraft.block.AbstractBlock
calcBlockBreakingDelta, canBucketPlace, canPathfindThrough, canPlaceAt, canReplace, createScreenHandlerFactory, emitsRedstonePower, getAmbientOcclusionLightLevel, getCameraCollisionShape, getCollisionShape, getComparatorOutput, getCullingShape, getDefaultMapColor, getDroppedStacks, getFluidState, getHardness, getLootTableId, getMaxHorizontalModelOffset, getOpacity, getOutlineShape, getPistonBehavior, getRaycastShape, getRenderingSeed, getRenderType, getRequiredFeatures, getSidesShape, getStateForNeighborUpdate, getStrongRedstonePower, getVerticalModelOffsetMultiplier, getWeakRedstonePower, hasComparatorOutput, hasSidedTransparency, isCullingShapeFullCube, isShapeFullCube, isSideInvisible, mirror, neighborUpdate, onBlockAdded, onBlockBreakStart, onEntityCollision, onProjectileHit, onStacksDropped, onStateReplaced, onSyncedBlockEvent, onUse, prepare, randomTick, rotate, 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
-
LOGGER
- Mappings:
Namespace Name Mixin selector official a
Lcmt;a:Lorg/slf4j/Logger;
intermediary field_10638
Lnet/minecraft/class_2248;field_10638:Lorg/slf4j/Logger;
named LOGGER
Lnet/minecraft/block/Block;LOGGER:Lorg/slf4j/Logger;
-
STATE_IDS
- Mappings:
Namespace Name Mixin selector official o
Lcmt;o:Lhf;
intermediary field_10651
Lnet/minecraft/class_2248;field_10651:Lnet/minecraft/class_2361;
named STATE_IDS
Lnet/minecraft/block/Block;STATE_IDS:Lnet/minecraft/util/collection/IdList;
-
FULL_CUBE_SHAPE_CACHE
- Mappings:
Namespace Name Mixin selector official c
Lcmt;c:Lcom/google/common/cache/LoadingCache;
intermediary field_19312
Lnet/minecraft/class_2248;field_19312:Lcom/google/common/cache/LoadingCache;
named FULL_CUBE_SHAPE_CACHE
Lnet/minecraft/block/Block;FULL_CUBE_SHAPE_CACHE:Lcom/google/common/cache/LoadingCache;
-
NOTIFY_NEIGHBORS
public static final int NOTIFY_NEIGHBORSSends a neighbor update event to surrounding blocks.- See Also:
- Mappings:
Namespace Name Mixin selector official p
Lcmt;p:I
intermediary field_31027
Lnet/minecraft/class_2248;field_31027:I
named NOTIFY_NEIGHBORS
Lnet/minecraft/block/Block;NOTIFY_NEIGHBORS:I
-
NOTIFY_LISTENERS
public static final int NOTIFY_LISTENERSNotifies listeners and clients who need to react when the block changes.- See Also:
- Mappings:
Namespace Name Mixin selector official q
Lcmt;q:I
intermediary field_31028
Lnet/minecraft/class_2248;field_31028:I
named NOTIFY_LISTENERS
Lnet/minecraft/block/Block;NOTIFY_LISTENERS:I
-
NO_REDRAW
public static final int NO_REDRAWUsed in conjunction withNOTIFY_LISTENERS
to suppress the render pass on clients.- See Also:
- Mappings:
Namespace Name Mixin selector official r
Lcmt;r:I
intermediary field_31029
Lnet/minecraft/class_2248;field_31029:I
named NO_REDRAW
Lnet/minecraft/block/Block;NO_REDRAW:I
-
REDRAW_ON_MAIN_THREAD
public static final int REDRAW_ON_MAIN_THREADForces a synchronous redraw on clients.- See Also:
- Mappings:
Namespace Name Mixin selector official s
Lcmt;s:I
intermediary field_31030
Lnet/minecraft/class_2248;field_31030:I
named REDRAW_ON_MAIN_THREAD
Lnet/minecraft/block/Block;REDRAW_ON_MAIN_THREAD:I
-
FORCE_STATE
public static final int FORCE_STATEBypass virtual block state changes and forces the passed state to be stored as-is.- See Also:
- Mappings:
Namespace Name Mixin selector official t
Lcmt;t:I
intermediary field_31031
Lnet/minecraft/class_2248;field_31031:I
named FORCE_STATE
Lnet/minecraft/block/Block;FORCE_STATE:I
-
SKIP_DROPS
public static final int SKIP_DROPSPrevents the previous block (container) from dropping items when destroyed.- See Also:
- Mappings:
Namespace Name Mixin selector official u
Lcmt;u:I
intermediary field_31032
Lnet/minecraft/class_2248;field_31032:I
named SKIP_DROPS
Lnet/minecraft/block/Block;SKIP_DROPS:I
-
MOVED
public static final int MOVEDSignals that the current block is being moved to a different location, usually because of a piston.- See Also:
- Mappings:
Namespace Name Mixin selector official v
Lcmt;v:I
intermediary field_31033
Lnet/minecraft/class_2248;field_31033:I
named MOVED
Lnet/minecraft/block/Block;MOVED:I
-
SKIP_LIGHTING_UPDATES
public static final int SKIP_LIGHTING_UPDATESSignals that lighting updates should be skipped.- See Also:
- Mappings:
Namespace Name Mixin selector official w
Lcmt;w:I
intermediary field_31034
Lnet/minecraft/class_2248;field_31034:I
named SKIP_LIGHTING_UPDATES
Lnet/minecraft/block/Block;SKIP_LIGHTING_UPDATES:I
-
field_31035
public static final int field_31035- See Also:
- Mappings:
Namespace Name Mixin selector official x
Lcmt;x:I
intermediary field_31035
Lnet/minecraft/class_2248;field_31035:I
named field_31035
Lnet/minecraft/block/Block;field_31035:I
-
NOTIFY_ALL
public static final int NOTIFY_ALLThe default setBlockState behavior. Same asNOTIFY_NEIGHBORS | NOTIFY_LISTENERS
.- See Also:
- Mappings:
Namespace Name Mixin selector official y
Lcmt;y:I
intermediary field_31036
Lnet/minecraft/class_2248;field_31036:I
named NOTIFY_ALL
Lnet/minecraft/block/Block;NOTIFY_ALL:I
-
field_31022
public static final int field_31022- See Also:
- Mappings:
Namespace Name Mixin selector official z
Lcmt;z:I
intermediary field_31022
Lnet/minecraft/class_2248;field_31022:I
named field_31022
Lnet/minecraft/block/Block;field_31022:I
-
field_31023
public static final float field_31023- See Also:
- Mappings:
Namespace Name Mixin selector official A
Lcmt;A:F
intermediary field_31023
Lnet/minecraft/class_2248;field_31023:F
named field_31023
Lnet/minecraft/block/Block;field_31023:F
-
field_31024
public static final float field_31024- See Also:
- Mappings:
Namespace Name Mixin selector official B
Lcmt;B:F
intermediary field_31024
Lnet/minecraft/class_2248;field_31024:F
named field_31024
Lnet/minecraft/block/Block;field_31024:F
-
field_31025
public static final int field_31025- See Also:
- Mappings:
Namespace Name Mixin selector official C
Lcmt;C:I
intermediary field_31025
Lnet/minecraft/class_2248;field_31025:I
named field_31025
Lnet/minecraft/block/Block;field_31025:I
-
field_31026
private static final int field_31026- See Also:
- Mappings:
Namespace Name Mixin selector official g
Lcmt;g:I
intermediary field_31026
Lnet/minecraft/class_2248;field_31026:I
named field_31026
Lnet/minecraft/block/Block;field_31026:I
-
FACE_CULL_MAP
- Mappings:
Namespace Name Mixin selector official h
Lcmt;h:Ljava/lang/ThreadLocal;
intermediary field_10649
Lnet/minecraft/class_2248;field_10649:Ljava/lang/ThreadLocal;
named FACE_CULL_MAP
Lnet/minecraft/block/Block;FACE_CULL_MAP:Ljava/lang/ThreadLocal;
-
registryEntry
- Mappings:
Namespace Name Mixin selector official b
Lcmt;b:Lgz$c;
intermediary field_36404
Lnet/minecraft/class_2248;field_36404:Lnet/minecraft/class_6880$class_6883;
named registryEntry
Lnet/minecraft/block/Block;registryEntry:Lnet/minecraft/registry/entry/RegistryEntry$Reference;
-
stateManager
- Mappings:
Namespace Name Mixin selector official D
Lcmt;D:Lcyu;
intermediary field_10647
Lnet/minecraft/class_2248;field_10647:Lnet/minecraft/class_2689;
named stateManager
Lnet/minecraft/block/Block;stateManager:Lnet/minecraft/state/StateManager;
-
defaultState
- Mappings:
Namespace Name Mixin selector official d
Lcmt;d:Lcyt;
intermediary field_10646
Lnet/minecraft/class_2248;field_10646:Lnet/minecraft/class_2680;
named defaultState
Lnet/minecraft/block/Block;defaultState:Lnet/minecraft/block/BlockState;
-
translationKey
- Mappings:
Namespace Name Mixin selector official e
Lcmt;e:Ljava/lang/String;
intermediary field_10642
Lnet/minecraft/class_2248;field_10642:Ljava/lang/String;
named translationKey
Lnet/minecraft/block/Block;translationKey:Ljava/lang/String;
-
cachedItem
- Mappings:
Namespace Name Mixin selector official f
Lcmt;f:Lcdp;
intermediary field_17562
Lnet/minecraft/class_2248;field_17562:Lnet/minecraft/class_1792;
named cachedItem
Lnet/minecraft/block/Block;cachedItem:Lnet/minecraft/item/Item;
-
-
Constructor Details
-
Block
- Mappings:
Namespace Name Mixin selector official <init>
Lcys;<init>(Lcys$c;)V
intermediary <init>
Lnet/minecraft/class_4970;<init>(Lnet/minecraft/class_4970$class_2251;)V
named <init>
Lnet/minecraft/block/AbstractBlock;<init>(Lnet/minecraft/block/AbstractBlock$Settings;)V
-
-
Method Details
-
getRawIdFromState
- Mappings:
Namespace Name Mixin selector official i
Lcmt;i(Lcyt;)I
intermediary method_9507
Lnet/minecraft/class_2248;method_9507(Lnet/minecraft/class_2680;)I
named getRawIdFromState
Lnet/minecraft/block/Block;getRawIdFromState(Lnet/minecraft/block/BlockState;)I
-
getStateFromRawId
- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(I)Lcyt;
intermediary method_9531
Lnet/minecraft/class_2248;method_9531(I)Lnet/minecraft/class_2680;
named getStateFromRawId
Lnet/minecraft/block/Block;getStateFromRawId(I)Lnet/minecraft/block/BlockState;
-
getBlockFromItem
- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcdp;)Lcmt;
intermediary method_9503
Lnet/minecraft/class_2248;method_9503(Lnet/minecraft/class_1792;)Lnet/minecraft/class_2248;
named getBlockFromItem
Lnet/minecraft/block/Block;getBlockFromItem(Lnet/minecraft/item/Item;)Lnet/minecraft/block/Block;
-
pushEntitiesUpBeforeBlockChange
public static BlockState pushEntitiesUpBeforeBlockChange(BlockState from, BlockState to, WorldAccess world, BlockPos pos) Pushes entities standing on a block up before changing the block to taller ones. Without calling this, entities can fall through the block. This only needs to be called if the original block's height is smaller than 1 block.- Returns:
- the passed new block state
- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcyt;Lcyt;Lcjx;Lgp;)Lcyt;
intermediary method_9582
Lnet/minecraft/class_2248;method_9582(Lnet/minecraft/class_2680;Lnet/minecraft/class_2680;Lnet/minecraft/class_1936;Lnet/minecraft/class_2338;)Lnet/minecraft/class_2680;
named pushEntitiesUpBeforeBlockChange
Lnet/minecraft/block/Block;pushEntitiesUpBeforeBlockChange(Lnet/minecraft/block/BlockState;Lnet/minecraft/block/BlockState;Lnet/minecraft/world/WorldAccess;Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/block/BlockState;
-
createCuboidShape
public static VoxelShape createCuboidShape(double minX, double minY, double minZ, double maxX, double maxY, double maxZ) - Mappings:
Namespace Name Mixin selector official a
Lcmt;a(DDDDDD)Leax;
intermediary method_9541
Lnet/minecraft/class_2248;method_9541(DDDDDD)Lnet/minecraft/class_265;
named createCuboidShape
Lnet/minecraft/block/Block;createCuboidShape(DDDDDD)Lnet/minecraft/util/shape/VoxelShape;
-
postProcessState
- Mappings:
Namespace Name Mixin selector official b
Lcmt;b(Lcyt;Lcjx;Lgp;)Lcyt;
intermediary method_9510
Lnet/minecraft/class_2248;method_9510(Lnet/minecraft/class_2680;Lnet/minecraft/class_1936;Lnet/minecraft/class_2338;)Lnet/minecraft/class_2680;
named postProcessState
Lnet/minecraft/block/Block;postProcessState(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/WorldAccess;Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/block/BlockState;
-
replace
public static void replace(BlockState state, BlockState newState, WorldAccess world, BlockPos pos, int flags) Replaces thestate
with thenewState
at thepos
.If the two state objects are identical, this method does nothing.
If the new state is air, breaks the block at the position instead.
- Parameters:
state
- the existing block statenewState
- the new block stateworld
- the worldpos
- the position of the replaced block stateflags
- the bitwise flags forModifiableWorld.setBlockState(BlockPos, BlockState, int, int)
- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcyt;Lcyt;Lcjx;Lgp;I)V
intermediary method_30094
Lnet/minecraft/class_2248;method_30094(Lnet/minecraft/class_2680;Lnet/minecraft/class_2680;Lnet/minecraft/class_1936;Lnet/minecraft/class_2338;I)V
named replace
Lnet/minecraft/block/Block;replace(Lnet/minecraft/block/BlockState;Lnet/minecraft/block/BlockState;Lnet/minecraft/world/WorldAccess;Lnet/minecraft/util/math/BlockPos;I)V
-
replace
public static void replace(BlockState state, BlockState newState, WorldAccess world, BlockPos pos, int flags, int maxUpdateDepth) Replaces thestate
with thenewState
at thepos
.If the two state objects are identical, this method does nothing.
If the new state is air, breaks the block at the position instead.
- Parameters:
state
- the existing block statenewState
- the new block stateworld
- the worldpos
- the position of the replaced block stateflags
- the bitwise flags forModifiableWorld.setBlockState(BlockPos, BlockState, int, int)
maxUpdateDepth
- the limit for the cascading block updates- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcyt;Lcyt;Lcjx;Lgp;II)V
intermediary method_9611
Lnet/minecraft/class_2248;method_9611(Lnet/minecraft/class_2680;Lnet/minecraft/class_2680;Lnet/minecraft/class_1936;Lnet/minecraft/class_2338;II)V
named replace
Lnet/minecraft/block/Block;replace(Lnet/minecraft/block/BlockState;Lnet/minecraft/block/BlockState;Lnet/minecraft/world/WorldAccess;Lnet/minecraft/util/math/BlockPos;II)V
-
cannotConnect
- Mappings:
Namespace Name Mixin selector official j
Lcmt;j(Lcyt;)Z
intermediary method_9581
Lnet/minecraft/class_2248;method_9581(Lnet/minecraft/class_2680;)Z
named cannotConnect
Lnet/minecraft/block/Block;cannotConnect(Lnet/minecraft/block/BlockState;)Z
-
hasRandomTicks
- Mappings:
Namespace Name Mixin selector official e_
Lcmt;e_(Lcyt;)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
-
shouldDrawSide
public static boolean shouldDrawSide(BlockState state, BlockView world, BlockPos pos, Direction side, BlockPos otherPos) - Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcyt;Lcjc;Lgp;Lgv;Lgp;)Z
intermediary method_9607
Lnet/minecraft/class_2248;method_9607(Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;Lnet/minecraft/class_2338;)Z
named shouldDrawSide
Lnet/minecraft/block/Block;shouldDrawSide(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/Direction;Lnet/minecraft/util/math/BlockPos;)Z
-
hasTopRim
- Mappings:
Namespace Name Mixin selector official c
Lcmt;c(Lcjc;Lgp;)Z
intermediary method_16361
Lnet/minecraft/class_2248;method_16361(Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Z
named hasTopRim
Lnet/minecraft/block/Block;hasTopRim(Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;)Z
-
sideCoversSmallSquare
- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcjz;Lgp;Lgv;)Z
intermediary method_20044
Lnet/minecraft/class_2248;method_20044(Lnet/minecraft/class_4538;Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;)Z
named sideCoversSmallSquare
Lnet/minecraft/block/Block;sideCoversSmallSquare(Lnet/minecraft/world/WorldView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/Direction;)Z
-
isFaceFullSquare
- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Leax;Lgv;)Z
intermediary method_9501
Lnet/minecraft/class_2248;method_9501(Lnet/minecraft/class_265;Lnet/minecraft/class_2350;)Z
named isFaceFullSquare
Lnet/minecraft/block/Block;isFaceFullSquare(Lnet/minecraft/util/shape/VoxelShape;Lnet/minecraft/util/math/Direction;)Z
-
isShapeFullCube
- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Leax;)Z
intermediary method_9614
Lnet/minecraft/class_2248;method_9614(Lnet/minecraft/class_265;)Z
named isShapeFullCube
Lnet/minecraft/block/Block;isShapeFullCube(Lnet/minecraft/util/shape/VoxelShape;)Z
-
isTranslucent
- Mappings:
Namespace Name Mixin selector official c
Lcmt;c(Lcyt;Lcjc;Lgp;)Z
intermediary method_9579
Lnet/minecraft/class_2248;method_9579(Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Z
named isTranslucent
Lnet/minecraft/block/Block;isTranslucent(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;)Z
-
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.- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcyt;Lcjw;Lgp;Laoh;)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
-
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
.- 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)
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
Lcmt;a(Lcjx;Lgp;Lcyt;)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
-
getDroppedStacks
public static List<ItemStack> getDroppedStacks(BlockState state, ServerWorld world, BlockPos pos, @Nullable @Nullable BlockEntity blockEntity) - Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcyt;Lahm;Lgp;Lcwl;)Ljava/util/List;
intermediary method_9562
Lnet/minecraft/class_2248;method_9562(Lnet/minecraft/class_2680;Lnet/minecraft/class_3218;Lnet/minecraft/class_2338;Lnet/minecraft/class_2586;)Ljava/util/List;
named getDroppedStacks
Lnet/minecraft/block/Block;getDroppedStacks(Lnet/minecraft/block/BlockState;Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/entity/BlockEntity;)Ljava/util/List;
-
getDroppedStacks
public static List<ItemStack> getDroppedStacks(BlockState state, ServerWorld world, BlockPos pos, @Nullable @Nullable BlockEntity blockEntity, @Nullable @Nullable Entity entity, ItemStack stack) - Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcyt;Lahm;Lgp;Lcwl;Lbdr;Lcdt;)Ljava/util/List;
intermediary method_9609
Lnet/minecraft/class_2248;method_9609(Lnet/minecraft/class_2680;Lnet/minecraft/class_3218;Lnet/minecraft/class_2338;Lnet/minecraft/class_2586;Lnet/minecraft/class_1297;Lnet/minecraft/class_1799;)Ljava/util/List;
named getDroppedStacks
Lnet/minecraft/block/Block;getDroppedStacks(Lnet/minecraft/block/BlockState;Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/entity/BlockEntity;Lnet/minecraft/entity/Entity;Lnet/minecraft/item/ItemStack;)Ljava/util/List;
-
dropStacks
- Mappings:
Namespace Name Mixin selector official b
Lcmt;b(Lcyt;Ldvr$a;)V
intermediary method_35258
Lnet/minecraft/class_2248;method_35258(Lnet/minecraft/class_2680;Lnet/minecraft/class_47$class_48;)V
named dropStacks
Lnet/minecraft/block/Block;dropStacks(Lnet/minecraft/block/BlockState;Lnet/minecraft/loot/context/LootContext$Builder;)V
-
dropStacks
- Mappings:
Namespace Name Mixin selector official c
Lcmt;c(Lcyt;Lcjw;Lgp;)V
intermediary method_9497
Lnet/minecraft/class_2248;method_9497(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;)V
named dropStacks
Lnet/minecraft/block/Block;dropStacks(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;)V
-
dropStacks
public static void dropStacks(BlockState state, WorldAccess world, BlockPos pos, @Nullable @Nullable BlockEntity blockEntity) - Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcyt;Lcjx;Lgp;Lcwl;)V
intermediary method_9610
Lnet/minecraft/class_2248;method_9610(Lnet/minecraft/class_2680;Lnet/minecraft/class_1936;Lnet/minecraft/class_2338;Lnet/minecraft/class_2586;)V
named dropStacks
Lnet/minecraft/block/Block;dropStacks(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/WorldAccess;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/entity/BlockEntity;)V
-
dropStacks
public static void dropStacks(BlockState state, World world, BlockPos pos, @Nullable @Nullable BlockEntity blockEntity, Entity entity, ItemStack stack) - Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcyt;Lcjw;Lgp;Lcwl;Lbdr;Lcdt;)V
intermediary method_9511
Lnet/minecraft/class_2248;method_9511(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2586;Lnet/minecraft/class_1297;Lnet/minecraft/class_1799;)V
named dropStacks
Lnet/minecraft/block/Block;dropStacks(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/entity/BlockEntity;Lnet/minecraft/entity/Entity;Lnet/minecraft/item/ItemStack;)V
-
dropStack
- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcjw;Lgp;Lcdt;)V
intermediary method_9577
Lnet/minecraft/class_2248;method_9577(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1799;)V
named dropStack
Lnet/minecraft/block/Block;dropStack(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/item/ItemStack;)V
-
dropStack
- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcjw;Lgp;Lgv;Lcdt;)V
intermediary method_36992
Lnet/minecraft/class_2248;method_36992(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;Lnet/minecraft/class_1799;)V
named dropStack
Lnet/minecraft/block/Block;dropStack(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/Direction;Lnet/minecraft/item/ItemStack;)V
-
dropStack
private static void dropStack(World world, Supplier<ItemEntity> itemEntitySupplier, ItemStack stack) - Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcjw;Ljava/util/function/Supplier;Lcdt;)V
intermediary method_36993
Lnet/minecraft/class_2248;method_36993(Lnet/minecraft/class_1937;Ljava/util/function/Supplier;Lnet/minecraft/class_1799;)V
named dropStack
Lnet/minecraft/block/Block;dropStack(Lnet/minecraft/world/World;Ljava/util/function/Supplier;Lnet/minecraft/item/ItemStack;)V
-
dropExperience
Drops experience orbs. This should be called insideAbstractBlock.onStacksDropped(net.minecraft.block.BlockState, net.minecraft.server.world.ServerWorld, net.minecraft.util.math.BlockPos, net.minecraft.item.ItemStack, boolean)
afterdropExperience
check. This does not drop experience orbs ifdoTileDrops
is turned off. For blocks that do not drop experience when mined with Silk Touch, consider callingdropExperienceWhenMined(net.minecraft.server.world.ServerWorld, net.minecraft.util.math.BlockPos, net.minecraft.item.ItemStack, net.minecraft.util.math.intprovider.IntProvider)
instead.- See Also:
-
AbstractBlock.onStacksDropped(net.minecraft.block.BlockState, net.minecraft.server.world.ServerWorld, net.minecraft.util.math.BlockPos, net.minecraft.item.ItemStack, boolean)
dropExperienceWhenMined(net.minecraft.server.world.ServerWorld, net.minecraft.util.math.BlockPos, net.minecraft.item.ItemStack, net.minecraft.util.math.intprovider.IntProvider)
- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lahm;Lgp;I)V
intermediary method_9583
Lnet/minecraft/class_2248;method_9583(Lnet/minecraft/class_3218;Lnet/minecraft/class_2338;I)V
named dropExperience
Lnet/minecraft/block/Block;dropExperience(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/util/math/BlockPos;I)V
-
getBlastResistance
public float getBlastResistance()- Mappings:
Namespace Name Mixin selector official e
Lcmt;e()F
intermediary method_9520
Lnet/minecraft/class_2248;method_9520()F
named getBlastResistance
Lnet/minecraft/block/Block;getBlastResistance()F
-
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
.- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcjw;Lgp;Lcjo;)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
-
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
.- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcjw;Lgp;Lcyt;Lbdr;)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
-
getPlacementState
- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcfu;)Lcyt;
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;
-
afterBreak
public void afterBreak(World world, PlayerEntity player, BlockPos pos, BlockState state, @Nullable @Nullable BlockEntity blockEntity, ItemStack stack) Called server-side when the block is broken by the player using correct tool. This is called afteronBroken(net.minecraft.world.WorldAccess, net.minecraft.util.math.BlockPos, net.minecraft.block.BlockState)
but has the tool requirement. By default, this incrementsStats.MINED
, adds exhaustion to the player, and drops the block's item stacks.Subclasses should override this if breaking the block causes another block to be placed (like
IceBlock
) or if the block can break multiple times (likeTurtleEggBlock
).BeehiveBlock
uses this to anger the bees if the hive is mined without silk touch.- See Also:
-
onBreak(net.minecraft.world.World, net.minecraft.util.math.BlockPos, net.minecraft.block.BlockState, net.minecraft.entity.player.PlayerEntity)
onBroken(net.minecraft.world.WorldAccess, net.minecraft.util.math.BlockPos, net.minecraft.block.BlockState)
AbstractBlock.onStacksDropped(net.minecraft.block.BlockState, net.minecraft.server.world.ServerWorld, net.minecraft.util.math.BlockPos, net.minecraft.item.ItemStack, boolean)
AbstractBlock.onStateReplaced(net.minecraft.block.BlockState, net.minecraft.world.World, net.minecraft.util.math.BlockPos, net.minecraft.block.BlockState, boolean)
- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcjw;Lbwp;Lgp;Lcyt;Lcwl;Lcdt;)V
intermediary method_9556
Lnet/minecraft/class_2248;method_9556(Lnet/minecraft/class_1937;Lnet/minecraft/class_1657;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Lnet/minecraft/class_2586;Lnet/minecraft/class_1799;)V
named afterBreak
Lnet/minecraft/block/Block;afterBreak(Lnet/minecraft/world/World;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Lnet/minecraft/block/entity/BlockEntity;Lnet/minecraft/item/ItemStack;)V
-
onPlaced
public void onPlaced(World world, BlockPos pos, BlockState state, @Nullable @Nullable LivingEntity placer, ItemStack itemStack) Called when the player placed the block.Tall or wide blocks (such as doors or beds) should override this to place the other half of the block. Blocks with block entities can use this to copy the data from the item stack, such as the custom name.
This method is called on both the logical client and logical server, so take caution when overriding this method. The logical side can be checked using
World.isClient
.- See Also:
- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcjw;Lgp;Lcyt;Lbeg;Lcdt;)V
intermediary method_9567
Lnet/minecraft/class_2248;method_9567(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Lnet/minecraft/class_1309;Lnet/minecraft/class_1799;)V
named onPlaced
Lnet/minecraft/block/Block;onPlaced(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Lnet/minecraft/entity/LivingEntity;Lnet/minecraft/item/ItemStack;)V
-
canMobSpawnInside
public boolean canMobSpawnInside()- Mappings:
Namespace Name Mixin selector official ab_
Lcmt;ab_()Z
intermediary method_9538
Lnet/minecraft/class_2248;method_9538()Z
named canMobSpawnInside
Lnet/minecraft/block/Block;canMobSpawnInside()Z
-
getName
- Mappings:
Namespace Name Mixin selector official f
Lcmt;f()Ltf;
intermediary method_9518
Lnet/minecraft/class_2248;method_9518()Lnet/minecraft/class_5250;
named getName
Lnet/minecraft/block/Block;getName()Lnet/minecraft/text/MutableText;
-
getTranslationKey
Returns the translation key for the name of this block.By default, it returns
block.namespace.path
wherenamespace
andpath
are of the identifier used for registering this block, but/
inpath
is replaced with.
. If the block is not registered, it returnsblock.unregistered_sadface
.- Returns:
- the translation key for the name of this block
- Mappings:
Namespace Name Mixin selector official g
Lcmt;g()Ljava/lang/String;
intermediary method_9539
Lnet/minecraft/class_2248;method_9539()Ljava/lang/String;
named getTranslationKey
Lnet/minecraft/block/Block;getTranslationKey()Ljava/lang/String;
-
onLandedUpon
public void onLandedUpon(World world, BlockState state, BlockPos pos, Entity entity, float fallDistance) Called when the entity lands on the block.Default implementation deals fall damage to the entity. Blocks that increase or reduce fall damage (like
HayBlock
) should override this.FarmlandBlock
overrides this method to convert the block to dirt.This method is called on both the logical client and logical server, so take caution when overriding this method. The logical side can be checked using
World.isClient
.- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcjw;Lcyt;Lgp;Lbdr;F)V
intermediary method_9554
Lnet/minecraft/class_2248;method_9554(Lnet/minecraft/class_1937;Lnet/minecraft/class_2680;Lnet/minecraft/class_2338;Lnet/minecraft/class_1297;F)V
named onLandedUpon
Lnet/minecraft/block/Block;onLandedUpon(Lnet/minecraft/world/World;Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/Entity;F)V
-
onEntityLand
Called after the entity lands on the block.Default implementation resets the entity's vertical velocity. Blocks that cause entities to jump (such as
SlimeBlock
) should override this.This method is called on both the logical client and logical server, so take caution when overriding this method. The logical side can be checked using
World.isClient
.- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcjc;Lbdr;)V
intermediary method_9502
Lnet/minecraft/class_2248;method_9502(Lnet/minecraft/class_1922;Lnet/minecraft/class_1297;)V
named onEntityLand
Lnet/minecraft/block/Block;onEntityLand(Lnet/minecraft/world/BlockView;Lnet/minecraft/entity/Entity;)V
-
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.- Returns:
- the new item stack when using pick block functionality
- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcjc;Lgp;Lcyt;)Lcdt;
intermediary method_9574
Lnet/minecraft/class_2248;method_9574(Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)Lnet/minecraft/class_1799;
named getPickStack
Lnet/minecraft/block/Block;getPickStack(Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)Lnet/minecraft/item/ItemStack;
-
getSlipperiness
public float getSlipperiness()- Mappings:
Namespace Name Mixin selector official h
Lcmt;h()F
intermediary method_9499
Lnet/minecraft/class_2248;method_9499()F
named getSlipperiness
Lnet/minecraft/block/Block;getSlipperiness()F
-
getVelocityMultiplier
public float getVelocityMultiplier()- Mappings:
Namespace Name Mixin selector official i
Lcmt;i()F
intermediary method_23349
Lnet/minecraft/class_2248;method_23349()F
named getVelocityMultiplier
Lnet/minecraft/block/Block;getVelocityMultiplier()F
-
getJumpVelocityMultiplier
public float getJumpVelocityMultiplier()- Mappings:
Namespace Name Mixin selector official j
Lcmt;j()F
intermediary method_23350
Lnet/minecraft/class_2248;method_23350()F
named getJumpVelocityMultiplier
Lnet/minecraft/block/Block;getJumpVelocityMultiplier()F
-
spawnBreakParticles
protected void spawnBreakParticles(World world, PlayerEntity player, BlockPos pos, BlockState state) - Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcjw;Lbwp;Lgp;Lcyt;)V
intermediary method_33614
Lnet/minecraft/class_2248;method_33614(Lnet/minecraft/class_1937;Lnet/minecraft/class_1657;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)V
named spawnBreakParticles
Lnet/minecraft/block/Block;spawnBreakParticles(Lnet/minecraft/world/World;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)V
-
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
.- 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)
onBroken(net.minecraft.world.WorldAccess, net.minecraft.util.math.BlockPos, net.minecraft.block.BlockState)
- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcjw;Lgp;Lcyt;Lbwp;)V
intermediary method_9576
Lnet/minecraft/class_2248;method_9576(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Lnet/minecraft/class_1657;)V
named onBreak
Lnet/minecraft/block/Block;onBreak(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Lnet/minecraft/entity/player/PlayerEntity;)V
-
precipitationTick
public void precipitationTick(BlockState state, World world, BlockPos pos, Biome.Precipitation precipitation) Called randomly server-side on blocks with unobstructed sky access when it is raining or snowing. Like random ticks, only blocks within 128-block cylinder (i.e. ignoring Y coordinates) around players receive precipitation ticks. However, precipitation ticks are unaffected by therandomTickSpeed
game rule, andAbstractBlock.Settings.ticksRandomly()
block setting is not required.LeveledCauldronBlock
uses this to fill the cauldron.- Parameters:
precipitation
- the precipitation (snow or rain), including snow observable on high altitude- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcyt;Lcjw;Lgp;Lckt$c;)V
intermediary method_9504
Lnet/minecraft/class_2248;method_9504(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1959$class_1963;)V
named precipitationTick
Lnet/minecraft/block/Block;precipitationTick(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/world/biome/Biome$Precipitation;)V
-
shouldDropItemsOnExplosion
Returns whether an explosion can drop the block as an item.This should be overridden if an explosion affects the block in other ways, like
TntBlock
that triggers the chain reaction. This should not consider the randomness, since it is defined in the loot table.- Returns:
- whether an explosion can drop the block as an item
- See Also:
- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcjo;)Z
intermediary method_9533
Lnet/minecraft/class_2248;method_9533(Lnet/minecraft/class_1927;)Z
named shouldDropItemsOnExplosion
Lnet/minecraft/block/Block;shouldDropItemsOnExplosion(Lnet/minecraft/world/explosion/Explosion;)Z
-
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.- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcyu$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
-
getStateManager
- Mappings:
Namespace Name Mixin selector official k
Lcmt;k()Lcyu;
intermediary method_9595
Lnet/minecraft/class_2248;method_9595()Lnet/minecraft/class_2689;
named getStateManager
Lnet/minecraft/block/Block;getStateManager()Lnet/minecraft/state/StateManager;
-
setDefaultState
Sets the default state of the block. This should be called inside the block's constructor to override the default state chosen by the state manager.- Mappings:
Namespace Name Mixin selector official k
Lcmt;k(Lcyt;)V
intermediary method_9590
Lnet/minecraft/class_2248;method_9590(Lnet/minecraft/class_2680;)V
named setDefaultState
Lnet/minecraft/block/Block;setDefaultState(Lnet/minecraft/block/BlockState;)V
-
getDefaultState
- Mappings:
Namespace Name Mixin selector official n
Lcmt;n()Lcyt;
intermediary method_9564
Lnet/minecraft/class_2248;method_9564()Lnet/minecraft/class_2680;
named getDefaultState
Lnet/minecraft/block/Block;getDefaultState()Lnet/minecraft/block/BlockState;
-
getStateWithProperties
Gets a block state with all properties that both this block and the source block state have.- Mappings:
Namespace Name Mixin selector official l
Lcmt;l(Lcyt;)Lcyt;
intermediary method_34725
Lnet/minecraft/class_2248;method_34725(Lnet/minecraft/class_2680;)Lnet/minecraft/class_2680;
named getStateWithProperties
Lnet/minecraft/block/Block;getStateWithProperties(Lnet/minecraft/block/BlockState;)Lnet/minecraft/block/BlockState;
-
copyProperty
private static <T extends Comparable<T>> BlockState copyProperty(BlockState source, BlockState target, Property<T> property) - Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcyt;Lcyt;Lczw;)Lcyt;
intermediary method_34724
Lnet/minecraft/class_2248;method_34724(Lnet/minecraft/class_2680;Lnet/minecraft/class_2680;Lnet/minecraft/class_2769;)Lnet/minecraft/class_2680;
named copyProperty
Lnet/minecraft/block/Block;copyProperty(Lnet/minecraft/block/BlockState;Lnet/minecraft/block/BlockState;Lnet/minecraft/state/property/Property;)Lnet/minecraft/block/BlockState;
-
getSoundGroup
- Mappings:
Namespace Name Mixin selector official m
Lcmt;m(Lcyt;)Lctz;
intermediary method_9573
Lnet/minecraft/class_2248;method_9573(Lnet/minecraft/class_2680;)Lnet/minecraft/class_2498;
named getSoundGroup
Lnet/minecraft/block/Block;getSoundGroup(Lnet/minecraft/block/BlockState;)Lnet/minecraft/sound/BlockSoundGroup;
-
asItem
Returns the block's corresponding item.This is not affected by loot tables. Blocks without corresponding items, such as piston head, will return
Items.AIR
.- Specified by:
asItem
in interfaceItemConvertible
- Specified by:
asItem
in classAbstractBlock
- Returns:
- the block's corresponding item
- See Also:
- Mappings:
Namespace Name Mixin selector official l
Lcys;l()Lcdp;
intermediary method_8389
Lnet/minecraft/class_4970;method_8389()Lnet/minecraft/class_1792;
named asItem
Lnet/minecraft/block/AbstractBlock;asItem()Lnet/minecraft/item/Item;
-
hasDynamicBounds
public boolean hasDynamicBounds()- Mappings:
Namespace Name Mixin selector official o
Lcmt;o()Z
intermediary method_9543
Lnet/minecraft/class_2248;method_9543()Z
named hasDynamicBounds
Lnet/minecraft/block/Block;hasDynamicBounds()Z
-
toString
-
appendTooltip
public void appendTooltip(ItemStack stack, @Nullable @Nullable BlockView world, List<Text> tooltip, TooltipContext options) Appends tooltips to a stack of this block's corresponding block item. Used by shulker boxes.- See Also:
- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lcdt;Lcjc;Ljava/util/List;Lcfi;)V
intermediary method_9568
Lnet/minecraft/class_2248;method_9568(Lnet/minecraft/class_1799;Lnet/minecraft/class_1922;Ljava/util/List;Lnet/minecraft/class_1836;)V
named appendTooltip
Lnet/minecraft/block/Block;appendTooltip(Lnet/minecraft/item/ItemStack;Lnet/minecraft/world/BlockView;Ljava/util/List;Lnet/minecraft/client/item/TooltipContext;)V
-
asBlock
Returns the block asBlock
.This is used for casting purposes.
- Specified by:
asBlock
in classAbstractBlock
- Returns:
- the block as
Block
- Mappings:
Namespace Name Mixin selector official p
Lcys;p()Lcmt;
intermediary method_26160
Lnet/minecraft/class_4970;method_26160()Lnet/minecraft/class_2248;
named asBlock
Lnet/minecraft/block/AbstractBlock;asBlock()Lnet/minecraft/block/Block;
-
getShapesForStates
protected ImmutableMap<BlockState,VoxelShape> getShapesForStates(Function<BlockState, VoxelShape> stateToShape) - Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Ljava/util/function/Function;)Lcom/google/common/collect/ImmutableMap;
intermediary method_33615
Lnet/minecraft/class_2248;method_33615(Ljava/util/function/Function;)Lcom/google/common/collect/ImmutableMap;
named getShapesForStates
Lnet/minecraft/block/Block;getShapesForStates(Ljava/util/function/Function;)Lcom/google/common/collect/ImmutableMap;
-
getRegistryEntry
Deprecated.- Mappings:
Namespace Name Mixin selector official q
Lcmt;q()Lgz$c;
intermediary method_40142
Lnet/minecraft/class_2248;method_40142()Lnet/minecraft/class_6880$class_6883;
named getRegistryEntry
Lnet/minecraft/block/Block;getRegistryEntry()Lnet/minecraft/registry/entry/RegistryEntry$Reference;
-
dropExperienceWhenMined
protected void dropExperienceWhenMined(ServerWorld world, BlockPos pos, ItemStack tool, IntProvider experience) Drops experience orbs. This should be called insideAbstractBlock.onStacksDropped(net.minecraft.block.BlockState, net.minecraft.server.world.ServerWorld, net.minecraft.util.math.BlockPos, net.minecraft.item.ItemStack, boolean)
afterdropExperience
check. This does not drop experience orbs iftool
is enchanted with silk touch or ifdoTileDrops
is turned off.- Parameters:
tool
- the tool used to break the block, orItemStack.EMPTY
for explosions- See Also:
- Mappings:
Namespace Name Mixin selector official a
Lcmt;a(Lahm;Lgp;Lcdt;Lbbr;)V
intermediary method_41420
Lnet/minecraft/class_2248;method_41420(Lnet/minecraft/class_3218;Lnet/minecraft/class_2338;Lnet/minecraft/class_1799;Lnet/minecraft/class_6017;)V
named dropExperienceWhenMined
Lnet/minecraft/block/Block;dropExperienceWhenMined(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/item/ItemStack;Lnet/minecraft/util/math/intprovider/IntProvider;)V
-