Class MultifaceGrowthBlock

All Implemented Interfaces:
ItemConvertible, ToggleableFeature
Direct Known Subclasses:
GlowLichenBlock, SculkVeinBlock

public abstract class MultifaceGrowthBlock extends Block
Mappings:
Namespace Name
official cui
intermediary net/minecraft/class_5778
named net/minecraft/block/MultifaceGrowthBlock
  • Field Details

    • field_31194

      private static final float field_31194
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official b Lcui;b:F
      intermediary field_31194 Lnet/minecraft/class_5778;field_31194:F
      named field_31194 Lnet/minecraft/block/MultifaceGrowthBlock;field_31194:F
    • UP_SHAPE

      private static final VoxelShape UP_SHAPE
      Mappings:
      Namespace Name Mixin selector
      official c Lcui;c:Leet;
      intermediary field_28413 Lnet/minecraft/class_5778;field_28413:Lnet/minecraft/class_265;
      named UP_SHAPE Lnet/minecraft/block/MultifaceGrowthBlock;UP_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
    • DOWN_SHAPE

      private static final VoxelShape DOWN_SHAPE
      Mappings:
      Namespace Name Mixin selector
      official d Lcui;d:Leet;
      intermediary field_28414 Lnet/minecraft/class_5778;field_28414:Lnet/minecraft/class_265;
      named DOWN_SHAPE Lnet/minecraft/block/MultifaceGrowthBlock;DOWN_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
    • EAST_SHAPE

      private static final VoxelShape EAST_SHAPE
      Mappings:
      Namespace Name Mixin selector
      official e Lcui;e:Leet;
      intermediary field_28415 Lnet/minecraft/class_5778;field_28415:Lnet/minecraft/class_265;
      named EAST_SHAPE Lnet/minecraft/block/MultifaceGrowthBlock;EAST_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
    • WEST_SHAPE

      private static final VoxelShape WEST_SHAPE
      Mappings:
      Namespace Name Mixin selector
      official f Lcui;f:Leet;
      intermediary field_28416 Lnet/minecraft/class_5778;field_28416:Lnet/minecraft/class_265;
      named WEST_SHAPE Lnet/minecraft/block/MultifaceGrowthBlock;WEST_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
    • SOUTH_SHAPE

      private static final VoxelShape SOUTH_SHAPE
      Mappings:
      Namespace Name Mixin selector
      official g Lcui;g:Leet;
      intermediary field_28417 Lnet/minecraft/class_5778;field_28417:Lnet/minecraft/class_265;
      named SOUTH_SHAPE Lnet/minecraft/block/MultifaceGrowthBlock;SOUTH_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
    • NORTH_SHAPE

      private static final VoxelShape NORTH_SHAPE
      Mappings:
      Namespace Name Mixin selector
      official h Lcui;h:Leet;
      intermediary field_28418 Lnet/minecraft/class_5778;field_28418:Lnet/minecraft/class_265;
      named NORTH_SHAPE Lnet/minecraft/block/MultifaceGrowthBlock;NORTH_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
    • FACING_PROPERTIES

      private static final Map<Direction,BooleanProperty> FACING_PROPERTIES
      Mappings:
      Namespace Name Mixin selector
      official i Lcui;i:Ljava/util/Map;
      intermediary field_28419 Lnet/minecraft/class_5778;field_28419:Ljava/util/Map;
      named FACING_PROPERTIES Lnet/minecraft/block/MultifaceGrowthBlock;FACING_PROPERTIES:Ljava/util/Map;
    • SHAPES_FOR_DIRECTIONS

      private static final Map<Direction,VoxelShape> SHAPES_FOR_DIRECTIONS
      Mappings:
      Namespace Name Mixin selector
      official j Lcui;j:Ljava/util/Map;
      intermediary field_28420 Lnet/minecraft/class_5778;field_28420:Ljava/util/Map;
      named SHAPES_FOR_DIRECTIONS Lnet/minecraft/block/MultifaceGrowthBlock;SHAPES_FOR_DIRECTIONS:Ljava/util/Map;
    • DIRECTIONS

      protected static final Direction[] DIRECTIONS
      Mappings:
      Namespace Name Mixin selector
      official a Lcui;a:[Lha;
      intermediary field_28421 Lnet/minecraft/class_5778;field_28421:[Lnet/minecraft/class_2350;
      named DIRECTIONS Lnet/minecraft/block/MultifaceGrowthBlock;DIRECTIONS:[Lnet/minecraft/util/math/Direction;
    • SHAPES

      private final ImmutableMap<BlockState,VoxelShape> SHAPES
      Mappings:
      Namespace Name Mixin selector
      official k Lcui;k:Lcom/google/common/collect/ImmutableMap;
      intermediary field_28422 Lnet/minecraft/class_5778;field_28422:Lcom/google/common/collect/ImmutableMap;
      named SHAPES Lnet/minecraft/block/MultifaceGrowthBlock;SHAPES:Lcom/google/common/collect/ImmutableMap;
    • hasAllHorizontalDirections

      private final boolean hasAllHorizontalDirections
      Mappings:
      Namespace Name Mixin selector
      official l Lcui;l:Z
      intermediary field_28423 Lnet/minecraft/class_5778;field_28423:Z
      named hasAllHorizontalDirections Lnet/minecraft/block/MultifaceGrowthBlock;hasAllHorizontalDirections:Z
    • canMirrorX

      private final boolean canMirrorX
      Mappings:
      Namespace Name Mixin selector
      official m Lcui;m:Z
      intermediary field_28424 Lnet/minecraft/class_5778;field_28424:Z
      named canMirrorX Lnet/minecraft/block/MultifaceGrowthBlock;canMirrorX:Z
    • canMirrorZ

      private final boolean canMirrorZ
      Mappings:
      Namespace Name Mixin selector
      official n Lcui;n:Z
      intermediary field_28425 Lnet/minecraft/class_5778;field_28425:Z
      named canMirrorZ Lnet/minecraft/block/MultifaceGrowthBlock;canMirrorZ:Z
  • Constructor Details

    • MultifaceGrowthBlock

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

    • collectDirections

      public static Set<Direction> collectDirections(BlockState state)
      Mappings:
      Namespace Name Mixin selector
      official h Lcui;h(Ldby;)Ljava/util/Set;
      intermediary method_41440 Lnet/minecraft/class_5778;method_41440(Lnet/minecraft/class_2680;)Ljava/util/Set;
      named collectDirections Lnet/minecraft/block/MultifaceGrowthBlock;collectDirections(Lnet/minecraft/block/BlockState;)Ljava/util/Set;
    • flagToDirections

      public static Set<Direction> flagToDirections(byte flag)
      Mappings:
      Namespace Name Mixin selector
      official a Lcui;a(B)Ljava/util/Set;
      intermediary method_41437 Lnet/minecraft/class_5778;method_41437(B)Ljava/util/Set;
      named flagToDirections Lnet/minecraft/block/MultifaceGrowthBlock;flagToDirections(B)Ljava/util/Set;
    • directionsToFlag

      public static byte directionsToFlag(Collection<Direction> directions)
      Mappings:
      Namespace Name Mixin selector
      official a Lcui;a(Ljava/util/Collection;)B
      intermediary method_41439 Lnet/minecraft/class_5778;method_41439(Ljava/util/Collection;)B
      named directionsToFlag Lnet/minecraft/block/MultifaceGrowthBlock;directionsToFlag(Ljava/util/Collection;)B
    • canHaveDirection

      protected boolean canHaveDirection(Direction direction)
      Mappings:
      Namespace Name Mixin selector
      official a Lcui;a(Lha;)Z
      intermediary method_33369 Lnet/minecraft/class_5778;method_33369(Lnet/minecraft/class_2350;)Z
      named canHaveDirection Lnet/minecraft/block/MultifaceGrowthBlock;canHaveDirection(Lnet/minecraft/util/math/Direction;)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.
      Overrides:
      appendProperties in class Block
      Mappings:
      Namespace Name Mixin selector
      official a Lcpl;a(Ldbz$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
    • 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 AbstractBlock
      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 Ldbx;a(Ldby;Lha;Ldby;Lcml;Lgu;Lgu;)Ldby;
      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;
    • getOutlineShape

      public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context)
      Overrides:
      getOutlineShape in class AbstractBlock
      Mappings:
      Namespace Name Mixin selector
      official a Ldbx;a(Ldby;Lclq;Lgu;Leef;)Leet;
      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;
    • 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 AbstractBlock
      Returns:
      whether the block can be placed at pos
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Ldbx;a(Ldby;Lcmn;Lgu;)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
    • canReplace

      public boolean canReplace(BlockState state, ItemPlacementContext context)
      Returns whether the item can replace the block.

      By default, this checks if the block allows replacing and whether the item differs from the block's item. Items composed of multiple blocks, such as candles, vines, or snow layers, should override this to implement additional checks.

      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:
      canReplace in class AbstractBlock
      Returns:
      whether the item can replace the block
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Ldbx;a(Ldby;Lcif;)Z
      intermediary method_9616 Lnet/minecraft/class_4970;method_9616(Lnet/minecraft/class_2680;Lnet/minecraft/class_1750;)Z
      named canReplace Lnet/minecraft/block/AbstractBlock;canReplace(Lnet/minecraft/block/BlockState;Lnet/minecraft/item/ItemPlacementContext;)Z
    • getPlacementState

      @Nullable public @Nullable BlockState getPlacementState(ItemPlacementContext ctx)
      Overrides:
      getPlacementState in class Block
      Mappings:
      Namespace Name Mixin selector
      official a Lcpl;a(Lcif;)Ldby;
      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;
    • canGrowWithDirection

      public boolean canGrowWithDirection(BlockView world, BlockState state, BlockPos pos, Direction direction)
      Mappings:
      Namespace Name Mixin selector
      official a Lcui;a(Lclq;Ldby;Lgu;Lha;)Z
      intermediary method_41438 Lnet/minecraft/class_5778;method_41438(Lnet/minecraft/class_1922;Lnet/minecraft/class_2680;Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;)Z
      named canGrowWithDirection Lnet/minecraft/block/MultifaceGrowthBlock;canGrowWithDirection(Lnet/minecraft/world/BlockView;Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/Direction;)Z
    • withDirection

      @Nullable public @Nullable BlockState withDirection(BlockState state, BlockView world, BlockPos pos, Direction direction)
      Mappings:
      Namespace Name Mixin selector
      official c Lcui;c(Ldby;Lclq;Lgu;Lha;)Ldby;
      intermediary method_33362 Lnet/minecraft/class_5778;method_33362(Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_2350;)Lnet/minecraft/class_2680;
      named withDirection Lnet/minecraft/block/MultifaceGrowthBlock;withDirection(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/Direction;)Lnet/minecraft/block/BlockState;
    • 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 Ldbx;a(Ldby;Lcvw;)Ldby;
      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 Ldbx;a(Ldby;Lcuf;)Ldby;
      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;
    • mirror

      private BlockState mirror(BlockState state, Function<Direction,Direction> mirror)
      Mappings:
      Namespace Name Mixin selector
      official a Lcui;a(Ldby;Ljava/util/function/Function;)Ldby;
      intermediary method_33367 Lnet/minecraft/class_5778;method_33367(Lnet/minecraft/class_2680;Ljava/util/function/Function;)Lnet/minecraft/class_2680;
      named mirror Lnet/minecraft/block/MultifaceGrowthBlock;mirror(Lnet/minecraft/block/BlockState;Ljava/util/function/Function;)Lnet/minecraft/block/BlockState;
    • hasDirection

      public static boolean hasDirection(BlockState state, Direction direction)
      Mappings:
      Namespace Name Mixin selector
      official a Lcui;a(Ldby;Lha;)Z
      intermediary method_33366 Lnet/minecraft/class_5778;method_33366(Lnet/minecraft/class_2680;Lnet/minecraft/class_2350;)Z
      named hasDirection Lnet/minecraft/block/MultifaceGrowthBlock;hasDirection(Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/Direction;)Z
    • canGrowOn

      public static boolean canGrowOn(BlockView world, Direction direction, BlockPos pos, BlockState state)
      Mappings:
      Namespace Name Mixin selector
      official a Lcui;a(Lclq;Lha;Lgu;Ldby;)Z
      intermediary method_33358 Lnet/minecraft/class_5778;method_33358(Lnet/minecraft/class_1922;Lnet/minecraft/class_2350;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)Z
      named canGrowOn Lnet/minecraft/block/MultifaceGrowthBlock;canGrowOn(Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/Direction;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)Z
    • isWaterlogged

      private boolean isWaterlogged()
      Mappings:
      Namespace Name Mixin selector
      official g Lcui;g()Z
      intermediary method_33378 Lnet/minecraft/class_5778;method_33378()Z
      named isWaterlogged Lnet/minecraft/block/MultifaceGrowthBlock;isWaterlogged()Z
    • disableDirection

      private static BlockState disableDirection(BlockState state, BooleanProperty direction)
      Mappings:
      Namespace Name Mixin selector
      official a Lcui;a(Ldby;Ldcp;)Ldby;
      intermediary method_33365 Lnet/minecraft/class_5778;method_33365(Lnet/minecraft/class_2680;Lnet/minecraft/class_2746;)Lnet/minecraft/class_2680;
      named disableDirection Lnet/minecraft/block/MultifaceGrowthBlock;disableDirection(Lnet/minecraft/block/BlockState;Lnet/minecraft/state/property/BooleanProperty;)Lnet/minecraft/block/BlockState;
    • getProperty

      public static BooleanProperty getProperty(Direction direction)
      Mappings:
      Namespace Name Mixin selector
      official b Lcui;b(Lha;)Ldcp;
      intermediary method_33374 Lnet/minecraft/class_5778;method_33374(Lnet/minecraft/class_2350;)Lnet/minecraft/class_2746;
      named getProperty Lnet/minecraft/block/MultifaceGrowthBlock;getProperty(Lnet/minecraft/util/math/Direction;)Lnet/minecraft/state/property/BooleanProperty;
    • withAllDirections

      private static BlockState withAllDirections(StateManager<Block,BlockState> stateManager)
      Mappings:
      Namespace Name Mixin selector
      official a Lcui;a(Ldbz;)Ldby;
      intermediary method_33368 Lnet/minecraft/class_5778;method_33368(Lnet/minecraft/class_2689;)Lnet/minecraft/class_2680;
      named withAllDirections Lnet/minecraft/block/MultifaceGrowthBlock;withAllDirections(Lnet/minecraft/state/StateManager;)Lnet/minecraft/block/BlockState;
    • getShapeForState

      private static VoxelShape getShapeForState(BlockState state)
      Mappings:
      Namespace Name Mixin selector
      official o Lcui;o(Ldby;)Leet;
      intermediary method_33380 Lnet/minecraft/class_5778;method_33380(Lnet/minecraft/class_2680;)Lnet/minecraft/class_265;
      named getShapeForState Lnet/minecraft/block/MultifaceGrowthBlock;getShapeForState(Lnet/minecraft/block/BlockState;)Lnet/minecraft/util/shape/VoxelShape;
    • hasAnyDirection

      protected static boolean hasAnyDirection(BlockState state)
      Mappings:
      Namespace Name Mixin selector
      official n Lcui;n(Ldby;)Z
      intermediary method_33381 Lnet/minecraft/class_5778;method_33381(Lnet/minecraft/class_2680;)Z
      named hasAnyDirection Lnet/minecraft/block/MultifaceGrowthBlock;hasAnyDirection(Lnet/minecraft/block/BlockState;)Z
    • isNotFullBlock

      private static boolean isNotFullBlock(BlockState state)
      Mappings:
      Namespace Name Mixin selector
      official p Lcui;p(Ldby;)Z
      intermediary method_33382 Lnet/minecraft/class_5778;method_33382(Lnet/minecraft/class_2680;)Z
      named isNotFullBlock Lnet/minecraft/block/MultifaceGrowthBlock;isNotFullBlock(Lnet/minecraft/block/BlockState;)Z
    • getGrower

      public abstract LichenGrower getGrower()
      Mappings:
      Namespace Name Mixin selector
      official b Lcui;b()Lcuj;
      intermediary method_41432 Lnet/minecraft/class_5778;method_41432()Lnet/minecraft/class_7118;
      named getGrower Lnet/minecraft/block/MultifaceGrowthBlock;getGrower()Lnet/minecraft/block/LichenGrower;