Class BlockTests.CustomBubbleColumnSustainingBlock

java.lang.Object
net.minecraft.world.level.block.state.BlockBehaviour
net.minecraft.world.level.block.Block
net.neoforged.neoforge.debug.block.BlockTests.CustomBubbleColumnSustainingBlock
All Implemented Interfaces:
net.minecraft.world.flag.FeatureElement, net.minecraft.world.level.ItemLike, IBlockExtension
Enclosing class:
BlockTests

private static class BlockTests.CustomBubbleColumnSustainingBlock extends net.minecraft.world.level.block.Block
  • Nested Class Summary

    Nested classes/interfaces inherited from class net.minecraft.world.level.block.state.BlockBehaviour

    net.minecraft.world.level.block.state.BlockBehaviour.BlockStateBase, net.minecraft.world.level.block.state.BlockBehaviour.OffsetFunction, net.minecraft.world.level.block.state.BlockBehaviour.OffsetType, net.minecraft.world.level.block.state.BlockBehaviour.Properties, net.minecraft.world.level.block.state.BlockBehaviour.StateArgumentPredicate<A>, net.minecraft.world.level.block.state.BlockBehaviour.StatePredicate
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private final BubbleColumnDirection
     

    Fields inherited from class net.minecraft.world.level.block.Block

    BLOCK_STATE_REGISTRY, CODEC, INDESTRUCTIBLE, INSTANT, stateDefinition, UPDATE_ALL, UPDATE_ALL_IMMEDIATE, UPDATE_CLIENTS, UPDATE_IMMEDIATE, UPDATE_INVISIBLE, UPDATE_KNOWN_SHAPE, UPDATE_LIMIT, UPDATE_MOVE_BY_PISTON, UPDATE_NEIGHBORS, UPDATE_NONE, UPDATE_SKIP_ALL_SIDEEFFECTS, UPDATE_SKIP_BLOCK_ENTITY_SIDEEFFECTS, UPDATE_SKIP_ON_PLACE, UPDATE_SKIP_SHAPE_UPDATE_ON_WIRE, UPDATE_SUPPRESS_DROPS

    Fields inherited from class net.minecraft.world.level.block.state.BlockBehaviour

    descriptionId, drops, dynamicShape, explosionResistance, friction, hasCollision, isRandomlyTicking, jumpFactor, properties, requiredFeatures, soundType, speedFactor, UPDATE_SHAPE_ORDER

    Fields inherited from interface net.minecraft.world.flag.FeatureElement

    FILTERED_REGISTRIES
  • Constructor Summary

    Constructors
    Constructor
    Description
    CustomBubbleColumnSustainingBlock(net.minecraft.world.level.block.state.BlockBehaviour.Properties properties, BubbleColumnDirection bubbleColumnDirection1)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    getBubbleColumnDirection(net.minecraft.world.level.block.state.BlockState state)
    Determines if this block can spawn Bubble Columns and if so, what direction the column flows.
    protected void
    onPlace(net.minecraft.world.level.block.state.BlockState blockState, net.minecraft.world.level.Level level, net.minecraft.core.BlockPos blockPos, net.minecraft.world.level.block.state.BlockState oldBlockState, boolean isMoving)
     
    protected void
    tick(net.minecraft.world.level.block.state.BlockState blockState, net.minecraft.server.level.ServerLevel serverLevel, net.minecraft.core.BlockPos blockPos, net.minecraft.util.RandomSource randomSource)
     
    protected net.minecraft.world.level.block.state.BlockState
    updateShape(net.minecraft.world.level.block.state.BlockState currentBlockState, net.minecraft.world.level.LevelReader level, net.minecraft.world.level.ScheduledTickAccess scheduledTickAccess, net.minecraft.core.BlockPos currentBlockPos, net.minecraft.core.Direction direction, net.minecraft.core.BlockPos sideBlockPos, net.minecraft.world.level.block.state.BlockState sideBlockState, net.minecraft.util.RandomSource randomSource)
     

    Methods inherited from class net.minecraft.world.level.block.Block

    animateTick, asBlock, asItem, box, boxes, boxZ, boxZ, boxZ, builtInRegistryHolder, byItem, canSupportCenter, canSupportRigidBlock, codec, column, column, createBlockStateDefinition, cube, cube, defaultBlockState, destroy, dropFromExplosion, dropResources, dropResources, dropResources, fallOn, getDrops, getDrops, getExplosionResistance, getFriction, getId, getJumpFactor, getName, getShapeForEachState, getShapeForEachState, getSpeedFactor, getStateDefinition, getStateForPlacement, handlePrecipitation, hasDynamicShape, isExceptionForConnection, isFaceFull, isPossibleToRespawnInThis, isShapeFullBlock, playerDestroy, playerWillDestroy, popExperience, popResource, popResourceFromFace, pushEntitiesUp, registerDefaultState, setPlacedBy, shouldRenderFace, shouldRenderFace, spawnDestroyParticles, stateById, stepOn, toString, tryDropExperience, updateEntityMovementAfterFallOn, updateFromNeighbourShapes, updateOrDestroy, updateOrDestroy, wasExploded, withPropertiesOf

    Methods inherited from class net.minecraft.world.level.block.state.BlockBehaviour

    affectNeighborsAfterRemoval, attack, canBeReplaced, canBeReplaced, canSurvive, defaultDestroyTime, defaultMapColor, entityInside, getAnalogOutputSignal, getBlockSupportShape, getCloneItemStack, getCollisionShape, getDescriptionId, getDestroyProgress, getDirectSignal, getDrops, getEntityInsideCollisionShape, getFluidState, getInteractionShape, getLightBlock, getLootTable, getMaxHorizontalOffset, getMaxVerticalOffset, getMenuProvider, getOcclusionShape, getRenderShape, getSeed, getShadeBrightness, getShape, getSignal, getSoundType, getVisualShape, hasAnalogOutputSignal, isAir, isCollisionShapeFullBlock, isPathfindable, isRandomlyTicking, isSignalSource, mirror, neighborChanged, onExplosionHit, onProjectileHit, propagatesSkylightDown, properties, propertiesCodec, randomTick, requiredFeatures, rotate, simpleCodec, skipRendering, spawnAfterBreak, triggerEvent, updateIndirectNeighbourShapes, useItemOn, useShapeForLightOcclusion, useWithoutItem

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait

    Methods inherited from interface net.minecraft.world.flag.FeatureElement

    isEnabled
  • Field Details

  • Constructor Details

    • CustomBubbleColumnSustainingBlock

      public CustomBubbleColumnSustainingBlock(net.minecraft.world.level.block.state.BlockBehaviour.Properties properties, BubbleColumnDirection bubbleColumnDirection1)
  • Method Details

    • tick

      protected void tick(net.minecraft.world.level.block.state.BlockState blockState, net.minecraft.server.level.ServerLevel serverLevel, net.minecraft.core.BlockPos blockPos, net.minecraft.util.RandomSource randomSource)
      Overrides:
      tick in class net.minecraft.world.level.block.state.BlockBehaviour
    • updateShape

      protected net.minecraft.world.level.block.state.BlockState updateShape(net.minecraft.world.level.block.state.BlockState currentBlockState, net.minecraft.world.level.LevelReader level, net.minecraft.world.level.ScheduledTickAccess scheduledTickAccess, net.minecraft.core.BlockPos currentBlockPos, net.minecraft.core.Direction direction, net.minecraft.core.BlockPos sideBlockPos, net.minecraft.world.level.block.state.BlockState sideBlockState, net.minecraft.util.RandomSource randomSource)
      Overrides:
      updateShape in class net.minecraft.world.level.block.state.BlockBehaviour
    • onPlace

      protected void onPlace(net.minecraft.world.level.block.state.BlockState blockState, net.minecraft.world.level.Level level, net.minecraft.core.BlockPos blockPos, net.minecraft.world.level.block.state.BlockState oldBlockState, boolean isMoving)
      Overrides:
      onPlace in class net.minecraft.world.level.block.state.BlockBehaviour
    • getBubbleColumnDirection

      public BubbleColumnDirection getBubbleColumnDirection(net.minecraft.world.level.block.state.BlockState state)
      Description copied from interface: IBlockExtension
      Determines if this block can spawn Bubble Columns and if so, what direction the column flows.

      NOTE: The block itself will still need to call BubbleColumnBlock.updateColumn(LevelAccessor, BlockPos, BlockState) in their tick method and schedule a block tick in the block's onPlace. Also, schedule a fluid tick in updateShape method if update direction is up. Both are needed in order to get the Bubble Columns to function properly. See SoulSandBlock and MagmaBlock for example.

      Parameters:
      state - The current state
      Returns:
      BubbleColumnDirection.NONE for no Bubble Column. Otherwise, will spawn Bubble Column flowing with specified direction