Class DecayBlockBase
java.lang.Object
net.minecraft.world.level.block.state.BlockBehaviour
net.minecraft.world.level.block.Block
etithespirit.orimod.common.block.decay.DecayBlockBase
- All Implemented Interfaces:
IDecayBlock
,IDecayBlockIdentifier
,IBlockItemPropertiesProvider
,net.minecraft.world.level.ItemLike
,net.minecraftforge.common.extensions.IForgeBlock
- Direct Known Subclasses:
DecayDirtMyceliumBlock
,DecayPlantMatterBlock
public abstract class DecayBlockBase
extends net.minecraft.world.level.block.Block
implements IDecayBlock
This base class represents a block associated with The Decay. It provides a crude implementation of spreading and "infecting"
(replacing) other blocks as defined by
IDecayBlock
.- Author:
- Eti
-
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.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 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, UPDATE_SUPPRESS_LIGHT
Fields inherited from class net.minecraft.world.level.block.state.BlockBehaviour
drops, dynamicShape, explosionResistance, friction, hasCollision, isRandomlyTicking, jumpFactor, material, properties, soundType, speedFactor, UPDATE_SHAPE_ORDER
-
Constructor Summary
ConstructorsConstructorDescriptionDecayBlockBase
(net.minecraft.world.level.block.state.BlockBehaviour.Properties properties) Create a new Decay block with the given properties that doesn't spread.DecayBlockBase
(net.minecraft.world.level.block.state.BlockBehaviour.Properties properties, boolean spreads) Create a new Decay block with the given properties. -
Method Summary
Modifier and TypeMethodDescriptionvoid
createBlockStateDefinition
(net.minecraft.world.level.block.state.StateDefinition.Builder builder) void
neighborChanged
(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.Level worldIn, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.Block blockIn, net.minecraft.core.BlockPos fromPos, boolean isMoving) void
onPlace
(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.Level worldIn, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState oldState, boolean isMoving) void
randomTick
(net.minecraft.world.level.block.state.BlockState state, net.minecraft.server.level.ServerLevel worldIn, net.minecraft.core.BlockPos pos, net.minecraft.util.RandomSource random) void
stepOn
(net.minecraft.world.level.Level world, net.minecraft.core.BlockPos at, net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.entity.Entity ent) 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, fillItemCategory, 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, toString, tryDropExperience, updateEntityAfterFallOn, updateFromNeighbourShapes, updateOrDestroy, updateOrDestroy, wasExploded, withPropertiesOf
Methods inherited from class net.minecraft.world.level.block.state.BlockBehaviour
attack, canBeReplaced, canBeReplaced, canSurvive, defaultDestroyTime, defaultMaterialColor, entityInside, getAnalogOutputSignal, getBlockSupportShape, getCollisionShape, getDestroyProgress, getDirectSignal, getDrops, getFluidState, getInteractionShape, getLightBlock, getLootTable, getMaxHorizontalOffset, getMaxVerticalOffset, getMenuProvider, getOcclusionShape, getPistonPushReaction, getRenderShape, getSeed, getShadeBrightness, getShape, getSignal, getVisualShape, hasAnalogOutputSignal, isAir, isCollisionShapeFullBlock, isOcclusionShapeFullBlock, isPathfindable, isSignalSource, mirror, onProjectileHit, onRemove, rotate, skipRendering, spawnAfterBreak, tick, triggerEvent, 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 etithespirit.orimod.common.block.decay.IDecayBlock
defaultNeighborChanged, defaultOnEntityWalked, defaultRandomTick, doAdjacentSpread, doDiagonalSpread, getDecayReplacementFor, getNonDecayableAdjacents, hasDecayReplacementFor, healsInto, mutateReplacementState, needsToDoEdgeCheck, needsToSpread, randomUnoccupiedDiagonal, randomUnoccupiedDirection, registerReplacements, shouldSpreadByRNG
Methods inherited from interface etithespirit.orimod.common.block.decay.IDecayBlockIdentifier
getPropertiesOfItem
Methods inherited from interface net.minecraftforge.common.extensions.IForgeBlock
addLandingEffects, addRunningEffects, canBeHydrated, canConnectRedstone, canDropFromExplosion, canEntityDestroy, canHarvestBlock, canStickTo, collisionExtendsVertically, getAdjacentBlockPathType, getBeaconColorMultiplier, getBedDirection, getBlockPathType, getCloneItemStack, getEnchantPowerBonus, getExpDrop, getExplosionResistance, getFireSpreadSpeed, getFlammability, getFriction, getLightEmission, getMapColor, getRespawnPosition, getSoundType, getStateAtViewpoint, getToolModifiedState, getWeakChanges, hidesNeighborFace, isBed, isBurning, isConduitFrame, isFertile, isFireSource, isFlammable, isLadder, isPortalFrame, isScaffolding, isSlimeBlock, isStickyBlock, isValidSpawn, makesOpenTrapdoorAboveClimbable, onBlockExploded, onBlockStateChange, onCaughtFire, onDestroyedByPlayer, onNeighborChange, rotate, setBedOccupied, shouldCheckWeakPower, shouldDisplayFluidOverlay, supportsExternalFaceHiding
-
Constructor Details
-
DecayBlockBase
public DecayBlockBase(net.minecraft.world.level.block.state.BlockBehaviour.Properties properties) Create a new Decay block with the given properties that doesn't spread.- Parameters:
properties
- The properties of this block.
-
DecayBlockBase
public DecayBlockBase(net.minecraft.world.level.block.state.BlockBehaviour.Properties properties, boolean spreads) Create a new Decay block with the given properties.- Parameters:
properties
- The properties of this block.spreads
- Whether or not this decay block spreads (replaces certain adjacent blocks with a decay equivalent). Setting this to true will set theticksRandomly
field on the input properties. This requires that at least one replaceable block is registered inregisterReplacements
, otherwise this ctor will raise aIllegalStateException
.
-
-
Method Details
-
createBlockStateDefinition
public void createBlockStateDefinition(net.minecraft.world.level.block.state.StateDefinition.Builder builder) - Overrides:
createBlockStateDefinition
in classnet.minecraft.world.level.block.Block
-
randomTick
public void randomTick(net.minecraft.world.level.block.state.BlockState state, net.minecraft.server.level.ServerLevel worldIn, net.minecraft.core.BlockPos pos, net.minecraft.util.RandomSource random) - Overrides:
randomTick
in classnet.minecraft.world.level.block.state.BlockBehaviour
-
neighborChanged
public void neighborChanged(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.Level worldIn, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.Block blockIn, net.minecraft.core.BlockPos fromPos, boolean isMoving) - Overrides:
neighborChanged
in classnet.minecraft.world.level.block.state.BlockBehaviour
-
onPlace
public void onPlace(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.Level worldIn, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState oldState, boolean isMoving) - Overrides:
onPlace
in classnet.minecraft.world.level.block.state.BlockBehaviour
-
stepOn
public void stepOn(net.minecraft.world.level.Level world, net.minecraft.core.BlockPos at, net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.entity.Entity ent) - Overrides:
stepOn
in classnet.minecraft.world.level.block.Block
-