Class Block

All Implemented Interfaces:
ItemConvertible, ToggleableFeature
Direct Known Subclasses:
AbstractCandleBlock, AbstractCauldronBlock, AbstractFireBlock, AbstractPlantPartBlock, AbstractPressurePlateBlock, AbstractRailBlock, AbstractTorchBlock, AirBlock, AmethystBlock, BambooBlock, BambooShootBlock, BarrierBlock, BlockWithEntity, BubbleColumnBlock, BulbBlock, CactusBlock, CakeBlock, CarpetBlock, CartographyTableBlock, ChorusFlowerBlock, CobwebBlock, ComposterBlock, ConnectingBlock, CoralBlockBlock, CoralParentBlock, CraftingTableBlock, CryingObsidianBlock, DirtPathBlock, DoorBlock, EndPortalFrameBlock, ExperienceDroppingBlock, FacingBlock, FallingBlock, FarmlandBlock, FlowerPotBlock, FluidBlock, FrogspawnBlock, HangingRootsBlock, HeavyCoreBlock, HorizontalConnectingBlock, HorizontalFacingBlock, InfestedBlock, JigsawBlock, LadderBlock, LanternBlock, LeavesBlock, LightBlock, MagmaBlock, MangroveRootsBlock, MossBlock, MudBlock, MultifaceGrowthBlock, MushroomBlock, NetherPortalBlock, NetherrackBlock, NoteBlock, NyliumBlock, OxidizableBlock, PillarBlock, PlantBlock, PointedDripstoneBlock, PowderSnowBlock, PumpkinBlock, RedstoneBlock, RedstoneLampBlock, RedstoneOreBlock, RedstoneWireBlock, RespawnAnchorBlock, RootedDirtBlock, ScaffoldingBlock, SlabBlock, SnifferEggBlock, SnowBlock, SnowyBlock, SoulSandBlock, SpongeBlock, SporeBlossomBlock, StairsBlock, StonecutterBlock, StructureVoidBlock, SugarCaneBlock, TargetBlock, TntBlock, TranslucentBlock, TripwireBlock, TripwireHookBlock, TurtleEggBlock, VineBlock, WallBlock, WetSpongeBlock

public class Block extends AbstractBlock implements ItemConvertible
A block is a voxel in a world. 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
named net/minecraft/block/Block
intermediary net/minecraft/class_2248
official dfa
  • Field Details

    • CODEC

      public static final com.mojang.serialization.MapCodec<Block> CODEC
      Mappings:
      Namespace Name Mixin selector
      named CODEC Lnet/minecraft/block/Block;CODEC:Lcom/mojang/serialization/MapCodec;
      intermediary field_46280 Lnet/minecraft/class_2248;field_46280:Lcom/mojang/serialization/MapCodec;
      official p Ldfa;p:Lcom/mojang/serialization/MapCodec;
    • LOGGER

      private static final Logger LOGGER
      Mappings:
      Namespace Name Mixin selector
      named LOGGER Lnet/minecraft/block/Block;LOGGER:Lorg/slf4j/Logger;
      intermediary field_10638 Lnet/minecraft/class_2248;field_10638:Lorg/slf4j/Logger;
      official a Ldfa;a:Lorg/slf4j/Logger;
    • STATE_IDS

      public static final IdList<BlockState> STATE_IDS
      Mappings:
      Namespace Name Mixin selector
      named STATE_IDS Lnet/minecraft/block/Block;STATE_IDS:Lnet/minecraft/util/collection/IdList;
      intermediary field_10651 Lnet/minecraft/class_2248;field_10651:Lnet/minecraft/class_2361;
      official q Ldfa;q:Ljo;
    • FULL_CUBE_SHAPE_CACHE

      private static final LoadingCache<VoxelShape,Boolean> FULL_CUBE_SHAPE_CACHE
      Mappings:
      Namespace Name Mixin selector
      named FULL_CUBE_SHAPE_CACHE Lnet/minecraft/block/Block;FULL_CUBE_SHAPE_CACHE:Lcom/google/common/cache/LoadingCache;
      intermediary field_19312 Lnet/minecraft/class_2248;field_19312:Lcom/google/common/cache/LoadingCache;
      official c Ldfa;c:Lcom/google/common/cache/LoadingCache;
    • NOTIFY_NEIGHBORS

      public static final int NOTIFY_NEIGHBORS
      Sends a neighbor update event to surrounding blocks.
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named NOTIFY_NEIGHBORS Lnet/minecraft/block/Block;NOTIFY_NEIGHBORS:I
      intermediary field_31027 Lnet/minecraft/class_2248;field_31027:I
      official r Ldfa;r:I
    • NOTIFY_LISTENERS

      public static final int NOTIFY_LISTENERS
      Notifies listeners and clients who need to react when the block changes.
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named NOTIFY_LISTENERS Lnet/minecraft/block/Block;NOTIFY_LISTENERS:I
      intermediary field_31028 Lnet/minecraft/class_2248;field_31028:I
      official s Ldfa;s:I
    • NO_REDRAW

      public static final int NO_REDRAW
      Used in conjunction with NOTIFY_LISTENERS to suppress the render pass on clients.
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named NO_REDRAW Lnet/minecraft/block/Block;NO_REDRAW:I
      intermediary field_31029 Lnet/minecraft/class_2248;field_31029:I
      official t Ldfa;t:I
    • REDRAW_ON_MAIN_THREAD

      public static final int REDRAW_ON_MAIN_THREAD
      Forces a synchronous redraw on clients.
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named REDRAW_ON_MAIN_THREAD Lnet/minecraft/block/Block;REDRAW_ON_MAIN_THREAD:I
      intermediary field_31030 Lnet/minecraft/class_2248;field_31030:I
      official u Ldfa;u:I
    • FORCE_STATE

      public static final int FORCE_STATE
      Bypass virtual block state changes and forces the passed state to be stored as-is.
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named FORCE_STATE Lnet/minecraft/block/Block;FORCE_STATE:I
      intermediary field_31031 Lnet/minecraft/class_2248;field_31031:I
      official v Ldfa;v:I
    • SKIP_DROPS

      public static final int SKIP_DROPS
      Prevents the previous block (container) from dropping items when destroyed.
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named SKIP_DROPS Lnet/minecraft/block/Block;SKIP_DROPS:I
      intermediary field_31032 Lnet/minecraft/class_2248;field_31032:I
      official w Ldfa;w:I
    • MOVED

      public static final int MOVED
      Signals that the current block is being moved to a different location, usually because of a piston.
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named MOVED Lnet/minecraft/block/Block;MOVED:I
      intermediary field_31033 Lnet/minecraft/class_2248;field_31033:I
      official x Ldfa;x:I
    • field_31035

      public static final int field_31035
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named field_31035 Lnet/minecraft/block/Block;field_31035:I
      intermediary field_31035 Lnet/minecraft/class_2248;field_31035:I
      official y Ldfa;y:I
    • NOTIFY_ALL

      public static final int NOTIFY_ALL
      The default setBlockState behavior. Same as NOTIFY_NEIGHBORS | NOTIFY_LISTENERS.
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named NOTIFY_ALL Lnet/minecraft/block/Block;NOTIFY_ALL:I
      intermediary field_31036 Lnet/minecraft/class_2248;field_31036:I
      official z Ldfa;z:I
    • NOTIFY_ALL_AND_REDRAW

      public static final int NOTIFY_ALL_AND_REDRAW
      Notifies neighbors and listeners, and forces a redraw on clients. Same as NOTIFY_ALL | REDRAW_ON_MAIN_THREAD
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named NOTIFY_ALL_AND_REDRAW Lnet/minecraft/block/Block;NOTIFY_ALL_AND_REDRAW:I
      intermediary field_31022 Lnet/minecraft/class_2248;field_31022:I
      official A Ldfa;A:I
    • field_31023

      public static final float field_31023
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named field_31023 Lnet/minecraft/block/Block;field_31023:F
      intermediary field_31023 Lnet/minecraft/class_2248;field_31023:F
      official B Ldfa;B:F
    • field_31024

      public static final float field_31024
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named field_31024 Lnet/minecraft/block/Block;field_31024:F
      intermediary field_31024 Lnet/minecraft/class_2248;field_31024:F
      official C Ldfa;C:F
    • field_31025

      public static final int field_31025
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named field_31025 Lnet/minecraft/block/Block;field_31025:I
      intermediary field_31025 Lnet/minecraft/class_2248;field_31025:I
      official D Ldfa;D:I
    • field_31026

      private static final int field_31026
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named field_31026 Lnet/minecraft/block/Block;field_31026:I
      intermediary field_31026 Lnet/minecraft/class_2248;field_31026:I
      official g Ldfa;g:I
    • FACE_CULL_MAP

      private static final ThreadLocal<Object2ByteLinkedOpenHashMap<Block.NeighborGroup>> FACE_CULL_MAP
      Mappings:
      Namespace Name Mixin selector
      named FACE_CULL_MAP Lnet/minecraft/block/Block;FACE_CULL_MAP:Ljava/lang/ThreadLocal;
      intermediary field_10649 Lnet/minecraft/class_2248;field_10649:Ljava/lang/ThreadLocal;
      official h Ldfa;h:Ljava/lang/ThreadLocal;
    • registryEntry

      private final RegistryEntry.Reference<Block> registryEntry
      Mappings:
      Namespace Name Mixin selector
      named registryEntry Lnet/minecraft/block/Block;registryEntry:Lnet/minecraft/registry/entry/RegistryEntry$Reference;
      intermediary field_36404 Lnet/minecraft/class_2248;field_36404:Lnet/minecraft/class_6880$class_6883;
      official b Ldfa;b:Lji$c;
    • stateManager

      protected final StateManager<Block,BlockState> stateManager
      Mappings:
      Namespace Name Mixin selector
      named stateManager Lnet/minecraft/block/Block;stateManager:Lnet/minecraft/state/StateManager;
      intermediary field_10647 Lnet/minecraft/class_2248;field_10647:Lnet/minecraft/class_2689;
      official E Ldfa;E:Ldse;
    • defaultState

      private BlockState defaultState
      Mappings:
      Namespace Name Mixin selector
      named defaultState Lnet/minecraft/block/Block;defaultState:Lnet/minecraft/block/BlockState;
      intermediary field_10646 Lnet/minecraft/class_2248;field_10646:Lnet/minecraft/class_2680;
      official d Ldfa;d:Ldsd;
    • translationKey

      @Nullable private @Nullable String translationKey
      Mappings:
      Namespace Name Mixin selector
      named translationKey Lnet/minecraft/block/Block;translationKey:Ljava/lang/String;
      intermediary field_10642 Lnet/minecraft/class_2248;field_10642:Ljava/lang/String;
      official e Ldfa;e:Ljava/lang/String;
    • cachedItem

      @Nullable private @Nullable Item cachedItem
      Mappings:
      Namespace Name Mixin selector
      named cachedItem Lnet/minecraft/block/Block;cachedItem:Lnet/minecraft/item/Item;
      intermediary field_17562 Lnet/minecraft/class_2248;field_17562:Lnet/minecraft/class_1792;
      official f Ldfa;f:Lcul;
  • Constructor Details

    • Block

      public Block(AbstractBlock.Settings settings)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/block/AbstractBlock;<init>(Lnet/minecraft/block/AbstractBlock$Settings;)V
      intermediary <init> Lnet/minecraft/class_4970;<init>(Lnet/minecraft/class_4970$class_2251;)V
      official <init> Ldsc;<init>(Ldsc$d;)V
  • Method Details

    • getCodec

      protected com.mojang.serialization.MapCodec<? extends Block> getCodec()
      Specified by:
      getCodec in class AbstractBlock
      Mappings:
      Namespace Name Mixin selector
      named getCodec Lnet/minecraft/block/AbstractBlock;getCodec()Lcom/mojang/serialization/MapCodec;
      intermediary method_53969 Lnet/minecraft/class_4970;method_53969()Lcom/mojang/serialization/MapCodec;
      official a Ldsc;a()Lcom/mojang/serialization/MapCodec;
    • getRawIdFromState

      public static int getRawIdFromState(@Nullable @Nullable BlockState state)
      Mappings:
      Namespace Name Mixin selector
      named getRawIdFromState Lnet/minecraft/block/Block;getRawIdFromState(Lnet/minecraft/block/BlockState;)I
      intermediary method_9507 Lnet/minecraft/class_2248;method_9507(Lnet/minecraft/class_2680;)I
      official i Ldfa;i(Ldsd;)I
    • getStateFromRawId

      public static BlockState getStateFromRawId(int stateId)
      Mappings:
      Namespace Name Mixin selector
      named getStateFromRawId Lnet/minecraft/block/Block;getStateFromRawId(I)Lnet/minecraft/block/BlockState;
      intermediary method_9531 Lnet/minecraft/class_2248;method_9531(I)Lnet/minecraft/class_2680;
      official a Ldfa;a(I)Ldsd;
    • getBlockFromItem

      public static Block getBlockFromItem(@Nullable @Nullable Item item)
      Mappings:
      Namespace Name Mixin selector
      named getBlockFromItem Lnet/minecraft/block/Block;getBlockFromItem(Lnet/minecraft/item/Item;)Lnet/minecraft/block/Block;
      intermediary method_9503 Lnet/minecraft/class_2248;method_9503(Lnet/minecraft/class_1792;)Lnet/minecraft/class_2248;
      official a Ldfa;a(Lcul;)Ldfa;
    • 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
      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;
      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;
      official a Ldfa;a(Ldsd;Ldsd;Ldca;Liz;)Ldsd;
    • createCuboidShape

      public static VoxelShape createCuboidShape(double minX, double minY, double minZ, double maxX, double maxY, double maxZ)
      Mappings:
      Namespace Name Mixin selector
      named createCuboidShape Lnet/minecraft/block/Block;createCuboidShape(DDDDDD)Lnet/minecraft/util/shape/VoxelShape;
      intermediary method_9541 Lnet/minecraft/class_2248;method_9541(DDDDDD)Lnet/minecraft/class_265;
      official a Ldfa;a(DDDDDD)Lewl;
    • postProcessState

      public static BlockState postProcessState(BlockState state, WorldAccess world, BlockPos pos)
      Mappings:
      Namespace Name Mixin selector
      named postProcessState Lnet/minecraft/block/Block;postProcessState(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/WorldAccess;Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/block/BlockState;
      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;
      official b Ldfa;b(Ldsd;Ldca;Liz;)Ldsd;
    • replace

      public static void replace(BlockState state, BlockState newState, WorldAccess world, BlockPos pos, int flags)
      Replaces the state with the newState at the pos.

      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 state
      newState - the new block state
      world - the world
      pos - the position of the replaced block state
      flags - the bitwise flags for ModifiableWorld.setBlockState(BlockPos, BlockState, int, int)
      Mappings:
      Namespace Name Mixin selector
      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
      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
      official a Ldfa;a(Ldsd;Ldsd;Ldca;Liz;I)V
    • replace

      public static void replace(BlockState state, BlockState newState, WorldAccess world, BlockPos pos, int flags, int maxUpdateDepth)
      Replaces the state with the newState at the pos.

      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 state
      newState - the new block state
      world - the world
      pos - the position of the replaced block state
      flags - the bitwise flags for ModifiableWorld.setBlockState(BlockPos, BlockState, int, int)
      maxUpdateDepth - the limit for the cascading block updates
      Mappings:
      Namespace Name Mixin selector
      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
      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
      official a Ldfa;a(Ldsd;Ldsd;Ldca;Liz;II)V
    • cannotConnect

      public static boolean cannotConnect(BlockState state)
      Mappings:
      Namespace Name Mixin selector
      named cannotConnect Lnet/minecraft/block/Block;cannotConnect(Lnet/minecraft/block/BlockState;)Z
      intermediary method_9581 Lnet/minecraft/class_2248;method_9581(Lnet/minecraft/class_2680;)Z
      official j Ldfa;j(Ldsd;)Z
    • shouldDrawSide

      public static boolean shouldDrawSide(BlockState state, BlockView world, BlockPos pos, Direction side, BlockPos otherPos)
      Mappings:
      Namespace Name Mixin selector
      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
      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
      official a Ldfa;a(Ldsd;Ldbf;Liz;Lje;Liz;)Z
    • hasTopRim

      public static boolean hasTopRim(BlockView world, BlockPos pos)
      Mappings:
      Namespace Name Mixin selector
      named hasTopRim Lnet/minecraft/block/Block;hasTopRim(Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;)Z
      intermediary method_16361 Lnet/minecraft/class_2248;method_16361(Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Z
      official c Ldfa;c(Ldbf;Liz;)Z
    • sideCoversSmallSquare

      public static boolean sideCoversSmallSquare(WorldView world, BlockPos pos, Direction side)
      Mappings:
      Namespace Name Mixin selector
      named sideCoversSmallSquare Lnet/minecraft/block/Block;sideCoversSmallSquare(Lnet/minecraft/world/WorldView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/Direction;)Z
      intermediary method_20044 Lnet/minecraft/class_2248;method_20044(Lnet/minecraft/class_4538;Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;)Z
      official a Ldfa;a(Ldcc;Liz;Lje;)Z
    • isFaceFullSquare

      public static boolean isFaceFullSquare(VoxelShape shape, Direction side)
      Mappings:
      Namespace Name Mixin selector
      named isFaceFullSquare Lnet/minecraft/block/Block;isFaceFullSquare(Lnet/minecraft/util/shape/VoxelShape;Lnet/minecraft/util/math/Direction;)Z
      intermediary method_9501 Lnet/minecraft/class_2248;method_9501(Lnet/minecraft/class_265;Lnet/minecraft/class_2350;)Z
      official a Ldfa;a(Lewl;Lje;)Z
    • isShapeFullCube

      public static boolean isShapeFullCube(VoxelShape shape)
      Mappings:
      Namespace Name Mixin selector
      named isShapeFullCube Lnet/minecraft/block/Block;isShapeFullCube(Lnet/minecraft/util/shape/VoxelShape;)Z
      intermediary method_9614 Lnet/minecraft/class_2248;method_9614(Lnet/minecraft/class_265;)Z
      official a Ldfa;a(Lewl;)Z
    • randomDisplayTick

      public void randomDisplayTick(BlockState state, World world, BlockPos pos, Random random)
      Called randomly on the client. Blocks may override this to spawn particles. Unlike AbstractBlock.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
      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
      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
      official a Ldfa;a(Ldsd;Ldbz;Liz;Lazh;)V
    • onBroken

      public void onBroken(WorldAccess world, BlockPos pos, BlockState state)
      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) or AbstractBlock.onStacksDropped(net.minecraft.block.BlockState, net.minecraft.server.world.ServerWorld, net.minecraft.util.math.BlockPos, net.minecraft.item.ItemStack, boolean) should be used instead. Note that they are called when blocks are broken by explosions as well as players breaking them.

      This method is called on both the logical client and logical server, so take caution when overriding this method. The logical side can be checked using World.isClient.

      See Also:
      Mappings:
      Namespace Name Mixin selector
      named onBroken Lnet/minecraft/block/Block;onBroken(Lnet/minecraft/world/WorldAccess;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)V
      intermediary method_9585 Lnet/minecraft/class_2248;method_9585(Lnet/minecraft/class_1936;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)V
      official a Ldfa;a(Ldca;Liz;Ldsd;)V
    • getDroppedStacks

      public static List<ItemStack> getDroppedStacks(BlockState state, ServerWorld world, BlockPos pos, @Nullable @Nullable BlockEntity blockEntity)
      Mappings:
      Namespace Name Mixin selector
      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;
      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;
      official a Ldfa;a(Ldsd;Larf;Liz;Ldpi;)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
      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;
      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;
      official a Ldfa;a(Ldsd;Larf;Liz;Ldpi;Lbsv;Lcuq;)Ljava/util/List;
    • dropStacks

      public static void dropStacks(BlockState state, World world, BlockPos pos)
      Mappings:
      Namespace Name Mixin selector
      named dropStacks Lnet/minecraft/block/Block;dropStacks(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;)V
      intermediary method_9497 Lnet/minecraft/class_2248;method_9497(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;)V
      official c Ldfa;c(Ldsd;Ldbz;Liz;)V
    • dropStacks

      public static void dropStacks(BlockState state, WorldAccess world, BlockPos pos, @Nullable @Nullable BlockEntity blockEntity)
      Mappings:
      Namespace Name Mixin selector
      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
      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
      official a Ldfa;a(Ldsd;Ldca;Liz;Ldpi;)V
    • dropStacks

      public static void dropStacks(BlockState state, World world, BlockPos pos, @Nullable @Nullable BlockEntity blockEntity, @Nullable @Nullable Entity entity, ItemStack tool)
      Mappings:
      Namespace Name Mixin selector
      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
      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
      official a Ldfa;a(Ldsd;Ldbz;Liz;Ldpi;Lbsv;Lcuq;)V
    • dropStack

      public static void dropStack(World world, BlockPos pos, ItemStack stack)
      Mappings:
      Namespace Name Mixin selector
      named dropStack Lnet/minecraft/block/Block;dropStack(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/item/ItemStack;)V
      intermediary method_9577 Lnet/minecraft/class_2248;method_9577(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1799;)V
      official a Ldfa;a(Ldbz;Liz;Lcuq;)V
    • dropStack

      public static void dropStack(World world, BlockPos pos, Direction direction, ItemStack stack)
      Mappings:
      Namespace Name Mixin selector
      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
      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
      official a Ldfa;a(Ldbz;Liz;Lje;Lcuq;)V
    • dropStack

      private static void dropStack(World world, Supplier<ItemEntity> itemEntitySupplier, ItemStack stack)
      Mappings:
      Namespace Name Mixin selector
      named dropStack Lnet/minecraft/block/Block;dropStack(Lnet/minecraft/world/World;Ljava/util/function/Supplier;Lnet/minecraft/item/ItemStack;)V
      intermediary method_36993 Lnet/minecraft/class_2248;method_36993(Lnet/minecraft/class_1937;Ljava/util/function/Supplier;Lnet/minecraft/class_1799;)V
      official a Ldfa;a(Ldbz;Ljava/util/function/Supplier;Lcuq;)V
    • dropExperience

      protected void dropExperience(ServerWorld world, BlockPos pos, int size)
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named dropExperience Lnet/minecraft/block/Block;dropExperience(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/util/math/BlockPos;I)V
      intermediary method_9583 Lnet/minecraft/class_2248;method_9583(Lnet/minecraft/class_3218;Lnet/minecraft/class_2338;I)V
      official a Ldfa;a(Larf;Liz;I)V
    • getBlastResistance

      public float getBlastResistance()
      Mappings:
      Namespace Name Mixin selector
      named getBlastResistance Lnet/minecraft/block/Block;getBlastResistance()F
      intermediary method_9520 Lnet/minecraft/class_2248;method_9520()F
      official e Ldfa;e()F
    • onDestroyedByExplosion

      public void onDestroyedByExplosion(World world, BlockPos pos, Explosion explosion)
      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
      named onDestroyedByExplosion Lnet/minecraft/block/Block;onDestroyedByExplosion(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/world/explosion/Explosion;)V
      intermediary method_9586 Lnet/minecraft/class_2248;method_9586(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1927;)V
      official a Ldfa;a(Ldbz;Liz;Ldbr;)V
    • onSteppedOn

      public void onSteppedOn(World world, BlockPos pos, BlockState state, Entity entity)
      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
      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
      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
      official a Ldfa;a(Ldbz;Liz;Ldsd;Lbsv;)V
    • getPlacementState

      @Nullable public @Nullable BlockState getPlacementState(ItemPlacementContext ctx)
      Mappings:
      Namespace Name Mixin selector
      named getPlacementState Lnet/minecraft/block/Block;getPlacementState(Lnet/minecraft/item/ItemPlacementContext;)Lnet/minecraft/block/BlockState;
      intermediary method_9605 Lnet/minecraft/class_2248;method_9605(Lnet/minecraft/class_1750;)Lnet/minecraft/class_2680;
      official a Ldfa;a(Lcyb;)Ldsd;
    • afterBreak

      public void afterBreak(World world, PlayerEntity player, BlockPos pos, BlockState state, @Nullable @Nullable BlockEntity blockEntity, ItemStack tool)
      Called server-side when the block is broken by the player using correct tool. This is called after onBroken(net.minecraft.world.WorldAccess, net.minecraft.util.math.BlockPos, net.minecraft.block.BlockState) but has the tool requirement. By default, this increments Stats.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 (like TurtleEggBlock). BeehiveBlock uses this to anger the bees if the hive is mined without silk touch.

      See Also:
      Mappings:
      Namespace Name Mixin selector
      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
      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
      official a Ldfa;a(Ldbz;Lcmy;Liz;Ldsd;Ldpi;Lcuq;)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
      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
      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
      official a Ldfa;a(Ldbz;Liz;Ldsd;Lbtq;Lcuq;)V
    • canMobSpawnInside

      public boolean canMobSpawnInside(BlockState state)
      Mappings:
      Namespace Name Mixin selector
      named canMobSpawnInside Lnet/minecraft/block/Block;canMobSpawnInside(Lnet/minecraft/block/BlockState;)Z
      intermediary method_9538 Lnet/minecraft/class_2248;method_9538(Lnet/minecraft/class_2680;)Z
      official a Ldfa;a(Ldsd;)Z
    • getName

      public MutableText getName()
      Mappings:
      Namespace Name Mixin selector
      named getName Lnet/minecraft/block/Block;getName()Lnet/minecraft/text/MutableText;
      intermediary method_9518 Lnet/minecraft/class_2248;method_9518()Lnet/minecraft/class_5250;
      official f Ldfa;f()Lyd;
    • getTranslationKey

      public String getTranslationKey()
      Returns the translation key for the name of this block.

      By default, it returns block.namespace.path where namespace and path are of the identifier used for registering this block, but / in path is replaced with .. If the block is not registered, it returns block.unregistered_sadface.

      Returns:
      the translation key for the name of this block
      Mappings:
      Namespace Name Mixin selector
      named getTranslationKey Lnet/minecraft/block/Block;getTranslationKey()Ljava/lang/String;
      intermediary method_9539 Lnet/minecraft/class_2248;method_9539()Ljava/lang/String;
      official g Ldfa;g()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
      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
      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
      official a Ldfa;a(Ldbz;Ldsd;Liz;Lbsv;F)V
    • onEntityLand

      public void onEntityLand(BlockView world, Entity entity)
      Called after the entity lands on the block.

      Default implementation resets the entity's vertical velocity. Blocks that cause entities to jump (such as SlimeBlock) should override this.

      This method is called on both the logical client and logical server, so take caution when overriding this method. The logical side can be checked using World.isClient.

      Mappings:
      Namespace Name Mixin selector
      named onEntityLand Lnet/minecraft/block/Block;onEntityLand(Lnet/minecraft/world/BlockView;Lnet/minecraft/entity/Entity;)V
      intermediary method_9502 Lnet/minecraft/class_2248;method_9502(Lnet/minecraft/class_1922;Lnet/minecraft/class_1297;)V
      official a Ldfa;a(Ldbf;Lbsv;)V
    • getPickStack

      public ItemStack getPickStack(WorldView world, BlockPos pos, BlockState state)
      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
      named getPickStack Lnet/minecraft/block/Block;getPickStack(Lnet/minecraft/world/WorldView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)Lnet/minecraft/item/ItemStack;
      intermediary method_9574 Lnet/minecraft/class_2248;method_9574(Lnet/minecraft/class_4538;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)Lnet/minecraft/class_1799;
      official a Ldfa;a(Ldcc;Liz;Ldsd;)Lcuq;
    • getSlipperiness

      public float getSlipperiness()
      Mappings:
      Namespace Name Mixin selector
      named getSlipperiness Lnet/minecraft/block/Block;getSlipperiness()F
      intermediary method_9499 Lnet/minecraft/class_2248;method_9499()F
      official h Ldfa;h()F
    • getVelocityMultiplier

      public float getVelocityMultiplier()
      Mappings:
      Namespace Name Mixin selector
      named getVelocityMultiplier Lnet/minecraft/block/Block;getVelocityMultiplier()F
      intermediary method_23349 Lnet/minecraft/class_2248;method_23349()F
      official j Ldfa;j()F
    • getJumpVelocityMultiplier

      public float getJumpVelocityMultiplier()
      Mappings:
      Namespace Name Mixin selector
      named getJumpVelocityMultiplier Lnet/minecraft/block/Block;getJumpVelocityMultiplier()F
      intermediary method_23350 Lnet/minecraft/class_2248;method_23350()F
      official k Ldfa;k()F
    • spawnBreakParticles

      protected void spawnBreakParticles(World world, PlayerEntity player, BlockPos pos, BlockState state)
      Mappings:
      Namespace Name Mixin selector
      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
      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
      official a Ldfa;a(Ldbz;Lcmy;Liz;Ldsd;)V
    • onBreak

      public BlockState onBreak(World world, BlockPos pos, BlockState state, PlayerEntity player)
      Called when a player breaks a block before the block is removed from the world. Explosions do not trigger this.

      Default implementation spawns block breaking particles, angers piglins, and emits game events. Tall or wide blocks such as doors or beds should override this to break the other part (along with AbstractBlock.getStateForNeighborUpdate(net.minecraft.block.BlockState, net.minecraft.util.math.Direction, net.minecraft.block.BlockState, net.minecraft.world.WorldAccess, net.minecraft.util.math.BlockPos, net.minecraft.util.math.BlockPos).)

      In most cases, AbstractBlock.onStateReplaced(net.minecraft.block.BlockState, net.minecraft.world.World, net.minecraft.util.math.BlockPos, net.minecraft.block.BlockState, boolean) or AbstractBlock.onStacksDropped(net.minecraft.block.BlockState, net.minecraft.server.world.ServerWorld, net.minecraft.util.math.BlockPos, net.minecraft.item.ItemStack, boolean) should be used instead. Note that they are called when blocks are broken by explosions as well as players breaking them.

      This method is called on both the logical client and logical server, so take caution when overriding this method. The logical side can be checked using World.isClient.

      See Also:
      Mappings:
      Namespace Name Mixin selector
      named onBreak Lnet/minecraft/block/Block;onBreak(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Lnet/minecraft/entity/player/PlayerEntity;)Lnet/minecraft/block/BlockState;
      intermediary method_9576 Lnet/minecraft/class_2248;method_9576(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Lnet/minecraft/class_1657;)Lnet/minecraft/class_2680;
      official a Ldfa;a(Ldbz;Liz;Ldsd;Lcmy;)Ldsd;
    • 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 the randomTickSpeed game rule, and AbstractBlock.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
      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
      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
      official a Ldfa;a(Ldsd;Ldbz;Liz;Ldcy$c;)V
    • shouldDropItemsOnExplosion

      public boolean shouldDropItemsOnExplosion(Explosion explosion)
      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
      named shouldDropItemsOnExplosion Lnet/minecraft/block/Block;shouldDropItemsOnExplosion(Lnet/minecraft/world/explosion/Explosion;)Z
      intermediary method_9533 Lnet/minecraft/class_2248;method_9533(Lnet/minecraft/class_1927;)Z
      official a Ldfa;a(Ldbr;)Z
    • appendProperties

      protected void appendProperties(StateManager.Builder<Block,BlockState> builder)
      Appends block state properties to this block. To use this, override and call StateManager.Builder.add(net.minecraft.state.property.Property<?>[]) inside the method. See Properties for the list of pre-defined properties.
      Mappings:
      Namespace Name Mixin selector
      named appendProperties Lnet/minecraft/block/Block;appendProperties(Lnet/minecraft/state/StateManager$Builder;)V
      intermediary method_9515 Lnet/minecraft/class_2248;method_9515(Lnet/minecraft/class_2689$class_2690;)V
      official a Ldfa;a(Ldse$a;)V
    • getStateManager

      public StateManager<Block,BlockState> getStateManager()
      Mappings:
      Namespace Name Mixin selector
      named getStateManager Lnet/minecraft/block/Block;getStateManager()Lnet/minecraft/state/StateManager;
      intermediary method_9595 Lnet/minecraft/class_2248;method_9595()Lnet/minecraft/class_2689;
      official l Ldfa;l()Ldse;
    • setDefaultState

      protected final void setDefaultState(BlockState state)
      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
      named setDefaultState Lnet/minecraft/block/Block;setDefaultState(Lnet/minecraft/block/BlockState;)V
      intermediary method_9590 Lnet/minecraft/class_2248;method_9590(Lnet/minecraft/class_2680;)V
      official k Ldfa;k(Ldsd;)V
    • getDefaultState

      public final BlockState getDefaultState()
      Mappings:
      Namespace Name Mixin selector
      named getDefaultState Lnet/minecraft/block/Block;getDefaultState()Lnet/minecraft/block/BlockState;
      intermediary method_9564 Lnet/minecraft/class_2248;method_9564()Lnet/minecraft/class_2680;
      official o Ldfa;o()Ldsd;
    • getStateWithProperties

      public final BlockState getStateWithProperties(BlockState state)
      Gets a block state with all properties that both this block and the source block state have.
      Mappings:
      Namespace Name Mixin selector
      named getStateWithProperties Lnet/minecraft/block/Block;getStateWithProperties(Lnet/minecraft/block/BlockState;)Lnet/minecraft/block/BlockState;
      intermediary method_34725 Lnet/minecraft/class_2248;method_34725(Lnet/minecraft/class_2680;)Lnet/minecraft/class_2680;
      official l Ldfa;l(Ldsd;)Ldsd;
    • copyProperty

      private static <T extends Comparable<T>> BlockState copyProperty(BlockState source, BlockState target, Property<T> property)
      Mappings:
      Namespace Name Mixin selector
      named copyProperty Lnet/minecraft/block/Block;copyProperty(Lnet/minecraft/block/BlockState;Lnet/minecraft/block/BlockState;Lnet/minecraft/state/property/Property;)Lnet/minecraft/block/BlockState;
      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;
      official a Ldfa;a(Ldsd;Ldsd;Ldtg;)Ldsd;
    • asItem

      public Item 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 interface ItemConvertible
      Specified by:
      asItem in class AbstractBlock
      Returns:
      the block's corresponding item
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named asItem Lnet/minecraft/block/AbstractBlock;asItem()Lnet/minecraft/item/Item;
      intermediary method_8389 Lnet/minecraft/class_4970;method_8389()Lnet/minecraft/class_1792;
      official r Ldsc;r()Lcul;
    • hasDynamicBounds

      public boolean hasDynamicBounds()
      Mappings:
      Namespace Name Mixin selector
      named hasDynamicBounds Lnet/minecraft/block/Block;hasDynamicBounds()Z
      intermediary method_9543 Lnet/minecraft/class_2248;method_9543()Z
      official p Ldfa;p()Z
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • appendTooltip

      public void appendTooltip(ItemStack stack, Item.TooltipContext context, List<Text> tooltip, TooltipType options)
      Appends tooltips to a stack of this block's corresponding block item. Used by shulker boxes.
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named appendTooltip Lnet/minecraft/block/Block;appendTooltip(Lnet/minecraft/item/ItemStack;Lnet/minecraft/item/Item$TooltipContext;Ljava/util/List;Lnet/minecraft/client/item/TooltipType;)V
      intermediary method_9568 Lnet/minecraft/class_2248;method_9568(Lnet/minecraft/class_1799;Lnet/minecraft/class_1792$class_9635;Ljava/util/List;Lnet/minecraft/class_1836;)V
      official a Ldfa;a(Lcuq;Lcul$b;Ljava/util/List;Lcwj;)V
    • asBlock

      protected Block asBlock()
      Returns the block as Block.

      This is used for casting purposes.

      Specified by:
      asBlock in class AbstractBlock
      Returns:
      the block as Block
      Mappings:
      Namespace Name Mixin selector
      named asBlock Lnet/minecraft/block/AbstractBlock;asBlock()Lnet/minecraft/block/Block;
      intermediary method_26160 Lnet/minecraft/class_4970;method_26160()Lnet/minecraft/class_2248;
      official q Ldsc;q()Ldfa;
    • getShapesForStates

      protected ImmutableMap<BlockState,VoxelShape> getShapesForStates(Function<BlockState,VoxelShape> stateToShape)
      Mappings:
      Namespace Name Mixin selector
      named getShapesForStates Lnet/minecraft/block/Block;getShapesForStates(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;
      official a Ldfa;a(Ljava/util/function/Function;)Lcom/google/common/collect/ImmutableMap;
    • getRegistryEntry

      @Deprecated public RegistryEntry.Reference<Block> getRegistryEntry()
      Deprecated.
      Mappings:
      Namespace Name Mixin selector
      named getRegistryEntry Lnet/minecraft/block/Block;getRegistryEntry()Lnet/minecraft/registry/entry/RegistryEntry$Reference;
      intermediary method_40142 Lnet/minecraft/class_2248;method_40142()Lnet/minecraft/class_6880$class_6883;
      official s Ldfa;s()Lji$c;
    • dropExperienceWhenMined

      protected void dropExperienceWhenMined(ServerWorld world, BlockPos pos, ItemStack tool, IntProvider experience)
      Drops experience orbs. This should be called inside AbstractBlock.onStacksDropped(net.minecraft.block.BlockState, net.minecraft.server.world.ServerWorld, net.minecraft.util.math.BlockPos, net.minecraft.item.ItemStack, boolean) after dropExperience check. This does not drop experience orbs if tool is enchanted with silk touch or if doTileDrops is turned off.
      Parameters:
      tool - the tool used to break the block, or ItemStack.EMPTY for explosions
      See Also:
      Mappings:
      Namespace Name Mixin selector
      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
      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
      official a Ldfa;a(Larf;Liz;Lcuq;Lbqa;)V