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.BlockStatePairKeyNested 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
FieldsFields inherited from class net.nikdo53.tinymultiblocklib.block.AbstractMultiBlock
CENTERFields 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_DROPSFields inherited from class net.minecraft.world.level.block.state.BlockBehaviour
drops, dynamicShape, explosionResistance, friction, hasCollision, isRandomlyTicking, jumpFactor, properties, requiredFeatures, soundType, speedFactor, UPDATE_SHAPE_ORDERFields inherited from interface net.minecraft.world.flag.FeatureElement
FILTERED_REGISTRIES -
Constructor Summary
ConstructorsConstructorDescriptionTestBlock(net.minecraft.world.level.block.state.BlockBehaviour.Properties properties) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcreateBlockStateDefinition(net.minecraft.world.level.block.state.StateDefinition.Builder<net.minecraft.world.level.block.Block, net.minecraft.world.level.block.state.BlockState> builder) voidRegisters BlockStates to be automatically synced across the whole multiblocknet.minecraft.world.level.block.state.properties.DirectionPropertyReturns the multiblocks DirectionProperty.net.minecraft.world.level.block.RenderShapegetMultiblockRenderShape(net.minecraft.world.level.block.state.BlockState state) Sorry for forcing everyone to override this, but its kinda important for performance and fixing visual glitchesnet.minecraft.world.phys.shapes.VoxelShapegetShape(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.VoxelShapenet.minecraft.world.level.block.entity.BlockEntitynewBlockEntity(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state) net.minecraft.world.InteractionResultuse(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.nikdo53.tinymultiblocklib.block.AbstractMultiBlock
canSurvive, getRenderShape, getStateForPlacement, getSyncedStatePropertiesBuilder, onPlace, playerWillDestroy, tick, updateShapeMethods 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, withPropertiesOfMethods 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, triggerEvent, updateIndirectNeighbourShapes, useShapeForLightOcclusionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface net.minecraft.world.level.block.EntityBlock
getListener, getTickerMethods inherited from interface net.minecraft.world.flag.FeatureElement
isEnabledMethods inherited from interface net.nikdo53.tinymultiblocklib.block.IExpandingMultiblock
cancelChangeShape, canChangeShape, changeShape, hasShapeChanged, onPlaceHelper, postChangeShapeMethods 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, supportsExternalFaceHidingMethods inherited from interface net.nikdo53.tinymultiblocklib.block.IMBStateSyncer
getSyncedStateProperties, getSyncedStatePropertiesBuilder, syncBlockStatesMethods inherited from interface net.nikdo53.tinymultiblocklib.block.IMovableMultiblock
gatherStates, moveMultiblockMethods inherited from interface net.nikdo53.tinymultiblocklib.block.IMultiBlock
allBlocksPresent, canPlace, canSurviveHelper, destroy, entityUnobstructed, extraSurviveRequirements, fixInStructures, fixTick, getDirection, getFullBlockShape, getFullBlockShapeNoCache, getMaxAge, getStateForPlacementHelper, getStateForPlacementHelper, getStateFromOffset, growHelper, isBroken, place, prepareForPlace, preventCreativeDrops, updateShapeHelper, voxelShapeHelper, voxelShapeHelper, voxelShapeHelperMethods inherited from interface net.nikdo53.tinymultiblocklib.block.IPreviewableMultiblock
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:IMultiBlockReturns the multiblocks DirectionProperty.Only used for multiblocks that can be rotated, otherwise returns null
- Specified by:
getDirectionPropertyin interfaceIMultiBlock
-
createSyncedBlockStates
Description copied from interface:IMBStateSyncerRegisters BlockStates to be automatically synced across the whole multiblock- Specified by:
createSyncedBlockStatesin interfaceIMBStateSyncer
-
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:IMultiBlockReturns a BlockPos Stream of every block in this multiblock.Should only be used for overriding
- Specified by:
makeFullBlockShapein interfaceIMultiBlock- 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:
createBlockStateDefinitionin classAbstractMultiBlock
-
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:
usein classnet.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:AbstractMultiBlockSorry for forcing everyone to override this, but its kinda important for performance and fixing visual glitchesIf your block is a json model, return
RenderShape.MODELIf your block has a BlockEntity renderer, return
RenderShape.ENTITYBLOCK_ANIMATEDfor that specific block andRenderShape.INVISIBLEeverywhere else- Specified by:
getMultiblockRenderShapein classAbstractMultiBlock- 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:
newBlockEntityin interfacenet.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:
getShapein classnet.minecraft.world.level.block.state.BlockBehaviour
-
makeShape
public static net.minecraft.world.phys.shapes.VoxelShape makeShape()
-