Package com.pixelmonmod.pixelmon.blocks
Class MultiBlock
java.lang.Object
net.minecraft.world.level.block.state.BlockBehaviour
net.minecraft.world.level.block.Block
net.minecraft.world.level.block.BaseEntityBlock
com.pixelmonmod.pixelmon.blocks.MultiBlock
- All Implemented Interfaces:
net.minecraft.world.flag.FeatureElement
,net.minecraft.world.level.block.EntityBlock
,net.minecraft.world.level.ItemLike
,net.minecraftforge.common.extensions.IForgeBlock
- Direct Known Subclasses:
BattleSpectatorBlock
,BlockGenericModelMultiblock
,CloningMachineBlock
,CookingPotBlock
,FossilCleanerBlock
,FossilMachineBlock
,GlassTableBlock
,InfuserBlock
,PCBlock
,TradeMachineBlock
,VendingMachineBlock
public abstract class MultiBlock
extends net.minecraft.world.level.block.BaseEntityBlock
A block that occupies multiple blocks.
-
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
Modifier and TypeFieldDescriptionstatic final net.minecraft.world.level.block.state.properties.DirectionProperty
protected double
protected boolean
Mostly needed for large JSON models since they can't be shifted more than 1 block to the side.protected int
static final net.minecraft.world.level.block.state.properties.EnumProperty<MultiBlockPosition>
protected int
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
ModifierConstructorDescriptionprotected
MultiBlock
(net.minecraft.world.level.block.state.BlockBehaviour.Properties builder, int width, double height, int length) Initializes a multi-block.protected
MultiBlock
(net.minecraft.world.level.block.state.BlockBehaviour.Properties builder, int width, double height, int length, boolean jsonOffset) Initializes a multi-block. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
createBlockStateDefinition
(net.minecraft.world.level.block.state.StateDefinition.Builder<net.minecraft.world.level.block.Block, net.minecraft.world.level.block.state.BlockState> builder) net.minecraft.core.BlockPos
findBaseBlock
(net.minecraft.world.level.BlockGetter world, net.minecraft.core.BlockPos.MutableBlockPos pos, net.minecraft.world.level.block.state.BlockState state) Finds the base of the multi-block.List<net.minecraft.world.item.ItemStack>
getDrops
(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.storage.loot.LootParams.Builder context) double
boolean
int
int
getLightEmission
(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.BlockGetter world, net.minecraft.core.BlockPos pos) protected net.minecraft.world.phys.AABB
getMultiBlockBoundingBox
(net.minecraft.world.level.BlockGetter worldIn, net.minecraft.core.BlockPos pos, MultiBlockPosition multiPos, net.minecraft.core.Direction facing) Gets the bounding box for the multi-block.net.minecraft.world.phys.shapes.VoxelShape
getShape
(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.BlockGetter worldIn, net.minecraft.core.BlockPos pos, net.minecraft.world.phys.shapes.CollisionContext context) protected abstract Optional<net.minecraft.world.level.block.entity.BlockEntity>
getTileEntity
(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state) int
getWidth()
net.minecraft.world.level.block.entity.BlockEntity
newBlockEntity
(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state) boolean
onDestroyedByPlayer
(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.Level world, net.minecraft.core.BlockPos pos, net.minecraft.world.entity.player.Player player, boolean willHarvest, net.minecraft.world.level.material.FluidState fluid) void
onRemove
(net.minecraft.world.level.block.state.BlockState p_196243_1_, net.minecraft.world.level.Level p_196243_2_, net.minecraft.core.BlockPos p_196243_3_, net.minecraft.world.level.block.state.BlockState p_196243_4_, boolean p_196243_5_) net.minecraft.world.level.block.state.BlockState
rotate
(net.minecraft.world.level.block.state.BlockState p_185499_1_, net.minecraft.world.level.block.Rotation p_185499_2_) Methods inherited from class net.minecraft.world.level.block.BaseEntityBlock
createTickerHelper, getMenuProvider, getRenderShape, triggerEvent
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, getStateForPlacement, handlePrecipitation, hasDynamicShape, initializeClient, isExceptionForConnection, isFaceFull, isPossibleToRespawnInThis, isRandomlyTicking, isShapeFullBlock, playerDestroy, playerWillDestroy, 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, canSurvive, defaultDestroyTime, defaultMapColor, entityInside, getAnalogOutputSignal, getBlockSupportShape, getCollisionShape, getDestroyProgress, getDirectSignal, getFluidState, getInteractionShape, getLightBlock, getLootTable, getMaxHorizontalOffset, getMaxVerticalOffset, getOcclusionShape, getSeed, getShadeBrightness, getSignal, getVisualShape, hasAnalogOutputSignal, isAir, isCollisionShapeFullBlock, isOcclusionShapeFullBlock, isPathfindable, isSignalSource, mirror, neighborChanged, onPlace, onProjectileHit, randomTick, requiredFeatures, skipRendering, spawnAfterBreak, tick, updateIndirectNeighbourShapes, updateShape, use, 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.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, getMapColor, getPistonPushReaction, getRespawnPosition, getSoundType, getStateAtViewpoint, getToolModifiedState, getWeakChanges, hidesNeighborFace, isBed, isBurning, isConduitFrame, isFertile, isFireSource, isFlammable, isLadder, isPortalFrame, isScaffolding, isSlimeBlock, isStickyBlock, isValidSpawn, makesOpenTrapdoorAboveClimbable, onBlockExploded, onBlockStateChange, onCaughtFire, onNeighborChange, onTreeGrow, rotate, setBedOccupied, shouldCheckWeakPower, shouldDisplayFluidOverlay, supportsExternalFaceHiding
-
Field Details
-
FACING
public static final net.minecraft.world.level.block.state.properties.DirectionProperty FACING -
MULTIPOS
public static final net.minecraft.world.level.block.state.properties.EnumProperty<MultiBlockPosition> MULTIPOS -
width
protected int width -
length
protected int length -
height
protected double height -
jsonOffset
protected boolean jsonOffsetMostly needed for large JSON models since they can't be shifted more than 1 block to the side. Effects assignment of blockstates
-
-
Constructor Details
-
MultiBlock
protected MultiBlock(net.minecraft.world.level.block.state.BlockBehaviour.Properties builder, int width, double height, int length) Initializes a multi-block.- Parameters:
builder
- The material that the multi-block is made of.width
- The width of the multi-block.height
- The height of the multi-block.length
- The length of the multi-block.
-
MultiBlock
protected MultiBlock(net.minecraft.world.level.block.state.BlockBehaviour.Properties builder, int width, double height, int length, boolean jsonOffset) Initializes a multi-block.- Parameters:
builder
- The material that the multi-block is made of.width
- The width of the multi-block.height
- The height of the multi-block.length
- The length of the multi-block.jsonOffset
- Whether this block needs to be offset for a JSON model to render properly
-
-
Method Details
-
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 classnet.minecraft.world.level.block.Block
-
getShape
public net.minecraft.world.phys.shapes.VoxelShape getShape(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.BlockGetter worldIn, net.minecraft.core.BlockPos pos, net.minecraft.world.phys.shapes.CollisionContext context) - Overrides:
getShape
in classnet.minecraft.world.level.block.state.BlockBehaviour
-
rotate
public net.minecraft.world.level.block.state.BlockState rotate(net.minecraft.world.level.block.state.BlockState p_185499_1_, net.minecraft.world.level.block.Rotation p_185499_2_) - Overrides:
rotate
in classnet.minecraft.world.level.block.state.BlockBehaviour
-
getMultiBlockBoundingBox
protected net.minecraft.world.phys.AABB getMultiBlockBoundingBox(net.minecraft.world.level.BlockGetter worldIn, net.minecraft.core.BlockPos pos, MultiBlockPosition multiPos, net.minecraft.core.Direction facing) Gets the bounding box for the multi-block.- Parameters:
worldIn
- The world that the multi-block is in.pos
- The position of the block to get a bounding box for.multiPos
- The position of the block relative to the base of the multi-blockfacing
- The direction that the multi-block is facing.- Returns:
- The bounding box for the multi-block.
-
newBlockEntity
public net.minecraft.world.level.block.entity.BlockEntity newBlockEntity(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state) -
onRemove
public void onRemove(net.minecraft.world.level.block.state.BlockState p_196243_1_, net.minecraft.world.level.Level p_196243_2_, net.minecraft.core.BlockPos p_196243_3_, net.minecraft.world.level.block.state.BlockState p_196243_4_, boolean p_196243_5_) - Overrides:
onRemove
in classnet.minecraft.world.level.block.state.BlockBehaviour
-
getTileEntity
protected abstract Optional<net.minecraft.world.level.block.entity.BlockEntity> getTileEntity(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state) -
onDestroyedByPlayer
public boolean onDestroyedByPlayer(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.Level world, net.minecraft.core.BlockPos pos, net.minecraft.world.entity.player.Player player, boolean willHarvest, net.minecraft.world.level.material.FluidState fluid) -
getDrops
public List<net.minecraft.world.item.ItemStack> getDrops(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.storage.loot.LootParams.Builder context) - Overrides:
getDrops
in classnet.minecraft.world.level.block.state.BlockBehaviour
-
findBaseBlock
public net.minecraft.core.BlockPos findBaseBlock(net.minecraft.world.level.BlockGetter world, net.minecraft.core.BlockPos.MutableBlockPos pos, net.minecraft.world.level.block.state.BlockState state) Finds the base of the multi-block.- Parameters:
world
- The world the multi-block is in.pos
- The position of the block to get a base from.state
- The block to get a base from.- Returns:
- The position of the base of the multi-block.
-
getWidth
public int getWidth() -
getLength
public int getLength() -
getHeight
public double getHeight() -
getJsonOffset
public boolean getJsonOffset() -
getLightEmission
public int getLightEmission(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.BlockGetter world, net.minecraft.core.BlockPos pos)
-