Class SculkVeinBlock

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

public class SculkVeinBlock extends MultifaceGrowthBlock implements SculkSpreadable, Waterloggable
Mappings:
Namespace Name
official ddl
intermediary net/minecraft/class_7130
named net/minecraft/block/SculkVeinBlock
  • Field Details

    • CODEC

      public static final com.mojang.serialization.MapCodec<SculkVeinBlock> CODEC
      Mappings:
      Namespace Name Mixin selector
      official c Lddl;c:Lcom/mojang/serialization/MapCodec;
      intermediary field_46437 Lnet/minecraft/class_7130;field_46437:Lcom/mojang/serialization/MapCodec;
      named CODEC Lnet/minecraft/block/SculkVeinBlock;CODEC:Lcom/mojang/serialization/MapCodec;
    • WATERLOGGED

      private static final BooleanProperty WATERLOGGED
      Mappings:
      Namespace Name Mixin selector
      official d Lddl;d:Ldjy;
      intermediary field_37631 Lnet/minecraft/class_7130;field_37631:Lnet/minecraft/class_2746;
      named WATERLOGGED Lnet/minecraft/block/SculkVeinBlock;WATERLOGGED:Lnet/minecraft/state/property/BooleanProperty;
    • allGrowTypeGrower

      private final LichenGrower allGrowTypeGrower
      Mappings:
      Namespace Name Mixin selector
      official e Lddl;e:Ldbq;
      intermediary field_37632 Lnet/minecraft/class_7130;field_37632:Lnet/minecraft/class_7118;
      named allGrowTypeGrower Lnet/minecraft/block/SculkVeinBlock;allGrowTypeGrower:Lnet/minecraft/block/LichenGrower;
    • samePositionOnlyGrower

      private final LichenGrower samePositionOnlyGrower
      Mappings:
      Namespace Name Mixin selector
      official f Lddl;f:Ldbq;
      intermediary field_37633 Lnet/minecraft/class_7130;field_37633:Lnet/minecraft/class_7118;
      named samePositionOnlyGrower Lnet/minecraft/block/SculkVeinBlock;samePositionOnlyGrower:Lnet/minecraft/block/LichenGrower;
  • Constructor Details

    • SculkVeinBlock

      public SculkVeinBlock(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<SculkVeinBlock> getCodec()
      Specified by:
      getCodec in class MultifaceGrowthBlock
      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;
    • getGrower

      public LichenGrower getGrower()
      Specified by:
      getGrower in class MultifaceGrowthBlock
      Mappings:
      Namespace Name Mixin selector
      official c Ldbp;c()Ldbq;
      intermediary method_41432 Lnet/minecraft/class_5778;method_41432()Lnet/minecraft/class_7118;
      named getGrower Lnet/minecraft/block/MultifaceGrowthBlock;getGrower()Lnet/minecraft/block/LichenGrower;
    • getSamePositionOnlyGrower

      public LichenGrower getSamePositionOnlyGrower()
      Mappings:
      Namespace Name Mixin selector
      official g Lddl;g()Ldbq;
      intermediary method_41516 Lnet/minecraft/class_7130;method_41516()Lnet/minecraft/class_7118;
      named getSamePositionOnlyGrower Lnet/minecraft/block/SculkVeinBlock;getSamePositionOnlyGrower()Lnet/minecraft/block/LichenGrower;
    • place

      public static boolean place(WorldAccess world, BlockPos pos, BlockState state, Collection<Direction> directions)
      Mappings:
      Namespace Name Mixin selector
      official a Lddl;a(Lctq;Lhx;Ldjh;Ljava/util/Collection;)Z
      intermediary method_41514 Lnet/minecraft/class_7130;method_41514(Lnet/minecraft/class_1936;Lnet/minecraft/class_2338;Lnet/minecraft/class_2680;Ljava/util/Collection;)Z
      named place Lnet/minecraft/block/SculkVeinBlock;place(Lnet/minecraft/world/WorldAccess;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/block/BlockState;Ljava/util/Collection;)Z
    • spreadAtSamePosition

      public void spreadAtSamePosition(WorldAccess world, BlockState state, BlockPos pos, Random random)
      Specified by:
      spreadAtSamePosition in interface SculkSpreadable
      Mappings:
      Namespace Name Mixin selector
      official a Lddf;a(Lctq;Ldjh;Lhx;Lauv;)V
      intermediary method_41468 Lnet/minecraft/class_7124;method_41468(Lnet/minecraft/class_1936;Lnet/minecraft/class_2680;Lnet/minecraft/class_2338;Lnet/minecraft/class_5819;)V
      named spreadAtSamePosition Lnet/minecraft/block/SculkSpreadable;spreadAtSamePosition(Lnet/minecraft/world/WorldAccess;Lnet/minecraft/block/BlockState;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/random/Random;)V
    • spread

      public int spread(SculkSpreadManager.Cursor cursor, WorldAccess world, BlockPos catalystPos, Random random, SculkSpreadManager spreadManager, boolean shouldConvertToBlock)
      Specified by:
      spread in interface SculkSpreadable
      Mappings:
      Namespace Name Mixin selector
      official a Lddf;a(Lddk$a;Lctq;Lhx;Lauv;Lddk;Z)I
      intermediary method_41471 Lnet/minecraft/class_7124;method_41471(Lnet/minecraft/class_7128$class_7129;Lnet/minecraft/class_1936;Lnet/minecraft/class_2338;Lnet/minecraft/class_5819;Lnet/minecraft/class_7128;Z)I
      named spread Lnet/minecraft/block/SculkSpreadable;spread(Lnet/minecraft/block/entity/SculkSpreadManager$Cursor;Lnet/minecraft/world/WorldAccess;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/random/Random;Lnet/minecraft/block/entity/SculkSpreadManager;Z)I
    • convertToBlock

      private boolean convertToBlock(SculkSpreadManager spreadManager, WorldAccess world, BlockPos pos, Random random)
      Mappings:
      Namespace Name Mixin selector
      official a Lddl;a(Lddk;Lctq;Lhx;Lauv;)Z
      intermediary method_41515 Lnet/minecraft/class_7130;method_41515(Lnet/minecraft/class_7128;Lnet/minecraft/class_1936;Lnet/minecraft/class_2338;Lnet/minecraft/class_5819;)Z
      named convertToBlock Lnet/minecraft/block/SculkVeinBlock;convertToBlock(Lnet/minecraft/block/entity/SculkSpreadManager;Lnet/minecraft/world/WorldAccess;Lnet/minecraft/util/math/BlockPos;Lnet/minecraft/util/math/random/Random;)Z
    • veinCoversSculkReplaceable

      public static boolean veinCoversSculkReplaceable(WorldAccess world, BlockState state, BlockPos pos)
      Mappings:
      Namespace Name Mixin selector
      official a Lddl;a(Lctq;Ldjh;Lhx;)Z
      intermediary method_41513 Lnet/minecraft/class_7130;method_41513(Lnet/minecraft/class_1936;Lnet/minecraft/class_2680;Lnet/minecraft/class_2338;)Z
      named veinCoversSculkReplaceable Lnet/minecraft/block/SculkVeinBlock;veinCoversSculkReplaceable(Lnet/minecraft/world/WorldAccess;Lnet/minecraft/block/BlockState;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 MultifaceGrowthBlock
      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;
    • 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 MultifaceGrowthBlock
      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
    • 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 MultifaceGrowthBlock
      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
    • 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;