Class CropBlock

All Implemented Interfaces:
Fertilizable, ItemConvertible, ToggleableFeature
Direct Known Subclasses:
BeetrootsBlock, CarrotsBlock, PotatoesBlock, TorchflowerBlock

public class CropBlock extends PlantBlock implements Fertilizable
Mappings:
Namespace Name
named net/minecraft/block/CropBlock
intermediary net/minecraft/class_2302
official dht
  • Field Details

    • CODEC

      public static final com.mojang.serialization.MapCodec<CropBlock> CODEC
      Mappings:
      Namespace Name Mixin selector
      named CODEC Lnet/minecraft/block/CropBlock;CODEC:Lcom/mojang/serialization/MapCodec;
      intermediary field_46329 Lnet/minecraft/class_2302;field_46329:Lcom/mojang/serialization/MapCodec;
      official d Ldht;d:Lcom/mojang/serialization/MapCodec;
    • MAX_AGE

      public static final int MAX_AGE
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named MAX_AGE Lnet/minecraft/block/CropBlock;MAX_AGE:I
      intermediary field_31079 Lnet/minecraft/class_2302;field_31079:I
      official e Ldht;e:I
    • AGE

      public static final IntProperty AGE
      Mappings:
      Namespace Name Mixin selector
      named AGE Lnet/minecraft/block/CropBlock;AGE:Lnet/minecraft/state/property/IntProperty;
      intermediary field_10835 Lnet/minecraft/class_2302;field_10835:Lnet/minecraft/class_2758;
      official f Ldht;f:Lduc;
    • AGE_TO_SHAPE

      private static final VoxelShape[] AGE_TO_SHAPE
      Mappings:
      Namespace Name Mixin selector
      named AGE_TO_SHAPE Lnet/minecraft/block/CropBlock;AGE_TO_SHAPE:[Lnet/minecraft/util/shape/VoxelShape;
      intermediary field_10836 Lnet/minecraft/class_2302;field_10836:[Lnet/minecraft/class_265;
      official a Ldht;a:[Lexv;
  • Constructor Details

    • CropBlock

      protected CropBlock(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> Ldtb;<init>(Ldtb$d;)V
  • Method Details

    • getCodec

      public com.mojang.serialization.MapCodec<? extends CropBlock> getCodec()
      Specified by:
      getCodec in class PlantBlock
      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 Ldtb;a()Lcom/mojang/serialization/MapCodec;
    • getOutlineShape

      protected VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context)
      Overrides:
      getOutlineShape in class AbstractBlock
      See Also:
      Mappings:
      Namespace Name Mixin selector
      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;
      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;
      official a Ldtb;a(Ldtc;Ldcc;Ljd;Lexh;)Lexv;
    • canPlantOnTop

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

      protected IntProperty getAgeProperty()
      Mappings:
      Namespace Name Mixin selector
      named getAgeProperty Lnet/minecraft/block/CropBlock;getAgeProperty()Lnet/minecraft/state/property/IntProperty;
      intermediary method_9824 Lnet/minecraft/class_2302;method_9824()Lnet/minecraft/class_2758;
      official b Ldht;b()Lduc;
    • getMaxAge

      public int getMaxAge()
      Mappings:
      Namespace Name Mixin selector
      named getMaxAge Lnet/minecraft/block/CropBlock;getMaxAge()I
      intermediary method_9827 Lnet/minecraft/class_2302;method_9827()I
      official c Ldht;c()I
    • getAge

      public int getAge(BlockState state)
      Mappings:
      Namespace Name Mixin selector
      named getAge Lnet/minecraft/block/CropBlock;getAge(Lnet/minecraft/block/BlockState;)I
      intermediary method_9829 Lnet/minecraft/class_2302;method_9829(Lnet/minecraft/class_2680;)I
      official g Ldht;g(Ldtc;)I
    • withAge

      public BlockState withAge(int age)
      Mappings:
      Namespace Name Mixin selector
      named withAge Lnet/minecraft/block/CropBlock;withAge(I)Lnet/minecraft/block/BlockState;
      intermediary method_9828 Lnet/minecraft/class_2302;method_9828(I)Lnet/minecraft/class_2680;
      official b Ldht;b(I)Ldtc;
    • isMature

      public final boolean isMature(BlockState state)
      Mappings:
      Namespace Name Mixin selector
      named isMature Lnet/minecraft/block/CropBlock;isMature(Lnet/minecraft/block/BlockState;)Z
      intermediary method_9825 Lnet/minecraft/class_2302;method_9825(Lnet/minecraft/class_2680;)Z
      official h Ldht;h(Ldtc;)Z
    • hasRandomTicks

      protected boolean hasRandomTicks(BlockState state)
      Overrides:
      hasRandomTicks in class AbstractBlock
      Mappings:
      Namespace Name Mixin selector
      named hasRandomTicks Lnet/minecraft/block/AbstractBlock;hasRandomTicks(Lnet/minecraft/block/BlockState;)Z
      intermediary method_9542 Lnet/minecraft/class_4970;method_9542(Lnet/minecraft/class_2680;)Z
      official d_ Ldtb;d_(Ldtc;)Z
    • 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 does nothing. 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
      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
      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
      official b Ldtb;b(Ldtc;Laqu;Ljd;Layw;)V
    • applyGrowth

      public void applyGrowth(World world, BlockPos pos, BlockState state)
      Mappings:
      Namespace Name Mixin selector
      named applyGrowth Lnet/minecraft/block/CropBlock;applyGrowth(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)V
      intermediary method_9826 Lnet/minecraft/class_2302;method_9826(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)V
      official a Ldht;a(Ldcw;Ljd;Ldtc;)V
    • getGrowthAmount

      protected int getGrowthAmount(World world)
      Mappings:
      Namespace Name Mixin selector
      named getGrowthAmount Lnet/minecraft/block/CropBlock;getGrowthAmount(Lnet/minecraft/world/World;)I
      intermediary method_9831 Lnet/minecraft/class_2302;method_9831(Lnet/minecraft/class_1937;)I
      official a Ldht;a(Ldcw;)I
    • getAvailableMoisture

      protected static float getAvailableMoisture(Block block, BlockView world, BlockPos pos)
      Mappings:
      Namespace Name Mixin selector
      named getAvailableMoisture Lnet/minecraft/block/CropBlock;getAvailableMoisture(Lnet/minecraft/block/Block;Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;)F
      intermediary method_9830 Lnet/minecraft/class_2302;method_9830(Lnet/minecraft/class_2248;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)F
      official a Ldht;a(Ldfy;Ldcc;Ljd;)F
    • 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 PlantBlock.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
      named canPlaceAt Lnet/minecraft/block/AbstractBlock;canPlaceAt(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/WorldView;Lnet/minecraft/util/math/BlockPos;)Z
      intermediary method_9558 Lnet/minecraft/class_4970;method_9558(Lnet/minecraft/class_2680;Lnet/minecraft/class_4538;Lnet/minecraft/class_2338;)Z
      official a Ldtb;a(Ldtc;Ldcz;Ljd;)Z
    • hasEnoughLightAt

      protected static boolean hasEnoughLightAt(WorldView world, BlockPos pos)
      Mappings:
      Namespace Name Mixin selector
      named hasEnoughLightAt Lnet/minecraft/block/CropBlock;hasEnoughLightAt(Lnet/minecraft/world/WorldView;Lnet/minecraft/util/math/BlockPos;)Z
      intermediary method_52572 Lnet/minecraft/class_2302;method_52572(Lnet/minecraft/class_4538;Lnet/minecraft/class_2338;)Z
      official a Ldht;a(Ldcz;Ljd;)Z
    • onEntityCollision

      protected void onEntityCollision(BlockState state, World world, BlockPos pos, Entity entity)
      Called when the entity's collision box intersects the block. Therefore, this method is not called for blocks with a collision; use Block.onSteppedOn(net.minecraft.world.World, net.minecraft.util.math.BlockPos, net.minecraft.block.BlockState, net.minecraft.entity.Entity) for those blocks.

      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.

      Here are some examples:

      Overrides:
      onEntityCollision in class AbstractBlock
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named onEntityCollision Lnet/minecraft/block/AbstractBlock;onEntityCollision(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/Entity;)V
      intermediary method_9548 Lnet/minecraft/class_4970;method_9548(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1297;)V
      official a Ldtb;a(Ldtc;Ldcw;Ljd;Lbsr;)V
    • getSeedsItem

      protected ItemConvertible getSeedsItem()
      Mappings:
      Namespace Name Mixin selector
      named getSeedsItem Lnet/minecraft/block/CropBlock;getSeedsItem()Lnet/minecraft/item/ItemConvertible;
      intermediary method_9832 Lnet/minecraft/class_2302;method_9832()Lnet/minecraft/class_1935;
      official d Ldht;d()Ldcv;
    • 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.

      Overrides:
      getPickStack in class Block
      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 Ldfy;a(Ldcz;Ljd;Ldtc;)Lcuq;
    • isFertilizable

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

      public boolean canGrow(World world, Random random, BlockPos pos, BlockState state)
      Specified by:
      canGrow in interface Fertilizable
      Mappings:
      Namespace Name Mixin selector
      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
      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
      official a Ldgb;a(Ldcw;Layw;Ljd;Ldtc;)Z
    • grow

      public void grow(ServerWorld world, Random random, BlockPos pos, BlockState state)
      Specified by:
      grow in interface Fertilizable
      Mappings:
      Namespace Name Mixin selector
      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
      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
      official a Ldgb;a(Laqu;Layw;Ljd;Ldtc;)V
    • 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
      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 Ldfy;a(Ldtd$a;)V