Class SmallDripleafBlock

All Implemented Interfaces:
Fertilizable, FluidDrainable, FluidFillable, Waterloggable, ItemConvertible, ToggleableFeature

public class SmallDripleafBlock extends TallPlantBlock implements Fertilizable, Waterloggable
Mappings:
Namespace Name
official ddu
intermediary net/minecraft/class_5808
named net/minecraft/block/SmallDripleafBlock
  • Field Details

    • CODEC

      public static final com.mojang.serialization.MapCodec<SmallDripleafBlock> CODEC
      Mappings:
      Namespace Name Mixin selector
      official c Lddu;c:Lcom/mojang/serialization/MapCodec;
      intermediary field_46447 Lnet/minecraft/class_5808;field_46447:Lcom/mojang/serialization/MapCodec;
      named CODEC Lnet/minecraft/block/SmallDripleafBlock;CODEC:Lcom/mojang/serialization/MapCodec;
    • WATERLOGGED

      private static final BooleanProperty WATERLOGGED
      Mappings:
      Namespace Name Mixin selector
      official g Lddu;g:Ldjy;
      intermediary field_28691 Lnet/minecraft/class_5808;field_28691:Lnet/minecraft/class_2746;
      named WATERLOGGED Lnet/minecraft/block/SmallDripleafBlock;WATERLOGGED:Lnet/minecraft/state/property/BooleanProperty;
    • FACING

      public static final DirectionProperty FACING
      Mappings:
      Namespace Name Mixin selector
      official d Lddu;d:Ldkb;
      intermediary field_29563 Lnet/minecraft/class_5808;field_29563:Lnet/minecraft/class_2753;
      named FACING Lnet/minecraft/block/SmallDripleafBlock;FACING:Lnet/minecraft/state/property/DirectionProperty;
    • field_31246

      protected static final float field_31246
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official e Lddu;e:F
      intermediary field_31246 Lnet/minecraft/class_5808;field_31246:F
      named field_31246 Lnet/minecraft/block/SmallDripleafBlock;field_31246:F
    • SHAPE

      protected static final VoxelShape SHAPE
      Mappings:
      Namespace Name Mixin selector
      official f Lddu;f:Lemm;
      intermediary field_28690 Lnet/minecraft/class_5808;field_28690:Lnet/minecraft/class_265;
      named SHAPE Lnet/minecraft/block/SmallDripleafBlock;SHAPE:Lnet/minecraft/util/shape/VoxelShape;
  • Constructor Details

    • SmallDripleafBlock

      public SmallDripleafBlock(AbstractBlock.Settings settings)
      Mappings:
      Namespace Name Mixin selector
      official <init> Ldjg;<init>(Ldjg$d;)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

    • getCodec

      public com.mojang.serialization.MapCodec<SmallDripleafBlock> getCodec()
      Overrides:
      getCodec in class TallPlantBlock
      Mappings:
      Namespace Name Mixin selector
      official a Ldjg;a()Lcom/mojang/serialization/MapCodec;
      intermediary method_53969 Lnet/minecraft/class_4970;method_53969()Lcom/mojang/serialization/MapCodec;
      named getCodec Lnet/minecraft/block/AbstractBlock;getCodec()Lcom/mojang/serialization/MapCodec;
    • getOutlineShape

      public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context)
      Overrides:
      getOutlineShape in class AbstractBlock
      Mappings:
      Namespace Name Mixin selector
      official a Ldjg;a(Ldjh;Lcsv;Lhx;Lely;)Lemm;
      intermediary method_9530 Lnet/minecraft/class_4970;method_9530(Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_3726;)Lnet/minecraft/class_265;
      named getOutlineShape Lnet/minecraft/block/AbstractBlock;getOutlineShape(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/ShapeContext;)Lnet/minecraft/util/shape/VoxelShape;
    • canPlantOnTop

      protected boolean canPlantOnTop(BlockState floor, BlockView world, BlockPos pos)
      Overrides:
      canPlantOnTop in class PlantBlock
      Mappings:
      Namespace Name Mixin selector
      official b Lcwz;b(Ldjh;Lcsv;Lhx;)Z
      intermediary method_9695 Lnet/minecraft/class_2261;method_9695(Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Z
      named canPlantOnTop Lnet/minecraft/block/PlantBlock;canPlantOnTop(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;)Z
    • getPlacementState

      @Nullable public @Nullable BlockState getPlacementState(ItemPlacementContext ctx)
      Overrides:
      getPlacementState in class TallPlantBlock
      Mappings:
      Namespace Name Mixin selector
      official a Lcwq;a(Lcph;)Ldjh;
      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;
    • onPlaced

      public void onPlaced(World world, BlockPos pos, BlockState state, 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.

      Overrides:
      onPlaced in class TallPlantBlock
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lcwq;a(Lctp;Lhx;Ldjh;Lbml;Lcmy;)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
    • getFluidState

      public FluidState getFluidState(BlockState state)
      Returns the state's associated fluid state.

      Waterloggable blocks must override this to return Fluids.WATER.getStill(false) when waterlogged.

      Overrides:
      getFluidState in class AbstractBlock
      Returns:
      the state's associated fluid state
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official c_ Ldjg;c_(Ldjh;)Leer;
      intermediary method_9545 Lnet/minecraft/class_4970;method_9545(Lnet/minecraft/class_2680;)Lnet/minecraft/class_3610;
      named getFluidState Lnet/minecraft/block/AbstractBlock;getFluidState(Lnet/minecraft/block/BlockState;)Lnet/minecraft/fluid/FluidState;
    • canPlaceAt

      public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos)
      Returns whether the block can be placed at pos.

      Blocks with supporting block requirements should override this method. Note that this should also be checked manually during 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 order to break the block that lost its supporting block.

      This is only checked during the use of block items or by endermen, falling blocks, etc that can place blocks. This does not affect block state changes performed through World.setBlockState(BlockPos, BlockState) call.

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

      Overrides:
      canPlaceAt in class TallPlantBlock
      Returns:
      whether the block can be placed at pos
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Ldjg;a(Ldjh;Lcts;Lhx;)Z
      intermediary method_9558 Lnet/minecraft/class_4970;method_9558(Lnet/minecraft/class_2680;Lnet/minecraft/class_4538;Lnet/minecraft/class_2338;)Z
      named canPlaceAt Lnet/minecraft/block/AbstractBlock;canPlaceAt(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/WorldView;Lnet/minecraft/util/math/BlockPos;)Z
    • getStateForNeighborUpdate

      public BlockState getStateForNeighborUpdate(BlockState state, Direction direction, BlockState neighborState, WorldAccess world, BlockPos pos, BlockPos neighborPos)
      Returns the state of the block after a neighboring block's state change.

      Returning Blocks.AIR breaks the block. This is useful to implement supporting block requirement for blocks (if used along with AbstractBlock.canPlaceAt(net.minecraft.block.BlockState, net.minecraft.world.WorldView, net.minecraft.util.math.BlockPos)).

      Side effects like activating a redstone component (but not scheduling a tick) should be performed in AbstractBlock.neighborUpdate(net.minecraft.block.BlockState, net.minecraft.world.World, net.minecraft.util.math.BlockPos, net.minecraft.block.Block, net.minecraft.util.math.BlockPos, boolean) instead. If the block supports waterlogging and currently has water, this method should be overridden to tick the fluid at the block's position.

      This method is called on both the logical client and logical server, so take caution when overriding this method. The logical side can be checked using World.isClient. This is not called if Block.FORCE_STATE flag is set in the setBlockState call.

      This method can be used for multiple purposes. Here are some examples:

      • FenceBlock uses it to update the fence's connection when a horizontally neighboring block's state is changed.
      • PlantBlock uses it to break the plant if the state change causes it to lose its supporting block.
      • DoorBlock uses it to copy the state of the other half of the door.
      • SlabBlock uses it to schedule the fluid to tick if waterlogged.
      • SoulSandBlock uses it to schedule the water block above to tick so that it becomes a bubble column.
      • FallingBlock uses it to schedule the block to tick so that it can fall if needed.
      Overrides:
      getStateForNeighborUpdate in class TallPlantBlock
      Parameters:
      state - the state of this block
      direction - the direction from this block to the neighbor
      neighborState - the state of the updated neighbor block
      world - the world
      pos - the position of this block
      neighborPos - the position of the neighbor block
      Returns:
      the state of the block after a neighboring block's state change
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Ldjg;a(Ldjh;Lic;Ldjh;Lctq;Lhx;Lhx;)Ldjh;
      intermediary method_9559 Lnet/minecraft/class_4970;method_9559(Lnet/minecraft/class_2680;Lnet/minecraft/class_2350;Lnet/minecraft/class_2680;Lnet/minecraft/class_1936;Lnet/minecraft/class_2338;Lnet/minecraft/class_2338;)Lnet/minecraft/class_2680;
      named getStateForNeighborUpdate Lnet/minecraft/block/AbstractBlock;getStateForNeighborUpdate(Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/Direction;Lnet/minecraft/block/BlockState;Lnet/minecraft/world/WorldAccess;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/block/BlockState;
    • 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.
      Overrides:
      appendProperties in class TallPlantBlock
      Mappings:
      Namespace Name Mixin selector
      official a Lcwq;a(Ldji$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
    • isFertilizable

      public boolean isFertilizable(WorldView world, BlockPos pos, BlockState state)
      Specified by:
      isFertilizable in interface Fertilizable
      Mappings:
      Namespace Name Mixin selector
      official b Lcwt;b(Lcts;Lhx;Ldjh;)Z
      intermediary method_9651 Lnet/minecraft/class_2256;method_9651(Lnet/minecraft/class_4538;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)Z
      named isFertilizable Lnet/minecraft/block/Fertilizable;isFertilizable(Lnet/minecraft/world/WorldView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)Z
    • canGrow

      public boolean canGrow(World world, Random random, BlockPos pos, BlockState state)
      Specified by:
      canGrow in interface Fertilizable
      Mappings:
      Namespace Name Mixin selector
      official a Lcwt;a(Lctp;Lauv;Lhx;Ldjh;)Z
      intermediary method_9650 Lnet/minecraft/class_2256;method_9650(Lnet/minecraft/class_1937;Lnet/minecraft/class_5819;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)Z
      named canGrow Lnet/minecraft/block/Fertilizable;canGrow(Lnet/minecraft/world/World;Lnet/minecraft/util/math/random/Random;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)Z
    • grow

      public void grow(ServerWorld world, Random random, BlockPos pos, BlockState state)
      Specified by:
      grow in interface Fertilizable
      Mappings:
      Namespace Name Mixin selector
      official a Lcwt;a(Land;Lauv;Lhx;Ldjh;)V
      intermediary method_9652 Lnet/minecraft/class_2256;method_9652(Lnet/minecraft/class_3218;Lnet/minecraft/class_5819;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)V
      named grow Lnet/minecraft/block/Fertilizable;grow(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/util/math/random/Random;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)V
    • rotate

      public BlockState rotate(BlockState state, BlockRotation rotation)
      Returns state rotated by rotation.

      By default, this returns the provided block state.

      Overrides:
      rotate in class AbstractBlock
      Returns:
      state rotated by rotation
      Mappings:
      Namespace Name Mixin selector
      official a Ldjg;a(Ldjh;Lddc;)Ldjh;
      intermediary method_9598 Lnet/minecraft/class_4970;method_9598(Lnet/minecraft/class_2680;Lnet/minecraft/class_2470;)Lnet/minecraft/class_2680;
      named rotate Lnet/minecraft/block/AbstractBlock;rotate(Lnet/minecraft/block/BlockState;Lnet/minecraft/util/BlockRotation;)Lnet/minecraft/block/BlockState;
    • mirror

      public BlockState mirror(BlockState state, BlockMirror mirror)
      Returns state mirrored by mirror.

      By default, this returns the provided block state.

      Overrides:
      mirror in class AbstractBlock
      Returns:
      state mirrored by mirror
      Mappings:
      Namespace Name Mixin selector
      official a Ldjg;a(Ldjh;Ldbm;)Ldjh;
      intermediary method_9569 Lnet/minecraft/class_4970;method_9569(Lnet/minecraft/class_2680;Lnet/minecraft/class_2415;)Lnet/minecraft/class_2680;
      named mirror Lnet/minecraft/block/AbstractBlock;mirror(Lnet/minecraft/block/BlockState;Lnet/minecraft/util/BlockMirror;)Lnet/minecraft/block/BlockState;
    • getVerticalModelOffsetMultiplier

      public float getVerticalModelOffsetMultiplier()
      Overrides:
      getVerticalModelOffsetMultiplier in class AbstractBlock
      Mappings:
      Namespace Name Mixin selector
      official av_ Ldjg;av_()F
      intermediary method_37247 Lnet/minecraft/class_4970;method_37247()F
      named getVerticalModelOffsetMultiplier Lnet/minecraft/block/AbstractBlock;getVerticalModelOffsetMultiplier()F