Class SweetBerryBushBlock

All Implemented Interfaces:
Fertilizable, ItemConvertible, ToggleableFeature

public class SweetBerryBushBlock extends PlantBlock implements Fertilizable
Mappings:
Namespace Name
official cxr
intermediary net/minecraft/class_3830
named net/minecraft/block/SweetBerryBushBlock
  • Field Details

    • field_31260

      private static final float field_31260
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official c Lcxr;c:F
      intermediary field_31260 Lnet/minecraft/class_3830;field_31260:F
      named field_31260 Lnet/minecraft/block/SweetBerryBushBlock;field_31260:F
    • MAX_AGE

      public static final int MAX_AGE
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Lcxr;a:I
      intermediary field_31259 Lnet/minecraft/class_3830;field_31259:I
      named MAX_AGE Lnet/minecraft/block/SweetBerryBushBlock;MAX_AGE:I
    • AGE

      public static final IntProperty AGE
      Mappings:
      Namespace Name Mixin selector
      official b Lcxr;b:Lddb;
      intermediary field_17000 Lnet/minecraft/class_3830;field_17000:Lnet/minecraft/class_2758;
      named AGE Lnet/minecraft/block/SweetBerryBushBlock;AGE:Lnet/minecraft/state/property/IntProperty;
    • SMALL_SHAPE

      private static final VoxelShape SMALL_SHAPE
      Mappings:
      Namespace Name Mixin selector
      official d Lcxr;d:Lefb;
      intermediary field_17001 Lnet/minecraft/class_3830;field_17001:Lnet/minecraft/class_265;
      named SMALL_SHAPE Lnet/minecraft/block/SweetBerryBushBlock;SMALL_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
    • LARGE_SHAPE

      private static final VoxelShape LARGE_SHAPE
      Mappings:
      Namespace Name Mixin selector
      official e Lcxr;e:Lefb;
      intermediary field_17002 Lnet/minecraft/class_3830;field_17002:Lnet/minecraft/class_265;
      named LARGE_SHAPE Lnet/minecraft/block/SweetBerryBushBlock;LARGE_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
  • Constructor Details

    • SweetBerryBushBlock

      public SweetBerryBushBlock(AbstractBlock.Settings settings)
      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

    • getPickStack

      public ItemStack getPickStack(BlockView 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
      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;
    • getOutlineShape

      public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context)
      Overrides:
      getOutlineShape in class AbstractBlock
      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;
    • hasRandomTicks

      public boolean hasRandomTicks(BlockState state)
      Overrides:
      hasRandomTicks in class Block
      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

      public 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 calls AbstractBlock.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, 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
      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
    • onEntityCollision

      public 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
      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
    • onUse

      public ActionResult onUse(BlockState state, World world, BlockPos pos, PlayerEntity player, Hand hand, BlockHitResult hit)
      Called when this block is used by a player. This, by default, is bound to using the right mouse button.

      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().

      If the action result is successful on a logical client, then the action will be sent to the logical server for processing.

      Overrides:
      onUse in class AbstractBlock
      Returns:
      an action result that specifies if using the block was successful.
      Mappings:
      Namespace Name Mixin selector
      official a Ldca;a(Ldcb;Lcmm;Lgu;Lbyo;Lbdw;Leee;)Lbdx;
      intermediary method_9534 Lnet/minecraft/class_4970;method_9534(Lnet/minecraft/class_2680;Lnet/minecraft/class_1937;Lnet/minecraft/class_2338;Lnet/minecraft/class_1657;Lnet/minecraft/class_1268;Lnet/minecraft/class_3965;)Lnet/minecraft/class_1269;
      named onUse Lnet/minecraft/block/AbstractBlock;onUse(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/World;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/player/PlayerEntity;Lnet/minecraft/util/Hand;Lnet/minecraft/util/hit/BlockHitResult;)Lnet/minecraft/util/ActionResult;
    • 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
      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
    • isFertilizable

      public boolean isFertilizable(WorldView world, BlockPos pos, BlockState state, boolean isClient)
      Specified by:
      isFertilizable in interface Fertilizable
      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

      public boolean canGrow(World world, Random random, BlockPos pos, BlockState state)
      Specified by:
      canGrow in interface Fertilizable
      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

      public void grow(ServerWorld world, Random random, BlockPos pos, BlockState state)
      Specified by:
      grow in interface Fertilizable
      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