Class TestBlock

java.lang.Object
net.minecraft.world.level.block.state.BlockBehaviour
net.minecraft.world.level.block.Block
net.nikdo53.tinymultiblocklib.block.AbstractMultiBlock
net.nikdo53.tinymultiblocklib.block.TestBlock
All Implemented Interfaces:
net.minecraft.world.flag.FeatureElement, net.minecraft.world.level.block.EntityBlock, net.minecraft.world.level.ItemLike, net.minecraftforge.common.extensions.IForgeBlock, IExpandingMultiblock, IMBStateSyncer, IMovableMultiblock, IMultiBlock, IPreviewableMultiblock

public class TestBlock extends AbstractMultiBlock implements IPreviewableMultiblock, IExpandingMultiblock
  • Nested Class Summary

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

    net.minecraft.world.level.block.Block.BlockStatePairKey

    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 extends Object>, net.minecraft.world.level.block.state.BlockBehaviour.StatePredicate
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final net.minecraft.world.phys.shapes.VoxelShape
     

    Fields inherited from class net.nikdo53.tinymultiblocklib.block.AbstractMultiBlock

    CENTER

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

    BLOCK_STATE_REGISTRY, 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_SUPPRESS_DROPS

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

    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
    TestBlock(net.minecraft.world.level.block.state.BlockBehaviour.Properties properties)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    protected void
    createBlockStateDefinition(net.minecraft.world.level.block.state.StateDefinition.Builder<net.minecraft.world.level.block.Block,net.minecraft.world.level.block.state.BlockState> builder)
     
    void
    Registers BlockStates to be automatically synced across the whole multiblock
    net.minecraft.world.level.block.state.properties.DirectionProperty
    Returns the multiblocks DirectionProperty.
    net.minecraft.world.level.block.RenderShape
    getMultiblockRenderShape(net.minecraft.world.level.block.state.BlockState state)
    Sorry for forcing everyone to override this, but its kinda important for performance and fixing visual glitches
    net.minecraft.world.phys.shapes.VoxelShape
    getShape(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.BlockGetter level, net.minecraft.core.BlockPos pos, net.minecraft.world.phys.shapes.CollisionContext context)
     
    List<net.minecraft.core.BlockPos>
    makeFullBlockShape(net.minecraft.core.Direction direction, net.minecraft.core.BlockPos center, net.minecraft.world.level.block.state.BlockState state)
    Returns a BlockPos Stream of every block in this multiblock.
    static net.minecraft.world.phys.shapes.VoxelShape
     
    net.minecraft.world.level.block.entity.BlockEntity
    newBlockEntity(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state)
     
    net.minecraft.world.InteractionResult
    use(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.entity.player.Player player, net.minecraft.world.InteractionHand hand, net.minecraft.world.phys.BlockHitResult hit)
     

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

    animateTick, appendHoverText, asBlock, asItem, box, builtInRegistryHolder, byItem, canSupportCenter, canSupportRigidBlock, canSustainPlant, defaultBlockState, destroy, dropFromExplosion, dropResources, dropResources, dropResources, dropResources, fallOn, getCloneItemStack, getDescriptionId, getDrops, getDrops, getExplosionResistance, getFriction, getId, getJumpFactor, getName, getRenderPropertiesInternal, getShapeForEachState, getSoundType, getSpeedFactor, getStateDefinition, handlePrecipitation, hasDynamicShape, initializeClient, isExceptionForConnection, isFaceFull, isPossibleToRespawnInThis, isRandomlyTicking, isShapeFullBlock, playerDestroy, popExperience, popResource, popResourceFromFace, propagatesSkylightDown, pushEntitiesUp, registerDefaultState, setPlacedBy, shouldRenderFace, spawnDestroyParticles, stateById, stepOn, toString, tryDropExperience, updateEntityAfterFallOn, updateFromNeighbourShapes, updateOrDestroy, updateOrDestroy, wasExploded, withPropertiesOf

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

    attack, canBeReplaced, canBeReplaced, defaultDestroyTime, defaultMapColor, entityInside, getAnalogOutputSignal, getBlockSupportShape, getCollisionShape, getDestroyProgress, getDirectSignal, getDrops, getFluidState, getInteractionShape, getLightBlock, getLootTable, getMaxHorizontalOffset, getMaxVerticalOffset, getMenuProvider, getOcclusionShape, getSeed, getShadeBrightness, getSignal, getVisualShape, hasAnalogOutputSignal, isAir, isCollisionShapeFullBlock, isOcclusionShapeFullBlock, isPathfindable, isSignalSource, mirror, neighborChanged, onProjectileHit, onRemove, randomTick, requiredFeatures, rotate, skipRendering, spawnAfterBreak, tick, triggerEvent, updateIndirectNeighbourShapes, useShapeForLightOcclusion

    Methods inherited from class java.lang.Object

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

    Methods inherited from interface net.minecraft.world.level.block.EntityBlock

    getListener, getTicker

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

    isEnabled

    Methods inherited from interface net.nikdo53.tinymultiblocklib.block.IExpandingMultiblock

    cancelChangeShape, canChangeShape, changeShape, hasShapeChanged, onPlaceHelper, postChangeShape

    Methods inherited from interface net.minecraftforge.common.extensions.IForgeBlock

    addLandingEffects, addRunningEffects, canBeHydrated, canConnectRedstone, canDropFromExplosion, canEntityDestroy, canHarvestBlock, canStickTo, collisionExtendsVertically, getAdjacentBlockPathType, getAppearance, getBeaconColorMultiplier, getBedDirection, getBlockPathType, getCloneItemStack, getEnchantPowerBonus, getExpDrop, getExplosionResistance, getFireSpreadSpeed, getFlammability, getFriction, getLightEmission, getMapColor, getPistonPushReaction, getRespawnPosition, getSoundType, getStateAtViewpoint, getToolModifiedState, getWeakChanges, hidesNeighborFace, isBed, isBurning, isConduitFrame, isFertile, isFireSource, isFlammable, isLadder, isPortalFrame, isScaffolding, isSlimeBlock, isStickyBlock, isValidSpawn, makesOpenTrapdoorAboveClimbable, onBlockExploded, onBlockStateChange, onCaughtFire, onDestroyedByPlayer, onNeighborChange, onTreeGrow, rotate, setBedOccupied, shouldCheckWeakPower, shouldDisplayFluidOverlay, supportsExternalFaceHiding

    Methods inherited from interface net.nikdo53.tinymultiblocklib.block.IMBStateSyncer

    getSyncedStateProperties, getSyncedStatePropertiesBuilder, syncBlockStates

    Methods inherited from interface net.nikdo53.tinymultiblocklib.block.IMovableMultiblock

    gatherStates, moveMultiblock

    Methods inherited from interface net.nikdo53.tinymultiblocklib.block.IPreviewableMultiblock

    getBlockEntityForPreviews, getDefaultStateForPreviews, skipJsonRendering
  • Field Details

    • SHAPE

      public static final net.minecraft.world.phys.shapes.VoxelShape SHAPE
  • Constructor Details

    • TestBlock

      public TestBlock(net.minecraft.world.level.block.state.BlockBehaviour.Properties properties)
  • Method Details

    • getDirectionProperty

      @Nullable public net.minecraft.world.level.block.state.properties.DirectionProperty getDirectionProperty()
      Description copied from interface: IMultiBlock
      Returns the multiblocks DirectionProperty.

      Only used for multiblocks that can be rotated, otherwise returns null

      Specified by:
      getDirectionProperty in interface IMultiBlock
    • createSyncedBlockStates

      public void createSyncedBlockStates(SyncedStatePropertiesBuilder builder)
      Description copied from interface: IMBStateSyncer
      Registers BlockStates to be automatically synced across the whole multiblock
      Specified by:
      createSyncedBlockStates in interface IMBStateSyncer
    • makeFullBlockShape

      public List<net.minecraft.core.BlockPos> makeFullBlockShape(@Nullable net.minecraft.core.Direction direction, net.minecraft.core.BlockPos center, net.minecraft.world.level.block.state.BlockState state)
      Description copied from interface: IMultiBlock
      Returns a BlockPos Stream of every block in this multiblock.

      Should only be used for overriding

      Specified by:
      makeFullBlockShape in interface IMultiBlock
      See Also:
    • createBlockStateDefinition

      protected void createBlockStateDefinition(net.minecraft.world.level.block.state.StateDefinition.Builder<net.minecraft.world.level.block.Block,net.minecraft.world.level.block.state.BlockState> builder)
      Overrides:
      createBlockStateDefinition in class AbstractMultiBlock
    • use

      public net.minecraft.world.InteractionResult use(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.entity.player.Player player, net.minecraft.world.InteractionHand hand, net.minecraft.world.phys.BlockHitResult hit)
      Overrides:
      use in class net.minecraft.world.level.block.state.BlockBehaviour
    • getMultiblockRenderShape

      public net.minecraft.world.level.block.RenderShape getMultiblockRenderShape(net.minecraft.world.level.block.state.BlockState state)
      Description copied from class: AbstractMultiBlock
      Sorry for forcing everyone to override this, but its kinda important for performance and fixing visual glitches

      If your block is a json model, return RenderShape.MODEL

      If your block has a BlockEntity renderer, return RenderShape.ENTITYBLOCK_ANIMATED for that specific block and RenderShape.INVISIBLE everywhere else

      Specified by:
      getMultiblockRenderShape in class AbstractMultiBlock
      See Also:
    • newBlockEntity

      @Nullable public net.minecraft.world.level.block.entity.BlockEntity newBlockEntity(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state)
      Specified by:
      newBlockEntity in interface net.minecraft.world.level.block.EntityBlock
    • getShape

      public net.minecraft.world.phys.shapes.VoxelShape getShape(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.BlockGetter level, net.minecraft.core.BlockPos pos, net.minecraft.world.phys.shapes.CollisionContext context)
      Overrides:
      getShape in class net.minecraft.world.level.block.state.BlockBehaviour
    • makeShape

      public static net.minecraft.world.phys.shapes.VoxelShape makeShape()