Class CropBlock
- All Implemented Interfaces:
Fertilizable
,ItemConvertible
,ToggleableFeature
- Direct Known Subclasses:
BeetrootsBlock
,CarrotsBlock
,PotatoesBlock
,TorchflowerBlock
- Mappings:
Namespace Name official cre
intermediary net/minecraft/class_2302
named net/minecraft/block/CropBlock
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.block.Block
Block.NeighborGroup
Nested classes/interfaces inherited from class net.minecraft.block.AbstractBlock
AbstractBlock.AbstractBlockState, AbstractBlock.ContextPredicate, AbstractBlock.Offsetter, AbstractBlock.OffsetType, AbstractBlock.Settings, AbstractBlock.TypedContextPredicate<A>
-
Field Summary
Modifier and TypeFieldDescriptionstatic final IntProperty
private static final VoxelShape[]
static final int
Fields inherited from class net.minecraft.block.Block
field_31022, field_31023, field_31024, field_31025, field_31035, FORCE_STATE, MOVED, NO_REDRAW, NOTIFY_ALL, NOTIFY_LISTENERS, NOTIFY_NEIGHBORS, REDRAW_ON_MAIN_THREAD, SKIP_DROPS, STATE_IDS, stateManager
Fields inherited from class net.minecraft.block.AbstractBlock
collidable, DIRECTIONS, dynamicBounds, jumpVelocityMultiplier, lootTableId, randomTicks, requiredFeatures, resistance, settings, slipperiness, soundGroup, 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) 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) protected int
getGrowthAmount
(World world) int
getOutlineShape
(BlockState state, BlockView world, BlockPos pos, ShapeContext context) getPickStack
(BlockView 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) boolean
hasRandomTicks
(BlockState state) boolean
isFertilizable
(WorldView world, BlockPos pos, BlockState state, boolean isClient) final boolean
isMature
(BlockState blockState) void
onEntityCollision
(BlockState state, World world, BlockPos pos, Entity entity) Called when the entity's collision box intersects the block.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, getSoundGroup, getStateFromRawId, getStateManager, getStateWithProperties, getTranslationKey, 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, createScreenHandlerFactory, emitsRedstonePower, getAmbientOcclusionLightLevel, getCameraCollisionShape, getCollisionShape, getComparatorOutput, getCullingShape, getDefaultMapColor, getDroppedStacks, getFluidState, getHardness, getLootTableId, getMaxHorizontalModelOffset, getOpacity, getRaycastShape, getRenderingSeed, getRenderType, getRequiredFeatures, getSidesShape, getStrongRedstonePower, getVerticalModelOffsetMultiplier, getWeakRedstonePower, hasComparatorOutput, hasSidedTransparency, isCullingShapeFullCube, isShapeFullCube, isSideInvisible, mirror, neighborUpdate, onBlockAdded, onBlockBreakStart, onProjectileHit, onStacksDropped, onStateReplaced, onSyncedBlockEvent, onUse, 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.resource.featuretoggle.ToggleableFeature
isEnabled
-
Field Details
-
MAX_AGE
public static final int MAX_AGE- See Also:
- Mappings:
Namespace Name Mixin selector official c
Lcre;c:I
intermediary field_31079
Lnet/minecraft/class_2302;field_31079:I
named MAX_AGE
Lnet/minecraft/block/CropBlock;MAX_AGE:I
-
AGE
- Mappings:
Namespace Name Mixin selector official d
Lcre;d:Lddb;
intermediary field_10835
Lnet/minecraft/class_2302;field_10835:Lnet/minecraft/class_2758;
named AGE
Lnet/minecraft/block/CropBlock;AGE:Lnet/minecraft/state/property/IntProperty;
-
AGE_TO_SHAPE
- Mappings:
Namespace Name Mixin selector official a
Lcre;a:[Lefb;
intermediary field_10836
Lnet/minecraft/class_2302;field_10836:[Lnet/minecraft/class_265;
named AGE_TO_SHAPE
Lnet/minecraft/block/CropBlock;AGE_TO_SHAPE:[Lnet/minecraft/util/shape/VoxelShape;
-
-
Constructor Details
-
CropBlock
- Mappings:
Namespace Name Mixin selector official <init>
Ldca;<init>(Ldca$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
-
getOutlineShape
public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) - Overrides:
getOutlineShape
in classAbstractBlock
- Mappings:
Namespace Name Mixin selector official a
Ldca;a(Ldcb;Lcls;Lgu;Leen;)Lefb;
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
- Overrides:
canPlantOnTop
in classPlantBlock
- Mappings:
Namespace Name Mixin selector official d
Lcpv;d(Ldcb;Lcls;Lgu;)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
-
getAgeProperty
- Mappings:
Namespace Name Mixin selector official a
Lcre;a()Lddb;
intermediary method_9824
Lnet/minecraft/class_2302;method_9824()Lnet/minecraft/class_2758;
named getAgeProperty
Lnet/minecraft/block/CropBlock;getAgeProperty()Lnet/minecraft/state/property/IntProperty;
-
getMaxAge
public int getMaxAge()- Mappings:
Namespace Name Mixin selector official b
Lcre;b()I
intermediary method_9827
Lnet/minecraft/class_2302;method_9827()I
named getMaxAge
Lnet/minecraft/block/CropBlock;getMaxAge()I
-
getAge
- Mappings:
Namespace Name Mixin selector official g
Lcre;g(Ldcb;)I
intermediary method_9829
Lnet/minecraft/class_2302;method_9829(Lnet/minecraft/class_2680;)I
named getAge
Lnet/minecraft/block/CropBlock;getAge(Lnet/minecraft/block/BlockState;)I
-
withAge
- Mappings:
Namespace Name Mixin selector official b
Lcre;b(I)Ldcb;
intermediary method_9828
Lnet/minecraft/class_2302;method_9828(I)Lnet/minecraft/class_2680;
named withAge
Lnet/minecraft/block/CropBlock;withAge(I)Lnet/minecraft/block/BlockState;
-
isMature
- Mappings:
Namespace Name Mixin selector official h
Lcre;h(Ldcb;)Z
intermediary method_9825
Lnet/minecraft/class_2302;method_9825(Lnet/minecraft/class_2680;)Z
named isMature
Lnet/minecraft/block/CropBlock;isMature(Lnet/minecraft/block/BlockState;)Z
-
hasRandomTicks
- Overrides:
hasRandomTicks
in classBlock
- Mappings:
Namespace Name Mixin selector official e_
Lcpn;e_(Ldcb;)Z
intermediary method_9542
Lnet/minecraft/class_2248;method_9542(Lnet/minecraft/class_2680;)Z
named hasRandomTicks
Lnet/minecraft/block/Block;hasRandomTicks(Lnet/minecraft/block/BlockState;)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 callsAbstractBlock.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, 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 official b
Ldca;b(Ldcb;Laif;Lgu;Lapf;)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
-
applyGrowth
- Mappings:
Namespace Name Mixin selector official a
Lcre;a(Lcmm;Lgu;Ldcb;)V
intermediary method_9826
Lnet/minecraft/class_2302;method_9826(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)V
named applyGrowth
Lnet/minecraft/block/CropBlock;applyGrowth(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)V
-
getGrowthAmount
- Mappings:
Namespace Name Mixin selector official a
Lcre;a(Lcmm;)I
intermediary method_9831
Lnet/minecraft/class_2302;method_9831(Lnet/minecraft/class_1937;)I
named getGrowthAmount
Lnet/minecraft/block/CropBlock;getGrowthAmount(Lnet/minecraft/world/World;)I
-
getAvailableMoisture
- Mappings:
Namespace Name Mixin selector official a
Lcre;a(Lcpn;Lcls;Lgu;)F
intermediary method_9830
Lnet/minecraft/class_2302;method_9830(Lnet/minecraft/class_2248;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)F
named getAvailableMoisture
Lnet/minecraft/block/CropBlock;getAvailableMoisture(Lnet/minecraft/block/Block;Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;)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
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 classPlantBlock
- Returns:
- whether the block can be placed at
pos
- See Also:
- Mappings:
Namespace Name Mixin selector official a
Ldca;a(Ldcb;Lcmp;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
-
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 official a
Ldca;a(Ldcb;Lcmm;Lgu;Lbfj;)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
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
-
getSeedsItem
- Mappings:
Namespace Name Mixin selector official c
Lcre;c()Lcml;
intermediary method_9832
Lnet/minecraft/class_2302;method_9832()Lnet/minecraft/class_1935;
named getSeedsItem
Lnet/minecraft/block/CropBlock;getSeedsItem()Lnet/minecraft/item/ItemConvertible;
-
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 official a
Lcpn;a(Lcls;Lgu;Ldcb;)Lcfz;
intermediary method_9574
Lnet/minecraft/class_2248;method_9574(Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)Lnet/minecraft/class_1799;
named getPickStack
Lnet/minecraft/block/Block;getPickStack(Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)Lnet/minecraft/item/ItemStack;
-
isFertilizable
- Specified by:
isFertilizable
in interfaceFertilizable
- Mappings:
Namespace Name Mixin selector official a
Lcpp;a(Lcmp;Lgu;Ldcb;Z)Z
intermediary method_9651
Lnet/minecraft/class_2256;method_9651(Lnet/minecraft/class_4538;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Z)Z
named isFertilizable
Lnet/minecraft/block/Fertilizable;isFertilizable(Lnet/minecraft/world/WorldView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Z)Z
-
canGrow
- Specified by:
canGrow
in interfaceFertilizable
- Mappings:
Namespace Name Mixin selector official a
Lcpp;a(Lcmm;Lapf;Lgu;Ldcb;)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
- Specified by:
grow
in interfaceFertilizable
- Mappings:
Namespace Name Mixin selector official a
Lcpp;a(Laif;Lapf;Lgu;Ldcb;)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
-
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 official a
Lcpn;a(Ldcc$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
-