Class MushroomPlantBlock

All Implemented Interfaces:
Fertilizable, ItemConvertible, ToggleableFeature

public class MushroomPlantBlock extends PlantBlock implements Fertilizable
Mappings:
Namespace Name
official ddp
intermediary net/minecraft/class_2420
named net/minecraft/block/MushroomPlantBlock
  • Field Details

    • CODEC

      public static final com.mojang.serialization.MapCodec<MushroomPlantBlock> CODEC
      Mappings:
      Namespace Name Mixin selector
      official a Lddp;a:Lcom/mojang/serialization/MapCodec;
      intermediary field_46399 Lnet/minecraft/class_2420;field_46399:Lcom/mojang/serialization/MapCodec;
      named CODEC Lnet/minecraft/block/MushroomPlantBlock;CODEC:Lcom/mojang/serialization/MapCodec;
    • field_31195

      protected static final float field_31195
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official b Lddp;b:F
      intermediary field_31195 Lnet/minecraft/class_2420;field_31195:F
      named field_31195 Lnet/minecraft/block/MushroomPlantBlock;field_31195:F
    • SHAPE

      protected static final VoxelShape SHAPE
      Mappings:
      Namespace Name Mixin selector
      official c Lddp;c:Leol;
      intermediary field_11304 Lnet/minecraft/class_2420;field_11304:Lnet/minecraft/class_265;
      named SHAPE Lnet/minecraft/block/MushroomPlantBlock;SHAPE:Lnet/minecraft/util/shape/VoxelShape;
    • featureKey

      private final RegistryKey<ConfiguredFeature<?,?>> featureKey
      Mappings:
      Namespace Name Mixin selector
      official d Lddp;d:Laix;
      intermediary field_27194 Lnet/minecraft/class_2420;field_27194:Lnet/minecraft/class_5321;
      named featureKey Lnet/minecraft/block/MushroomPlantBlock;featureKey:Lnet/minecraft/registry/RegistryKey;
  • Constructor Details

    • MushroomPlantBlock

      public MushroomPlantBlock(RegistryKey<ConfiguredFeature<?,?>> featureKey, AbstractBlock.Settings settings)
      Mappings:
      Namespace Name Mixin selector
      official <init> Lddp;<init>(Laix;Ldle$d;)V
      intermediary <init> Lnet/minecraft/class_2420;<init>(Lnet/minecraft/class_5321;Lnet/minecraft/class_4970$class_2251;)V
      named <init> Lnet/minecraft/block/MushroomPlantBlock;<init>(Lnet/minecraft/registry/RegistryKey;Lnet/minecraft/block/AbstractBlock$Settings;)V
  • Method Details

    • getCodec

      public com.mojang.serialization.MapCodec<MushroomPlantBlock> getCodec()
      Specified by:
      getCodec in class PlantBlock
      Mappings:
      Namespace Name Mixin selector
      official a Ldle;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

      protected VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context)
      Overrides:
      getOutlineShape in class AbstractBlock
      Mappings:
      Namespace Name Mixin selector
      official a Ldle;a(Ldlf;Lcut;Lhz;Lenx;)Leol;
      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;
    • randomTick

      protected void randomTick(BlockState state, ServerWorld world, BlockPos pos, Random random)
      Called server-side when a block gets ticked randomly. This can be overridden to implement various logics, most commonly plant growth. Default implementation calls AbstractBlock.scheduledTick(net.minecraft.block.BlockState, net.minecraft.server.world.ServerWorld, net.minecraft.util.math.BlockPos, net.minecraft.util.math.random.Random). To control the rate of the action, use random.

      Random tick speed is controlled by the game rule randomTickSpeed and can be disabled. Only blocks within 128-block cylinder (i.e. ignoring Y coordinates) around players receive random ticks.

      Blocks overriding this must use AbstractBlock.Settings.ticksRandomly() block settings.

      Here are some examples:

      Overrides:
      randomTick in class AbstractBlock
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official b Ldle;b(Ldlf;Laov;Lhz;Lawo;)V
      intermediary method_9514 Lnet/minecraft/class_4970;method_9514(Lnet/minecraft/class_2680;Lnet/minecraft/class_3218;Lnet/minecraft/class_2338;Lnet/minecraft/class_5819;)V
      named randomTick Lnet/minecraft/block/AbstractBlock;randomTick(Lnet/minecraft/block/BlockState;Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/random/Random;)V
    • canPlantOnTop

      protected boolean canPlantOnTop(BlockState floor, BlockView world, BlockPos pos)
      Overrides:
      canPlantOnTop in class PlantBlock
      Mappings:
      Namespace Name Mixin selector
      official b Lcyx;b(Ldlf;Lcut;Lhz;)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
    • canPlaceAt

      protected 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 PlantBlock
      Returns:
      whether the block can be placed at pos
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Ldle;a(Ldlf;Lcvq;Lhz;)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
    • trySpawningBigMushroom

      public boolean trySpawningBigMushroom(ServerWorld world, BlockPos pos, BlockState state, Random random)
      Mappings:
      Namespace Name Mixin selector
      official a Lddp;a(Laov;Lhz;Ldlf;Lawo;)Z
      intermediary method_10349 Lnet/minecraft/class_2420;method_10349(Lnet/minecraft/class_3218;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Lnet/minecraft/class_5819;)Z
      named trySpawningBigMushroom Lnet/minecraft/block/MushroomPlantBlock;trySpawningBigMushroom(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/random/Random;)Z
    • isFertilizable

      public boolean isFertilizable(WorldView world, BlockPos pos, BlockState state)
      Specified by:
      isFertilizable in interface Fertilizable
      Mappings:
      Namespace Name Mixin selector
      official b Lcyr;b(Lcvq;Lhz;Ldlf;)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 Lcyr;a(Lcvn;Lawo;Lhz;Ldlf;)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 Lcyr;a(Laov;Lawo;Lhz;Ldlf;)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