Class SeaPickleBlock

All Implemented Interfaces:
Fertilizable, FluidDrainable, FluidFillable, Waterloggable, ItemConvertible, ToggleableFeature

public class SeaPickleBlock extends PlantBlock implements Fertilizable, Waterloggable
Mappings:
Namespace Name
official ddm
intermediary net/minecraft/class_2472
named net/minecraft/block/SeaPickleBlock
  • Field Details

    • CODEC

      public static final com.mojang.serialization.MapCodec<SeaPickleBlock> CODEC
      Mappings:
      Namespace Name Mixin selector
      official a Lddm;a:Lcom/mojang/serialization/MapCodec;
      intermediary field_46438 Lnet/minecraft/class_2472;field_46438:Lcom/mojang/serialization/MapCodec;
      named CODEC Lnet/minecraft/block/SeaPickleBlock;CODEC:Lcom/mojang/serialization/MapCodec;
    • MAX_PICKLES

      public static final int MAX_PICKLES
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official b Lddm;b:I
      intermediary field_31241 Lnet/minecraft/class_2472;field_31241:I
      named MAX_PICKLES Lnet/minecraft/block/SeaPickleBlock;MAX_PICKLES:I
    • PICKLES

      public static final IntProperty PICKLES
      Mappings:
      Namespace Name Mixin selector
      official c Lddm;c:Ldkh;
      intermediary field_11472 Lnet/minecraft/class_2472;field_11472:Lnet/minecraft/class_2758;
      named PICKLES Lnet/minecraft/block/SeaPickleBlock;PICKLES:Lnet/minecraft/state/property/IntProperty;
    • WATERLOGGED

      public static final BooleanProperty WATERLOGGED
      Mappings:
      Namespace Name Mixin selector
      official d Lddm;d:Ldjy;
      intermediary field_11475 Lnet/minecraft/class_2472;field_11475:Lnet/minecraft/class_2746;
      named WATERLOGGED Lnet/minecraft/block/SeaPickleBlock;WATERLOGGED:Lnet/minecraft/state/property/BooleanProperty;
    • ONE_PICKLE_SHAPE

      protected static final VoxelShape ONE_PICKLE_SHAPE
      Mappings:
      Namespace Name Mixin selector
      official e Lddm;e:Lemm;
      intermediary field_11473 Lnet/minecraft/class_2472;field_11473:Lnet/minecraft/class_265;
      named ONE_PICKLE_SHAPE Lnet/minecraft/block/SeaPickleBlock;ONE_PICKLE_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
    • TWO_PICKLES_SHAPE

      protected static final VoxelShape TWO_PICKLES_SHAPE
      Mappings:
      Namespace Name Mixin selector
      official f Lddm;f:Lemm;
      intermediary field_11470 Lnet/minecraft/class_2472;field_11470:Lnet/minecraft/class_265;
      named TWO_PICKLES_SHAPE Lnet/minecraft/block/SeaPickleBlock;TWO_PICKLES_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
    • THREE_PICKLES_SHAPE

      protected static final VoxelShape THREE_PICKLES_SHAPE
      Mappings:
      Namespace Name Mixin selector
      official g Lddm;g:Lemm;
      intermediary field_11471 Lnet/minecraft/class_2472;field_11471:Lnet/minecraft/class_265;
      named THREE_PICKLES_SHAPE Lnet/minecraft/block/SeaPickleBlock;THREE_PICKLES_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
    • FOUR_PICKLES_SHAPE

      protected static final VoxelShape FOUR_PICKLES_SHAPE
      Mappings:
      Namespace Name Mixin selector
      official h Lddm;h:Lemm;
      intermediary field_11474 Lnet/minecraft/class_2472;field_11474:Lnet/minecraft/class_265;
      named FOUR_PICKLES_SHAPE Lnet/minecraft/block/SeaPickleBlock;FOUR_PICKLES_SHAPE:Lnet/minecraft/util/shape/VoxelShape;
  • Constructor Details

    • SeaPickleBlock

      protected SeaPickleBlock(AbstractBlock.Settings settings)
      Mappings:
      Namespace Name Mixin selector
      official <init> Ldjg;<init>(Ldjg$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

    • getCodec

      public com.mojang.serialization.MapCodec<SeaPickleBlock> getCodec()
      Specified by:
      getCodec in class PlantBlock
      Mappings:
      Namespace Name Mixin selector
      official a Ldjg;a()Lcom/mojang/serialization/MapCodec;
      intermediary method_53969 Lnet/minecraft/class_4970;method_53969()Lcom/mojang/serialization/MapCodec;
      named getCodec Lnet/minecraft/block/AbstractBlock;getCodec()Lcom/mojang/serialization/MapCodec;
    • getPlacementState

      @Nullable public @Nullable BlockState getPlacementState(ItemPlacementContext ctx)
      Overrides:
      getPlacementState in class Block
      Mappings:
      Namespace Name Mixin selector
      official a Lcwq;a(Lcph;)Ldjh;
      intermediary method_9605 Lnet/minecraft/class_2248;method_9605(Lnet/minecraft/class_1750;)Lnet/minecraft/class_2680;
      named getPlacementState Lnet/minecraft/block/Block;getPlacementState(Lnet/minecraft/item/ItemPlacementContext;)Lnet/minecraft/block/BlockState;
    • isDry

      public static boolean isDry(BlockState state)
      Mappings:
      Namespace Name Mixin selector
      official h Lddm;h(Ldjh;)Z
      intermediary method_10506 Lnet/minecraft/class_2472;method_10506(Lnet/minecraft/class_2680;)Z
      named isDry Lnet/minecraft/block/SeaPickleBlock;isDry(Lnet/minecraft/block/BlockState;)Z
    • canPlantOnTop

      protected boolean canPlantOnTop(BlockState floor, BlockView world, BlockPos pos)
      Overrides:
      canPlantOnTop in class PlantBlock
      Mappings:
      Namespace Name Mixin selector
      official b Lcwz;b(Ldjh;Lcsv;Lhx;)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
    • canPlaceAt

      public boolean canPlaceAt(BlockState state, WorldView world, BlockPos pos)
      Returns whether the block can be placed at pos.

      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 class PlantBlock
      Returns:
      whether the block can be placed at pos
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Ldjg;a(Ldjh;Lcts;Lhx;)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
    • getStateForNeighborUpdate

      public BlockState getStateForNeighborUpdate(BlockState state, Direction direction, BlockState neighborState, WorldAccess world, BlockPos pos, BlockPos neighborPos)
      Returns the state of the block after a neighboring block's state change.

      Returning Blocks.AIR breaks the block. This is useful to implement supporting block requirement for blocks (if used along with AbstractBlock.canPlaceAt(net.minecraft.block.BlockState, net.minecraft.world.WorldView, net.minecraft.util.math.BlockPos)).

      Side effects like activating a redstone component (but not scheduling a tick) should be performed in AbstractBlock.neighborUpdate(net.minecraft.block.BlockState, net.minecraft.world.World, net.minecraft.util.math.BlockPos, net.minecraft.block.Block, net.minecraft.util.math.BlockPos, boolean) instead. If the block supports waterlogging and currently has water, this method should be overridden to tick the fluid at the block's position.

      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. This is not called if Block.FORCE_STATE flag is set in the setBlockState call.

      This method can be used for multiple purposes. Here are some examples:

      • FenceBlock uses it to update the fence's connection when a horizontally neighboring block's state is changed.
      • PlantBlock uses it to break the plant if the state change causes it to lose its supporting block.
      • DoorBlock uses it to copy the state of the other half of the door.
      • SlabBlock uses it to schedule the fluid to tick if waterlogged.
      • SoulSandBlock uses it to schedule the water block above to tick so that it becomes a bubble column.
      • FallingBlock uses it to schedule the block to tick so that it can fall if needed.
      Overrides:
      getStateForNeighborUpdate in class PlantBlock
      Parameters:
      state - the state of this block
      direction - the direction from this block to the neighbor
      neighborState - the state of the updated neighbor block
      world - the world
      pos - the position of this block
      neighborPos - the position of the neighbor block
      Returns:
      the state of the block after a neighboring block's state change
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Ldjg;a(Ldjh;Lic;Ldjh;Lctq;Lhx;Lhx;)Ldjh;
      intermediary method_9559 Lnet/minecraft/class_4970;method_9559(Lnet/minecraft/class_2680;Lnet/minecraft/class_2350;Lnet/minecraft/class_2680;Lnet/minecraft/class_1936;Lnet/minecraft/class_2338;Lnet/minecraft/class_2338;)Lnet/minecraft/class_2680;
      named getStateForNeighborUpdate Lnet/minecraft/block/AbstractBlock;getStateForNeighborUpdate(Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/Direction;Lnet/minecraft/block/BlockState;Lnet/minecraft/world/WorldAccess;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/BlockPos;)Lnet/minecraft/block/BlockState;
    • canReplace

      public boolean canReplace(BlockState state, ItemPlacementContext context)
      Returns whether the item can replace the block.

      By default, this checks if the block allows replacing and whether the item differs from the block's item. Items composed of multiple blocks, such as candles, vines, or snow layers, should override this to implement additional checks.

      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:
      canReplace in class AbstractBlock
      Returns:
      whether the item can replace the block
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official a Ldjg;a(Ldjh;Lcph;)Z
      intermediary method_9616 Lnet/minecraft/class_4970;method_9616(Lnet/minecraft/class_2680;Lnet/minecraft/class_1750;)Z
      named canReplace Lnet/minecraft/block/AbstractBlock;canReplace(Lnet/minecraft/block/BlockState;Lnet/minecraft/item/ItemPlacementContext;)Z
    • getOutlineShape

      public VoxelShape getOutlineShape(BlockState state, BlockView world, BlockPos pos, ShapeContext context)
      Overrides:
      getOutlineShape in class AbstractBlock
      Mappings:
      Namespace Name Mixin selector
      official a Ldjg;a(Ldjh;Lcsv;Lhx;Lely;)Lemm;
      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;
    • getFluidState

      public FluidState getFluidState(BlockState state)
      Returns the state's associated fluid state.

      Waterloggable blocks must override this to return Fluids.WATER.getStill(false) when waterlogged.

      Overrides:
      getFluidState in class AbstractBlock
      Returns:
      the state's associated fluid state
      See Also:
      Mappings:
      Namespace Name Mixin selector
      official c_ Ldjg;c_(Ldjh;)Leer;
      intermediary method_9545 Lnet/minecraft/class_4970;method_9545(Lnet/minecraft/class_2680;)Lnet/minecraft/class_3610;
      named getFluidState Lnet/minecraft/block/AbstractBlock;getFluidState(Lnet/minecraft/block/BlockState;)Lnet/minecraft/fluid/FluidState;
    • 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 Lcwq;a(Ldji$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)
      Specified by:
      isFertilizable in interface Fertilizable
      Mappings:
      Namespace Name Mixin selector
      official b Lcwt;b(Lcts;Lhx;Ldjh;)Z
      intermediary method_9651 Lnet/minecraft/class_2256;method_9651(Lnet/minecraft/class_4538;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;)Z
      named isFertilizable Lnet/minecraft/block/Fertilizable;isFertilizable(Lnet/minecraft/world/WorldView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;)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 Lcwt;a(Lctp;Lauv;Lhx;Ldjh;)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 Lcwt;a(Land;Lauv;Lhx;Ldjh;)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
    • canPathfindThrough

      public boolean canPathfindThrough(BlockState state, BlockView world, BlockPos pos, NavigationType type)
      Returns if an entity using navigation type type can navigate through this block.
      Overrides:
      canPathfindThrough in class PlantBlock
      Returns:
      if an entity using navigation type type can navigate through this block
      Mappings:
      Namespace Name Mixin selector
      official a Ldjg;a(Ldjh;Lcsv;Lhx;Lefh;)Z
      intermediary method_9516 Lnet/minecraft/class_4970;method_9516(Lnet/minecraft/class_2680;Lnet/minecraft/class_1922;Lnet/minecraft/class_2338;Lnet/minecraft/class_10;)Z
      named canPathfindThrough Lnet/minecraft/block/AbstractBlock;canPathfindThrough(Lnet/minecraft/block/BlockState;Lnet/minecraft/world/BlockView;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/entity/ai/pathing/NavigationType;)Z