Class CropBlock
- All Implemented Interfaces:
Fertilizable
,ItemConvertible
,ToggleableFeature
- Direct Known Subclasses:
BeetrootsBlock
,CarrotsBlock
,PotatoesBlock
,TorchflowerBlock
- Mappings:
Namespace Name named net/minecraft/block/CropBlock
intermediary net/minecraft/class_2302
official dmi
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.block.AbstractBlock
AbstractBlock.AbstractBlockState, AbstractBlock.ContextPredicate, AbstractBlock.Offsetter, AbstractBlock.OffsetType, AbstractBlock.Settings, AbstractBlock.TypedContextPredicate<A>
Nested classes/interfaces inherited from interface net.minecraft.block.Fertilizable
Fertilizable.FertilizableType
-
Field Summary
Modifier and TypeFieldDescriptionstatic final IntProperty
private static final VoxelShape[]
static final com.mojang.serialization.MapCodec
<CropBlock> static final int
Fields inherited from class net.minecraft.block.Block
field_31023, field_31024, field_31025, field_31035, FORCE_STATE, MOVED, NO_REDRAW, NOTIFY_ALL, NOTIFY_ALL_AND_REDRAW, NOTIFY_LISTENERS, NOTIFY_NEIGHBORS, REDRAW_ON_MAIN_THREAD, SKIP_DROPS, SKIP_REDSTONE_WIRE_STATE_REPLACEMENT, STATE_IDS, stateManager
Fields inherited from class net.minecraft.block.AbstractBlock
collidable, DIRECTIONS, dynamicBounds, jumpVelocityMultiplier, lootTableKey, randomTicks, requiredFeatures, resistance, settings, slipperiness, soundGroup, translationKey, velocityMultiplier
Fields inherited from interface net.minecraft.resource.featuretoggle.ToggleableFeature
FEATURE_ENABLED_REGISTRY_KEYS
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
appendProperties
(StateManager.Builder<Block, BlockState> builder) Appends block state properties to this block.void
applyGrowth
(World world, BlockPos pos, BlockState state) boolean
canGrow
(World world, Random random, BlockPos pos, BlockState state) protected boolean
canPlaceAt
(BlockState state, WorldView world, BlockPos pos) Returns whether the block can be placed atpos
.protected boolean
canPlantOnTop
(BlockState floor, BlockView world, BlockPos pos) int
getAge
(BlockState state) protected IntProperty
protected static float
getAvailableMoisture
(Block block, BlockView world, BlockPos pos) com.mojang.serialization.MapCodec
<? extends CropBlock> getCodec()
protected int
getGrowthAmount
(World world) int
protected VoxelShape
getOutlineShape
(BlockState state, BlockView world, BlockPos pos, ShapeContext context) getPickStack
(WorldView world, BlockPos pos, BlockState state) Returns the new item stack when using pick block functionality.protected ItemConvertible
void
grow
(ServerWorld world, Random random, BlockPos pos, BlockState state) protected static boolean
hasEnoughLightAt
(WorldView world, BlockPos pos) protected boolean
hasRandomTicks
(BlockState state) boolean
isFertilizable
(WorldView world, BlockPos pos, BlockState state) final boolean
isMature
(BlockState state) protected void
onEntityCollision
(BlockState state, World world, BlockPos pos, Entity entity) Called when the entity's collision box intersects the block.protected void
randomTick
(BlockState state, ServerWorld world, BlockPos pos, Random random) Called server-side when a block gets ticked randomly.withAge
(int age) Methods inherited from class net.minecraft.block.PlantBlock
canPathfindThrough, getStateForNeighborUpdate, isTransparent
Methods inherited from class net.minecraft.block.Block
afterBreak, appendTooltip, asBlock, asItem, canMobSpawnInside, cannotConnect, createCuboidShape, dropExperience, dropExperienceWhenMined, dropStack, dropStack, dropStacks, dropStacks, dropStacks, getBlastResistance, getBlockFromItem, getDefaultState, getDroppedStacks, getDroppedStacks, getJumpVelocityMultiplier, getName, getPlacementState, getRawIdFromState, getRegistryEntry, getShapesForStates, getSlipperiness, getStateFromRawId, getStateManager, getStateWithProperties, getVelocityMultiplier, hasDynamicBounds, hasTopRim, isFaceFullSquare, isShapeFullCube, onBreak, onBroken, onDestroyedByExplosion, onEntityLand, onLandedUpon, onPlaced, onSteppedOn, postProcessState, precipitationTick, pushEntitiesUpBeforeBlockChange, randomDisplayTick, replace, replace, setDefaultState, shouldDrawSide, shouldDropItemsOnExplosion, sideCoversSmallSquare, spawnBreakParticles, toString
Methods inherited from class net.minecraft.block.AbstractBlock
calcBlockBreakingDelta, canBucketPlace, canReplace, createCodec, createScreenHandlerFactory, createSettingsCodec, emitsRedstonePower, getAmbientOcclusionLightLevel, getCameraCollisionShape, getCollisionShape, getComparatorOutput, getCullingShape, getDefaultMapColor, getDroppedStacks, getFluidState, getHardness, getInsideCollisionShape, getLootTableKey, getMaxHorizontalModelOffset, getOpacity, getRaycastShape, getRenderingSeed, getRenderType, getRequiredFeatures, getSettings, getSidesShape, getSoundGroup, getStrongRedstonePower, getTranslationKey, getVerticalModelOffsetMultiplier, getWeakRedstonePower, hasComparatorOutput, hasSidedTransparency, isShapeFullCube, isSideInvisible, mirror, neighborUpdate, onBlockAdded, onBlockBreakStart, onExploded, onProjectileHit, onStacksDropped, onStateReplaced, onSyncedBlockEvent, onUse, onUseWithItem, prepare, rotate, scheduledTick
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface net.minecraft.block.Fertilizable
getFertilizableType, getFertilizeParticlePos
Methods inherited from interface net.minecraft.resource.featuretoggle.ToggleableFeature
isEnabled
-
Field Details
-
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
Ldmi;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
Ldmi;e:I
-
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
Ldmi;f:Ldyt;
-
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
Ldmi;a:[Lfcr;
-
-
Constructor Details
-
CropBlock
- 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>
Ldxt;<init>(Ldxt$d;)V
-
-
Method Details
-
getCodec
- Specified by:
getCodec
in classPlantBlock
- 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
Ldxt;a()Lcom/mojang/serialization/MapCodec;
-
getOutlineShape
protected VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) - Overrides:
getOutlineShape
in classAbstractBlock
- 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
Ldxt;a(Ldxu;Ldgm;Ljh;Lfcc;)Lfcr;
-
canPlantOnTop
- Overrides:
canPlantOnTop
in classPlantBlock
- 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
Ldkv;b(Ldxu;Ldgm;Ljh;)Z
-
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
Ldmi;b()Ldyt;
-
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
Ldmi;c()I
-
getAge
- 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 h
Ldmi;h(Ldxu;)I
-
withAge
- 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
Ldmi;b(I)Ldxu;
-
isMature
- 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 i
Ldmi;i(Ldxu;)Z
-
hasRandomTicks
- Overrides:
hasRandomTicks
in classAbstractBlock
- 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 f
Ldxt;f(Ldxu;)Z
-
randomTick
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, userandom
.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:
SugarCaneBlock
uses this to grow sugar cane.OxidizableBlock
uses this to oxidize.NetherPortalBlock
uses this to spawn zombified piglins.LeavesBlock
uses this to decay when far from logs.
- Overrides:
randomTick
in classAbstractBlock
- 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
Ldxt;b(Ldxu;Lash;Ljh;Lbam;)V
-
applyGrowth
- 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
Ldmi;a(Ldhh;Ljh;Ldxu;)V
-
getGrowthAmount
- 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
Ldmi;a(Ldhh;)I
-
getAvailableMoisture
- 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
Ldmi;a(Ldkl;Ldgm;Ljh;)F
-
canPlaceAt
Returns whether the block can be placed atpos
.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.world.WorldView, net.minecraft.world.tick.ScheduledTickView, net.minecraft.util.math.BlockPos, net.minecraft.util.math.Direction, net.minecraft.util.math.BlockPos, net.minecraft.block.BlockState, net.minecraft.util.math.random.Random)
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 classPlantBlock
- 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
Ldxt;a(Ldxu;Ldhk;Ljh;)Z
-
hasEnoughLightAt
- 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
Ldmi;a(Ldhk;Ljh;)Z
-
onEntityCollision
Called when the entity's collision box intersects the block. Therefore, this method is not called for blocks with a collision; useBlock.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:
CactusBlock
damages the entity.AbstractPressurePlateBlock
triggers.CobwebBlock
slows the entity.EndPortalBlock
teleports the entity.HopperBlock
collects the item entity.
- Overrides:
onEntityCollision
in classAbstractBlock
- 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
Ldxt;a(Ldxu;Ldhh;Ljh;Lbvj;)V
-
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
Ldmi;d()Ldhg;
-
getPickStack
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 classBlock
- 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
Ldkl;a(Ldhk;Ljh;Ldxu;)Lcxo;
-
isFertilizable
- Specified by:
isFertilizable
in interfaceFertilizable
- 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
Ldko;b(Ldhk;Ljh;Ldxu;)Z
-
canGrow
- Specified by:
canGrow
in interfaceFertilizable
- 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
Ldko;a(Ldhh;Lbam;Ljh;Ldxu;)Z
-
grow
- Specified by:
grow
in interfaceFertilizable
- 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
Ldko;a(Lash;Lbam;Ljh;Ldxu;)V
-
appendProperties
Appends block state properties to this block. To use this, override and callStateManager.Builder.add(net.minecraft.state.property.Property<?>[])
inside the method. SeeProperties
for the list of pre-defined properties.- Overrides:
appendProperties
in classBlock
- 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
Ldkl;a(Ldxv$a;)V
-