Class CropBlock
- All Implemented Interfaces:
Fertilizable,ItemConvertible
- Direct Known Subclasses:
BeetrootsBlock,CarrotsBlock,PotatoesBlock
- Mappings:
Namespace Name official clfintermediary net/minecraft/class_2302named net/minecraft/block/CropBlock
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.block.Block
Block.NeighborGroupNested classes/interfaces inherited from class net.minecraft.block.AbstractBlock
AbstractBlock.AbstractBlockState, AbstractBlock.ContextPredicate, AbstractBlock.OffsetType, AbstractBlock.Settings, AbstractBlock.TypedContextPredicate<A> -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final IntPropertyprivate static final VoxelShape[]static final intFields 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, SKIP_LIGHTING_UPDATES, STATE_IDS, stateManagerFields inherited from class net.minecraft.block.AbstractBlock
collidable, DIRECTIONS, dynamicBounds, jumpVelocityMultiplier, lootTableId, material, randomTicks, resistance, settings, slipperiness, soundGroup, velocityMultiplier -
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) booleancanPlaceAt(BlockState state, WorldView world, BlockPos pos) Returns whether the block can be placed atpos.protected booleancanPlantOnTop(BlockState floor, BlockView world, BlockPos pos) protected intgetAge(BlockState state) protected static floatgetAvailableMoisture(Block block, BlockView world, BlockPos pos) protected intgetGrowthAmount(World world) intgetOutlineShape(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 ItemConvertiblevoidgrow(ServerWorld world, Random random, BlockPos pos, BlockState state) booleanhasRandomTicks(BlockState state) booleanisFertilizable(BlockView world, BlockPos pos, BlockState state, boolean isClient) booleanisMature(BlockState state) voidonEntityCollision(BlockState state, World world, BlockPos pos, Entity entity) Called when the entity's collision box intersects the block.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, isTranslucentMethods inherited from class net.minecraft.block.Block
afterBreak, appendStacks, appendTooltip, asBlock, asItem, canMobSpawnInside, cannotConnect, createCuboidShape, dropExperience, dropExperienceWhenMined, dropStack, dropStack, dropStacks, 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, toStringMethods inherited from class net.minecraft.block.AbstractBlock
calcBlockBreakingDelta, canBucketPlace, canReplace, createScreenHandlerFactory, emitsRedstonePower, getAmbientOcclusionLightLevel, getCameraCollisionShape, getCollisionShape, getComparatorOutput, getCullingShape, getDefaultMapColor, getDroppedStacks, getFluidState, getHardness, getLootTableId, getMaxHorizontalModelOffset, getOpacity, getPistonBehavior, getRaycastShape, getRenderingSeed, getRenderType, getSidesShape, getStrongRedstonePower, getVerticalModelOffsetMultiplier, getWeakRedstonePower, hasComparatorOutput, hasSidedTransparency, isCullingShapeFullCube, isShapeFullCube, isSideInvisible, mirror, neighborUpdate, onBlockAdded, onBlockBreakStart, onProjectileHit, onStacksDropped, onStateReplaced, onSyncedBlockEvent, onUse, prepare, rotate, scheduledTick
-
Field Details
-
MAX_AGE
public static final int MAX_AGE- See Also:
- Mappings:
Namespace Name Mixin selector official cLclf;c:Iintermediary field_31079Lnet/minecraft/class_2302;field_31079:Inamed MAX_AGELnet/minecraft/block/CropBlock;MAX_AGE:I
-
AGE
- Mappings:
Namespace Name Mixin selector official dLclf;d:Lcwo;intermediary field_10835Lnet/minecraft/class_2302;field_10835:Lnet/minecraft/class_2758;named AGELnet/minecraft/block/CropBlock;AGE:Lnet/minecraft/state/property/IntProperty;
-
AGE_TO_SHAPE
- Mappings:
Namespace Name Mixin selector official aLclf;a:[Ldxj;intermediary field_10836Lnet/minecraft/class_2302;field_10836:[Lnet/minecraft/class_265;named AGE_TO_SHAPELnet/minecraft/block/CropBlock;AGE_TO_SHAPE:[Lnet/minecraft/util/shape/VoxelShape;
-
-
Constructor Details
-
CropBlock
- Mappings:
Namespace Name Mixin selector official <init>Lcvn;<init>(Lcvn$c;)Vintermediary <init>Lnet/minecraft/class_4970;<init>(Lnet/minecraft/class_4970$class_2251;)Vnamed <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:
getOutlineShapein classAbstractBlock- Mappings:
Namespace Name Mixin selector official aLcvn;a(Lcvo;Lcgd;Lgt;Ldwv;)Ldxj;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;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;
-
canPlantOnTop
- Overrides:
canPlantOnTopin classPlantBlock- Mappings:
Namespace Name Mixin selector official dLcka;d(Lcvo;Lcgd;Lgt;)Zintermediary method_9695Lnet/minecraft/class_2261;method_9695(Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Znamed canPlantOnTopLnet/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 bLclf;b()Lcwo;intermediary method_9824Lnet/minecraft/class_2302;method_9824()Lnet/minecraft/class_2758;named getAgePropertyLnet/minecraft/block/CropBlock;getAgeProperty()Lnet/minecraft/state/property/IntProperty;
-
getMaxAge
public int getMaxAge()- Mappings:
Namespace Name Mixin selector official cLclf;c()Iintermediary method_9827Lnet/minecraft/class_2302;method_9827()Inamed getMaxAgeLnet/minecraft/block/CropBlock;getMaxAge()I
-
getAge
- Mappings:
Namespace Name Mixin selector official gLclf;g(Lcvo;)Iintermediary method_9829Lnet/minecraft/class_2302;method_9829(Lnet/minecraft/class_2680;)Inamed getAgeLnet/minecraft/block/CropBlock;getAge(Lnet/minecraft/block/BlockState;)I
-
withAge
- Mappings:
Namespace Name Mixin selector official bLclf;b(I)Lcvo;intermediary method_9828Lnet/minecraft/class_2302;method_9828(I)Lnet/minecraft/class_2680;named withAgeLnet/minecraft/block/CropBlock;withAge(I)Lnet/minecraft/block/BlockState;
-
isMature
- Mappings:
Namespace Name Mixin selector official hLclf;h(Lcvo;)Zintermediary method_9825Lnet/minecraft/class_2302;method_9825(Lnet/minecraft/class_2680;)Znamed isMatureLnet/minecraft/block/CropBlock;isMature(Lnet/minecraft/block/BlockState;)Z
-
hasRandomTicks
- Overrides:
hasRandomTicksin classBlock- Mappings:
Namespace Name Mixin selector official e_Lcjt;e_(Lcvo;)Zintermediary method_9542Lnet/minecraft/class_2248;method_9542(Lnet/minecraft/class_2680;)Znamed hasRandomTicksLnet/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
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 official bLcvn;b(Lcvo;Lagg;Lgt;Lamn;)Vintermediary method_9514Lnet/minecraft/class_4970;method_9514(Lnet/minecraft/class_2680;Lnet/minecraft/class_3218;Lnet/minecraft/class_2338;Lnet/minecraft/class_5819;)Vnamed 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;)V
-
applyGrowth
- Mappings:
Namespace Name Mixin selector official aLclf;a(Lcgx;Lgt;Lcvo;)Vintermediary method_9826Lnet/minecraft/class_2302;method_9826(Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)Vnamed applyGrowthLnet/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 aLclf;a(Lcgx;)Iintermediary method_9831Lnet/minecraft/class_2302;method_9831(Lnet/minecraft/class_1937;)Inamed getGrowthAmountLnet/minecraft/block/CropBlock;getGrowthAmount(Lnet/minecraft/world/World;)I
-
getAvailableMoisture
- Mappings:
Namespace Name Mixin selector official aLclf;a(Lcjt;Lcgd;Lgt;)Fintermediary method_9830Lnet/minecraft/class_2302;method_9830(Lnet/minecraft/class_2248;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;)Fnamed getAvailableMoistureLnet/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:
canPlaceAtin classPlantBlock- Returns:
- whether the block can be placed at
pos - See Also:
- Mappings:
Namespace Name Mixin selector official aLcvn;a(Lcvo;Lcha;Lgt;)Zintermediary method_9558Lnet/minecraft/class_4970;method_9558(Lnet/minecraft/class_2680;Lnet/minecraft/class_4538;Lnet/minecraft/class_2338;)Znamed canPlaceAtLnet/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:
CactusBlockdamages the entity.AbstractPressurePlateBlocktriggers.CobwebBlockslows the entity.EndPortalBlockteleports the entity.HopperBlockcollects the item entity.
- Overrides:
onEntityCollisionin classAbstractBlock- See Also:
-
Block.onSteppedOn(net.minecraft.world.World, net.minecraft.util.math.BlockPos, net.minecraft.block.BlockState, net.minecraft.entity.Entity)AbstractBlock.onProjectileHit(net.minecraft.world.World, net.minecraft.block.BlockState, net.minecraft.util.hit.BlockHitResult, net.minecraft.entity.projectile.ProjectileEntity)
- Mappings:
Namespace Name Mixin selector official aLcvn;a(Lcvo;Lcgx;Lgt;Lbbn;)Vintermediary method_9548Lnet/minecraft/class_4970;method_9548(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1297;)Vnamed onEntityCollisionLnet/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 dLclf;d()Lcgw;intermediary method_9832Lnet/minecraft/class_2302;method_9832()Lnet/minecraft/class_1935;named getSeedsItemLnet/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:
getPickStackin classBlock- Returns:
- the new item stack when using pick block functionality
- Mappings:
Namespace Name Mixin selector official aLcjt;a(Lcgd;Lgt;Lcvo;)Lcax;intermediary method_9574Lnet/minecraft/class_2248;method_9574(Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)Lnet/minecraft/class_1799;named getPickStackLnet/minecraft/block/Block;getPickStack(Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)Lnet/minecraft/item/ItemStack;
-
isFertilizable
- Specified by:
isFertilizablein interfaceFertilizable- Mappings:
Namespace Name Mixin selector official aLcjv;a(Lcgd;Lgt;Lcvo;Z)Zintermediary method_9651Lnet/minecraft/class_2256;method_9651(Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Z)Znamed isFertilizableLnet/minecraft/block/Fertilizable;isFertilizable(Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Z)Z
-
canGrow
- Specified by:
canGrowin interfaceFertilizable- Mappings:
Namespace Name Mixin selector official aLcjv;a(Lcgx;Lamn;Lgt;Lcvo;)Zintermediary method_9650Lnet/minecraft/class_2256;method_9650(Lnet/minecraft/class_1937;Lnet/minecraft/class_5819;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)Znamed canGrowLnet/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:
growin interfaceFertilizable- Mappings:
Namespace Name Mixin selector official aLcjv;a(Lagg;Lamn;Lgt;Lcvo;)Vintermediary method_9652Lnet/minecraft/class_2256;method_9652(Lnet/minecraft/class_3218;Lnet/minecraft/class_5819;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)Vnamed 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;)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 official aLcjt;a(Lcvp$a;)Vintermediary method_9515Lnet/minecraft/class_2248;method_9515(Lnet/minecraft/class_2689$class_2690;)Vnamed appendPropertiesLnet/minecraft/block/Block;appendProperties(Lnet/minecraft/state/StateManager$Builder;)V
-