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.minecraft.world.flag.FeatureElement, net.minecraft.world.level.block.EntityBlock, net.minecraft.world.level.ItemLike, net.neoforged.neoforge.common.extensions.IBlockExtension, 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.UpdateFlagsNested 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.PostProcess, 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 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_SKIP_ALL_SIDEEFFECTS, UPDATE_SKIP_BLOCK_ENTITY_SIDEEFFECTS, UPDATE_SKIP_ON_PLACE, UPDATE_SKIP_SHAPE_UPDATE_ON_WIRE, UPDATE_SUPPRESS_DROPSFields inherited from class net.minecraft.world.level.block.state.BlockBehaviour
descriptionId, 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 multiblock@Nullable net.minecraft.world.level.block.state.properties.EnumProperty<net.minecraft.core.Direction> Returns 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 AbstractMultiBlock
addToValidBEBlocks, canSurvive, getRenderShape, getSharedStatePropertiesBuilder, getStateForPlacement, hasCustomBE, newBlockEntity, onPlace, playerWillDestroy, updateShapeMethods inherited from class net.minecraft.world.level.block.Block
animateTick, asBlock, asItem, box, boxes, boxZ, boxZ, boxZ, builtInRegistryHolder, byItem, canSupportCenter, canSupportRigidBlock, codec, column, column, cube, cube, defaultBlockState, destroy, dropFromBlockInteractLootTable, dropFromExplosion, dropFromLootTable, dropResources, dropResources, dropResources, fallOn, getDrops, getDrops, getExplosionResistance, getFriction, getId, getJumpFactor, getName, getShapeForEachState, getShapeForEachState, getSpeedFactor, getStateDefinition, handlePrecipitation, hasDynamicShape, isExceptionForConnection, isFaceFull, isPossibleToRespawnInThis, isShapeFullBlock, playerDestroy, popExperience, popResource, popResourceFromFace, pushEntitiesUp, registerDefaultState, setPlacedBy, shouldRenderFace, shouldRenderFace, spawnDestroyParticles, stateById, stepOn, toString, tryDropExperience, updateEntityMovementAfterFallOn, updateFromNeighbourShapes, updateOrDestroy, updateOrDestroy, wasExploded, withPropertiesOfMethods inherited from class net.minecraft.world.level.block.state.BlockBehaviour
affectNeighborsAfterRemoval, attack, canBeReplaced, canBeReplaced, defaultDestroyTime, defaultMapColor, entityInside, getAnalogOutputSignal, getBlockSupportShape, getCloneItemStack, getCollisionShape, getDescriptionId, getDestroyProgress, getDirectSignal, getDrops, getEntityInsideCollisionShape, getFluidState, getInteractionShape, getLightDampening, getLootTable, getMaxHorizontalOffset, getMaxVerticalOffset, getMenuProvider, getOcclusionShape, getSeed, getShadeBrightness, getSignal, getSoundType, getVisualShape, hasAnalogOutputSignal, isAir, isCollisionShapeFullBlock, isPathfindable, isRandomlyTicking, isSignalSource, mirror, neighborChanged, onExplosionHit, onProjectileHit, propagatesSkylightDown, properties, propertiesCodec, randomTick, requiredFeatures, rotate, shouldChangedStateKeepBlockEntity, simpleCodec, skipRendering, spawnAfterBreak, tick, triggerEvent, updateIndirectNeighbourShapes, useItemOn, useShapeForLightOcclusionMethods inherited from class 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.minecraft.world.flag.FeatureElement
isEnabledMethods inherited from interface net.neoforged.neoforge.common.extensions.IBlockExtension
addLandingEffects, addRunningEffects, canBeHydrated, canConnectRedstone, canDropFromExplosion, canEntityDestroy, canHarvestBlock, canStickTo, canSustainPlant, collisionExtendsVertically, getAdjacentBlockPathType, getAppearance, getBeaconColorMultiplier, getBedDirection, getBlockPathType, getBubbleColumnDirection, getCloneItemStack, getEnchantPowerBonus, getExpDrop, getExplosionResistance, getFireSpreadSpeed, getFlammability, getFriction, getLightEmission, getMapColor, getPistonPushReaction, getRespawnPosition, getSoundType, getStateAtViewpoint, getToolModifiedState, getWeakChanges, hasDynamicLightEmission, hidesNeighborFace, ignitedByLava, isBed, isBurning, isConduitFrame, isEmpty, isFertile, isFireSource, isFlammable, isLadder, isPortalFrame, isScaffolding, isSlimeBlock, isStickyBlock, makesOpenTrapdoorAboveClimbable, onBlockExploded, onBlockStateChange, onCaughtFire, onDestroyedByPlayer, onDestroyedByPushReaction, onNeighborChange, onTreeGrow, playFallSound, playStepSound, rotate, setBedOccupied, shouldCheckWeakPower, shouldDisplayFluidOverlay, shouldHideAdjacentFluidFace, supportsExternalFaceHidingMethods inherited from interface IExpandingMultiblock
cancelChangeShape, canChangeShape, changeShape, hasShapeChanged, onPlaceHelper, postChangeShape, tryChangeShape, updateShapeHelperMethods inherited from interface IMBStateSharer
getSharedStateProperties, getSharedStatePropertiesBuilder, shareBlockStatesMethods inherited from interface IMovableMultiblock
gatherStates, moveMultiblockMethods inherited from interface IMultiBlock
allBlocksPresent, canPlace, canReplaceBlock, canSurviveHelper, destroy, entityUnobstructed, extraSurviveRequirements, getDirection, getFullBlockShape, getFullBlockShapeNoCache, getIsolatedBlocks, getStateForEachBlock, getStateForPlacementHelper, getStateForPlacementHelper, place, prepareForPlace, preventCreativeDrops, voxelShapeHelper, voxelShapeHelper, voxelShapeHelperMethods inherited from interface 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
public @Nullable net.minecraft.world.level.block.state.properties.EnumProperty<net.minecraft.core.Direction> 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 net.minecraft.world.level.block.entity.BlockEntity blockEntity, @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.INVISIBLEfor 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()
-