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.test.SimpleMultiBlock
net.nikdo53.tinymultiblocklib.test.TestBlock
- All Implemented Interfaces:
net.fabricmc.fabric.api.block.v1.FabricBlock,net.minecraft.world.flag.FeatureElement,net.minecraft.world.level.block.EntityBlock,net.minecraft.world.level.ItemLike,IExpandingMultiblock,IMBStateSharer,IMovableMultiblock,IMultiBlock,IPreviewableMultiblock
public class TestBlock
extends SimpleMultiBlock
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>, 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, 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_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, boolean isCenter) Sorry for forcing everyone to override this, but its kinda important for performance and fixing visual glitchesprotected net.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.world.level.Level level, net.minecraft.core.BlockPos center, net.minecraft.world.level.block.state.BlockState state, @Nullable net.minecraft.world.level.block.entity.BlockEntity blockEntity, @Nullable net.minecraft.core.Direction direction) Returns a BlockPos Stream of every block in this multiblock.static net.minecraft.world.phys.shapes.VoxelShapeprotected net.minecraft.world.InteractionResultuseWithoutItem(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.phys.BlockHitResult hitResult) Methods inherited from class net.nikdo53.tinymultiblocklib.block.AbstractMultiBlock
addToValidBEBlocks, canSurvive, getRenderShape, getSharedStatePropertiesBuilder, getStateForPlacement, hasCustomBE, newBlockEntity, onPlace, playerWillDestroy, updateShapeMethods inherited from class net.minecraft.world.level.block.Block
animateTick, appendHoverText, asBlock, asItem, box, builtInRegistryHolder, byItem, canSupportCenter, canSupportRigidBlock, codec, defaultBlockState, destroy, dropFromExplosion, dropResources, dropResources, dropResources, fallOn, getCloneItemStack, getDescriptionId, getDrops, getDrops, getExplosionResistance, getFriction, getId, getJumpFactor, getName, getShapeForEachState, getSpeedFactor, getStateDefinition, handlePrecipitation, hasDynamicShape, isExceptionForConnection, isFaceFull, isPossibleToRespawnInThis, isShapeFullBlock, playerDestroy, popExperience, popResource, popResourceFromFace, 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, getSoundType, getVisualShape, hasAnalogOutputSignal, isCollisionShapeFullBlock, isOcclusionShapeFullBlock, isPathfindable, isRandomlyTicking, isSignalSource, mirror, neighborChanged, onExplosionHit, onProjectileHit, onRemove, propagatesSkylightDown, properties, propertiesCodec, randomTick, requiredFeatures, rotate, simpleCodec, skipRendering, spawnAfterBreak, tick, triggerEvent, updateIndirectNeighbourShapes, useItemOn, 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, getTicker, newBlockEntityMethods inherited from interface net.fabricmc.fabric.api.block.v1.FabricBlock
getAppearanceMethods inherited from interface net.minecraft.world.flag.FeatureElement
isEnabledMethods inherited from interface net.nikdo53.tinymultiblocklib.block.IExpandingMultiblock
cancelChangeShape, canChangeShape, changeShape, hasShapeChanged, onPlaceHelper, postChangeShape, tryChangeShape, updateShapeHelperMethods inherited from interface net.nikdo53.tinymultiblocklib.block.IMBStateSharer
getSharedStateProperties, getSharedStatePropertiesBuilder, shareBlockStatesMethods inherited from interface net.nikdo53.tinymultiblocklib.block.IMovableMultiblock
gatherStates, moveMultiblockMethods inherited from interface net.nikdo53.tinymultiblocklib.block.IMultiBlock
allBlocksPresent, canPlace, canReplaceBlock, canSurviveHelper, destroy, entityUnobstructed, extraSurviveRequirements, getDirection, getFullBlockShape, getFullBlockShapeNoCache, getIsolatedBlocks, getStateForEachBlock, getStateForPlacementHelper, getStateForPlacementHelper, place, prepareForPlace, preventCreativeDrops, voxelShapeHelper, voxelShapeHelper, voxelShapeHelperMethods inherited from interface net.nikdo53.tinymultiblocklib.block.IPreviewableMultiblock
getBlockEntityForPreviews, getDefaultStateForPreviews, shouldPreview, 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
-
makeFullBlockShape
public List<net.minecraft.core.BlockPos> makeFullBlockShape(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos center, net.minecraft.world.level.block.state.BlockState state, @Nullable @Nullable net.minecraft.world.level.block.entity.BlockEntity blockEntity, @Nullable @Nullable net.minecraft.core.Direction direction) Description copied from interface:IMultiBlockReturns a BlockPos Stream of every block in this multiblock.Should only be used for overriding
- Specified by:
makeFullBlockShapein interfaceIMultiBlock- Overrides:
makeFullBlockShapein classSimpleMultiBlock- Parameters:
center- The center pos of the multiblock, aka the 1st block placedblockEntity- null when being placeddirection- present only whenIMultiBlock.getDirectionProperty()is overridden with a valid property- 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
-
useWithoutItem
protected net.minecraft.world.InteractionResult useWithoutItem(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.phys.BlockHitResult hitResult) - Overrides:
useWithoutItemin classnet.minecraft.world.level.block.state.BlockBehaviour
-
getMultiblockRenderShape
public net.minecraft.world.level.block.RenderShape getMultiblockRenderShape(net.minecraft.world.level.block.state.BlockState state, boolean isCenter) 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- Overrides:
getMultiblockRenderShapein classSimpleMultiBlock- See Also:
-
getShape
protected 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()
-