Class CropBlock
- All Implemented Interfaces:
Fertilizable,ItemConvertible,ToggleableFeature
- Direct Known Subclasses:
BeetrootsBlock,CarrotsBlock,PotatoesBlock,TorchflowerBlock
- Mappings:
Namespace Name named net/minecraft/block/CropBlockintermediary net/minecraft/class_2302official dzp
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.block.Block
Block.SetBlockStateFlagNested 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
FieldsModifier and TypeFieldDescriptionstatic final IntPropertystatic final com.mojang.serialization.MapCodec<CropBlock> static final intprivate static final VoxelShape[]Fields inherited from class net.minecraft.block.Block
field_31023, field_31024, field_31025, FORCE_STATE, FORCE_STATE_AND_SKIP_CALLBACKS_AND_DROPS, MOVED, NO_REDRAW, NOTIFY_ALL, NOTIFY_ALL_AND_REDRAW, NOTIFY_LISTENERS, NOTIFY_NEIGHBORS, REDRAW_ON_MAIN_THREAD, SKIP_BLOCK_ADDED_CALLBACK, SKIP_BLOCK_ENTITY_REPLACED_CALLBACK, SKIP_DROPS, SKIP_REDRAW_AND_BLOCK_ENTITY_REPLACED_CALLBACK, SKIP_REDSTONE_WIRE_STATE_REPLACEMENT, STATE_IDS, stateManagerFields inherited from class net.minecraft.block.AbstractBlock
collidable, DIRECTIONS, dynamicBounds, jumpVelocityMultiplier, lootTableKey, randomTicks, requiredFeatures, resistance, settings, slipperiness, soundGroup, translationKey, velocityMultiplierFields inherited from interface net.minecraft.resource.featuretoggle.ToggleableFeature
FEATURE_ENABLED_REGISTRY_KEYS -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidappendProperties(StateManager.Builder<Block, BlockState> builder) Appends block state properties to this block.voidapplyGrowth(World world, BlockPos pos, BlockState state) booleancanGrow(World world, Random random, BlockPos pos, BlockState state) protected booleancanPlaceAt(BlockState state, WorldView world, BlockPos pos) Returns whether the block can be placed atpos.protected booleancanPlantOnTop(BlockState floor, BlockView world, BlockPos pos) intgetAge(BlockState state) protected IntPropertyprotected static floatgetAvailableMoisture(Block block, BlockView world, BlockPos pos) com.mojang.serialization.MapCodec<? extends CropBlock> getCodec()protected intgetGrowthAmount(World world) intprotected VoxelShapegetOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) protected ItemStackgetPickStack(WorldView world, BlockPos pos, BlockState state, boolean includeData) protected ItemConvertiblevoidgrow(ServerWorld world, Random random, BlockPos pos, BlockState state) protected static booleanhasEnoughLightAt(WorldView world, BlockPos pos) protected booleanhasRandomTicks(BlockState state) booleanisFertilizable(WorldView world, BlockPos pos, BlockState state) final booleanisMature(BlockState state) protected voidonEntityCollision(BlockState state, World world, BlockPos pos, Entity entity, EntityCollisionHandler handler, boolean bool) Called when the entity's collision box intersects the block.protected voidrandomTick(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, isTransparentMethods inherited from class net.minecraft.block.Block
afterBreak, asBlock, asItem, canMobSpawnInside, cannotConnect, createColumnShape, createColumnShape, createCubeShape, createCuboidShape, createCuboidShape, createCuboidZShape, createCuboidZShape, createCuboidZShape, createShapeArray, createShapeFunction, createShapeFunction, dropExperience, dropExperienceWhenMined, dropStack, dropStack, dropStacks, dropStacks, dropStacks, generateBlockInteractLoot, generateLoot, getBlastResistance, getBlockFromItem, getDefaultState, getDroppedStacks, getDroppedStacks, getJumpVelocityMultiplier, getName, getPlacementState, getRawIdFromState, getRegistryEntry, 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, toStringMethods 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, keepBlockEntityWhenReplacedWith, mirror, neighborUpdate, onBlockAdded, onBlockBreakStart, onExploded, onProjectileHit, onStacksDropped, onStateReplaced, onSyncedBlockEvent, onUse, onUseWithItem, prepare, rotate, scheduledTickMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface net.minecraft.block.Fertilizable
getFertilizableType, getFertilizeParticlePosMethods inherited from interface net.minecraft.resource.featuretoggle.ToggleableFeature
isEnabled
-
Field Details
-
CODEC
- Mappings:
Namespace Name Mixin selector named CODECLnet/minecraft/block/CropBlock;CODEC:Lcom/mojang/serialization/MapCodec;intermediary field_46329Lnet/minecraft/class_2302;field_46329:Lcom/mojang/serialization/MapCodec;official dLdzp;d:Lcom/mojang/serialization/MapCodec;
-
MAX_AGE
public static final int MAX_AGE- See Also:
- Mappings:
Namespace Name Mixin selector named MAX_AGELnet/minecraft/block/CropBlock;MAX_AGE:Iintermediary field_31079Lnet/minecraft/class_2302;field_31079:Iofficial eLdzp;e:I
-
AGE
- Mappings:
Namespace Name Mixin selector named AGELnet/minecraft/block/CropBlock;AGE:Lnet/minecraft/state/property/IntProperty;intermediary field_10835Lnet/minecraft/class_2302;field_10835:Lnet/minecraft/class_2758;official fLdzp;f:Lenh;
-
SHAPES_BY_AGE
- Mappings:
Namespace Name Mixin selector named SHAPES_BY_AGELnet/minecraft/block/CropBlock;SHAPES_BY_AGE:[Lnet/minecraft/util/shape/VoxelShape;intermediary field_10836Lnet/minecraft/class_2302;field_10836:[Lnet/minecraft/class_265;official aLdzp;a:[Lfrx;
-
-
Constructor Details
-
CropBlock
- Mappings:
Namespace Name Mixin selector named <init>Lnet/minecraft/block/AbstractBlock;<init>(Lnet/minecraft/block/AbstractBlock$Settings;)Vintermediary <init>Lnet/minecraft/class_4970;<init>(Lnet/minecraft/class_4970$class_2251;)Vofficial <init>Lemg;<init>(Lemg$d;)V
-
-
Method Details
-
getCodec
- Specified by:
getCodecin classPlantBlock- Mappings:
Namespace Name Mixin selector named getCodecLnet/minecraft/block/AbstractBlock;getCodec()Lcom/mojang/serialization/MapCodec;intermediary method_53969Lnet/minecraft/class_4970;method_53969()Lcom/mojang/serialization/MapCodec;official aLemg;a()Lcom/mojang/serialization/MapCodec;
-
getOutlineShape
protected VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context) - Overrides:
getOutlineShapein classAbstractBlock- See Also:
- Mappings:
Namespace Name Mixin selector named getOutlineShapeLnet/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_9530Lnet/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 aLemg;a(Lemh;Ldtr;Liz;Lfri;)Lfrx;
-
canPlantOnTop
- Overrides:
canPlantOnTopin classPlantBlock- Mappings:
Namespace Name Mixin selector named canPlantOnTopLnet/minecraft/block/PlantBlock;canPlantOnTop(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;)Zintermediary method_9695Lnet/minecraft/class_2261;method_9695(Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Zofficial bLehg;b(Lemh;Ldtr;Liz;)Z
-
getAgeProperty
- Mappings:
Namespace Name Mixin selector named getAgePropertyLnet/minecraft/block/CropBlock;getAgeProperty()Lnet/minecraft/state/property/IntProperty;intermediary method_9824Lnet/minecraft/class_2302;method_9824()Lnet/minecraft/class_2758;official bLdzp;b()Lenh;
-
getMaxAge
public int getMaxAge()- Mappings:
Namespace Name Mixin selector named getMaxAgeLnet/minecraft/block/CropBlock;getMaxAge()Iintermediary method_9827Lnet/minecraft/class_2302;method_9827()Iofficial cLdzp;c()I
-
getAge
- Mappings:
Namespace Name Mixin selector named getAgeLnet/minecraft/block/CropBlock;getAge(Lnet/minecraft/block/BlockState;)Iintermediary method_9829Lnet/minecraft/class_2302;method_9829(Lnet/minecraft/class_2680;)Iofficial hLdzp;h(Lemh;)I
-
withAge
- Mappings:
Namespace Name Mixin selector named withAgeLnet/minecraft/block/CropBlock;withAge(I)Lnet/minecraft/block/BlockState;intermediary method_9828Lnet/minecraft/class_2302;method_9828(I)Lnet/minecraft/class_2680;official bLdzp;b(I)Lemh;
-
isMature
- Mappings:
Namespace Name Mixin selector named isMatureLnet/minecraft/block/CropBlock;isMature(Lnet/minecraft/block/BlockState;)Zintermediary method_9825Lnet/minecraft/class_2302;method_9825(Lnet/minecraft/class_2680;)Zofficial iLdzp;i(Lemh;)Z
-
hasRandomTicks
- Overrides:
hasRandomTicksin classAbstractBlock- Mappings:
Namespace Name Mixin selector named hasRandomTicksLnet/minecraft/block/AbstractBlock;hasRandomTicks(Lnet/minecraft/block/BlockState;)Zintermediary method_9542Lnet/minecraft/class_4970;method_9542(Lnet/minecraft/class_2680;)Zofficial fLemg;f(Lemh;)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
randomTickSpeedand 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:
SugarCaneBlockuses this to grow sugar cane.OxidizableBlockuses this to oxidize.NetherPortalBlockuses this to spawn zombified piglins.LeavesBlockuses this to decay when far from logs.
- Overrides:
randomTickin classAbstractBlock- See Also:
- Mappings:
Namespace Name Mixin selector named randomTickLnet/minecraft/block/AbstractBlock;randomTick(Lnet/minecraft/block/BlockState;Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/random/Random;)Vintermediary method_9514Lnet/minecraft/class_4970;method_9514(Lnet/minecraft/class_2680;Lnet/minecraft/class_3218;Lnet/minecraft/class_2338;Lnet/minecraft/class_5819;)Vofficial bLemg;b(Lemh;Laxl;Liz;Lbgq;)V
-
applyGrowth
- Mappings:
Namespace Name Mixin selector named applyGrowthLnet/minecraft/block/CropBlock;applyGrowth(Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)Vintermediary method_9826Lnet/minecraft/class_2302;method_9826(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)Vofficial bLdzp;b(Ldun;Liz;Lemh;)V
-
getGrowthAmount
- Mappings:
Namespace Name Mixin selector named getGrowthAmountLnet/minecraft/block/CropBlock;getGrowthAmount(Lnet/minecraft/world/World;)Iintermediary method_9831Lnet/minecraft/class_2302;method_9831(Lnet/minecraft/class_1937;)Iofficial aLdzp;a(Ldun;)I
-
getAvailableMoisture
- Mappings:
Namespace Name Mixin selector named getAvailableMoistureLnet/minecraft/block/CropBlock;getAvailableMoisture(Lnet/minecraft/block/Block;Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;)Fintermediary method_9830Lnet/minecraft/class_2302;method_9830(Lnet/minecraft/class_2248;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Fofficial aLdzp;a(Ldxq;Ldtr;Liz;)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:
canPlaceAtin classPlantBlock- Returns:
- whether the block can be placed at
pos - See Also:
- Mappings:
Namespace Name Mixin selector named canPlaceAtLnet/minecraft/block/AbstractBlock;canPlaceAt(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/WorldView;Lnet/minecraft/util/math/BlockPos;)Zintermediary method_9558Lnet/minecraft/class_4970;method_9558(Lnet/minecraft/class_2680;Lnet/minecraft/class_4538;Lnet/minecraft/class_2338;)Zofficial aLemg;a(Lemh;Lduq;Liz;)Z
-
hasEnoughLightAt
- Mappings:
Namespace Name Mixin selector named hasEnoughLightAtLnet/minecraft/block/CropBlock;hasEnoughLightAt(Lnet/minecraft/world/WorldView;Lnet/minecraft/util/math/BlockPos;)Zintermediary method_52572Lnet/minecraft/class_2302;method_52572(Lnet/minecraft/class_4538;Lnet/minecraft/class_2338;)Zofficial aLdzp;a(Lduq;Liz;)Z
-
onEntityCollision
protected void onEntityCollision(BlockState state, World world, BlockPos pos, Entity entity, EntityCollisionHandler handler, boolean bool) 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:
CactusBlockdamages the entity.AbstractPressurePlateBlocktriggers.CobwebBlockslows the entity.EndPortalBlockteleports the entity.HopperBlockcollects the item entity.
- Overrides:
onEntityCollisionin classAbstractBlock- See Also:
- Mappings:
Namespace Name Mixin selector named onEntityCollisionLnet/minecraft/block/AbstractBlock;onEntityCollision(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/Entity;Lnet/minecraft/entity/EntityCollisionHandler;Z)Vintermediary method_9548Lnet/minecraft/class_4970;method_9548(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1297;Lnet/minecraft/class_10774;Z)Vofficial aLemg;a(Lemh;Ldun;Liz;Lcgd;Lcgv;Z)V
-
getSeedsItem
- Mappings:
Namespace Name Mixin selector named getSeedsItemLnet/minecraft/block/CropBlock;getSeedsItem()Lnet/minecraft/item/ItemConvertible;intermediary method_9832Lnet/minecraft/class_2302;method_9832()Lnet/minecraft/class_1935;official dLdzp;d()Ldum;
-
getPickStack
protected ItemStack getPickStack(WorldView world, BlockPos pos, BlockState state, boolean includeData) - Overrides:
getPickStackin classAbstractBlock- Mappings:
Namespace Name Mixin selector named getPickStackLnet/minecraft/block/AbstractBlock;getPickStack(Lnet/minecraft/world/WorldView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Z)Lnet/minecraft/item/ItemStack;intermediary method_9574Lnet/minecraft/class_4970;method_9574(Lnet/minecraft/class_4538;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Z)Lnet/minecraft/class_1799;official aLemg;a(Lduq;Liz;Lemh;Z)Ldkf;
-
isFertilizable
- Specified by:
isFertilizablein interfaceFertilizable- Mappings:
Namespace Name Mixin selector named isFertilizableLnet/minecraft/block/Fertilizable;isFertilizable(Lnet/minecraft/world/WorldView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)Zintermediary method_9651Lnet/minecraft/class_2256;method_9651(Lnet/minecraft/class_4538;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)Zofficial aLdxt;a(Lduq;Liz;Lemh;)Z
-
canGrow
- Specified by:
canGrowin interfaceFertilizable- Mappings:
Namespace Name Mixin selector named canGrowLnet/minecraft/block/Fertilizable;canGrow(Lnet/minecraft/world/World;Lnet/minecraft/util/math/random/Random;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)Zintermediary method_9650Lnet/minecraft/class_2256;method_9650(Lnet/minecraft/class_1937;Lnet/minecraft/class_5819;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)Zofficial aLdxt;a(Ldun;Lbgq;Liz;Lemh;)Z
-
grow
- Specified by:
growin interfaceFertilizable- Mappings:
Namespace Name Mixin selector named growLnet/minecraft/block/Fertilizable;grow(Lnet/minecraft/server/world/ServerWorld;Lnet/minecraft/util/math/random/Random;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)Vintermediary method_9652Lnet/minecraft/class_2256;method_9652(Lnet/minecraft/class_3218;Lnet/minecraft/class_5819;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)Vofficial aLdxt;a(Laxl;Lbgq;Liz;Lemh;)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. SeePropertiesfor the list of pre-defined properties.- Overrides:
appendPropertiesin classBlock- Mappings:
Namespace Name Mixin selector named appendPropertiesLnet/minecraft/block/Block;appendProperties(Lnet/minecraft/state/StateManager$Builder;)Vintermediary method_9515Lnet/minecraft/class_2248;method_9515(Lnet/minecraft/class_2689$class_2690;)Vofficial aLdxq;a(Lemi$a;)V
-