Class CombustionEngineBlock
java.lang.Object
net.minecraft.world.level.block.state.BlockBehaviour
net.minecraft.world.level.block.Block
com.simibubi.create.content.kinetics.base.KineticBlock
com.simibubi.create.content.kinetics.base.HorizontalKineticBlock
com.lightning.northstar.block.tech.combustion_engine.CombustionEngineBlock
- All Implemented Interfaces:
OxygenConsumer,com.simibubi.create.content.equipment.wrench.IWrenchable,com.simibubi.create.content.kinetics.base.IRotate,com.simibubi.create.foundation.block.IBE<CombustionEngineBlockEntity>,net.minecraft.world.flag.FeatureElement,net.minecraft.world.level.block.EntityBlock,net.minecraft.world.level.ItemLike,net.neoforged.neoforge.common.extensions.IBlockExtension
@ParametersAreNonnullByDefault
public class CombustionEngineBlock
extends com.simibubi.create.content.kinetics.base.HorizontalKineticBlock
implements com.simibubi.create.foundation.block.IBE<CombustionEngineBlockEntity>, OxygenConsumer
-
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.StatePredicateNested classes/interfaces inherited from interface com.simibubi.create.content.kinetics.base.IRotate
com.simibubi.create.content.kinetics.base.IRotate.SpeedLevel, com.simibubi.create.content.kinetics.base.IRotate.StressImpact -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final net.minecraft.world.phys.shapes.VoxelShapeprotected static final net.minecraft.world.phys.shapes.VoxelShapeFields inherited from class com.simibubi.create.content.kinetics.base.HorizontalKineticBlock
HORIZONTAL_FACINGFields 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_REGISTRIESFields inherited from interface com.lightning.northstar.world.oxygen.OxygenConsumer
REGISTRY -
Constructor Summary
ConstructorsConstructorDescriptionCombustionEngineBlock(net.minecraft.world.level.block.state.BlockBehaviour.Properties properties) -
Method Summary
Modifier and TypeMethodDescriptionnet.minecraft.world.level.block.entity.BlockEntityType<? extends CombustionEngineBlockEntity> net.minecraft.core.Direction.AxisgetRotationAxis(net.minecraft.world.level.block.state.BlockState state) 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) net.minecraft.world.level.block.state.BlockStategetStateForPlacement(net.minecraft.world.item.context.BlockPlaceContext context) booleanhasShaftTowards(net.minecraft.world.level.LevelReader world, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, net.minecraft.core.Direction face) floatnorthstar$getOxygenConsumption(net.minecraft.world.level.BlockGetter level, net.minecraft.core.BlockPos pos, float base) Calculates the oxygen usage in mB/t Note for implementers: if dynamic, make sure that the block is what you expect as it might change in the world and seals don't update instantly.booleannorthstar$isOxygenConsumptionDynamic(net.minecraft.world.level.BlockGetter level, net.minecraft.core.BlockPos pos) Tests if the oxygen consumption is dynamic and should be checked each tick, if false then the consumption is only checked once on seal updates withOxygenConsumer.northstar$getOxygenConsumption(BlockGetter, BlockPos, float)Methods inherited from class com.simibubi.create.content.kinetics.base.HorizontalKineticBlock
createBlockStateDefinition, getPreferredHorizontalFacing, mirror, rotateMethods inherited from class com.simibubi.create.content.kinetics.base.KineticBlock
areStatesKineticallyEquivalent, getParticleInitialRadius, getParticleTargetRadius, onPlace, onRemove, setPlacedBy, updateIndirectNeighbourShapesMethods 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, initializeClient, isExceptionForConnection, isFaceFull, isPossibleToRespawnInThis, isShapeFullBlock, playerDestroy, playerWillDestroy, popExperience, popResource, popResourceFromFace, pushEntitiesUp, registerDefaultState, 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, canSurvive, defaultDestroyTime, defaultMapColor, entityInside, getAnalogOutputSignal, getBlockSupportShape, getCollisionShape, getDestroyProgress, getDirectSignal, getDrops, getFluidState, getInteractionShape, getLightBlock, getLootTable, getMaxHorizontalOffset, getMaxVerticalOffset, getMenuProvider, getOcclusionShape, getRenderShape, getSeed, getShadeBrightness, getSignal, getSoundType, getVisualShape, hasAnalogOutputSignal, isAir, isCollisionShapeFullBlock, isOcclusionShapeFullBlock, isPathfindable, isRandomlyTicking, isSignalSource, neighborChanged, onExplosionHit, onProjectileHit, propagatesSkylightDown, properties, propertiesCodec, randomTick, requiredFeatures, simpleCodec, skipRendering, spawnAfterBreak, tick, triggerEvent, updateShape, useItemOn, useShapeForLightOcclusion, useWithoutItemMethods 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
getListenerMethods inherited from interface net.minecraft.world.flag.FeatureElement
isEnabledMethods inherited from interface com.simibubi.create.foundation.block.IBE
getBlockEntity, getBlockEntityOptional, getTicker, newBlockEntity, onBlockEntityUse, onBlockEntityUseItemOn, withBlockEntityDoMethods 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, isBed, isBurning, isConduitFrame, isEmpty, isFertile, isFireSource, isFlammable, isLadder, isPortalFrame, isScaffolding, isSlimeBlock, isStickyBlock, makesOpenTrapdoorAboveClimbable, onBlockExploded, onBlockStateChange, onCaughtFire, onDestroyedByPlayer, onDestroyedByPushReaction, onNeighborChange, onTreeGrow, rotate, setBedOccupied, shouldCheckWeakPower, shouldDisplayFluidOverlay, shouldHideAdjacentFluidFace, supportsExternalFaceHidingMethods inherited from interface com.simibubi.create.content.kinetics.base.IRotate
getMinimumRequiredSpeedLevel, hideStressImpact, showCapacityWithAnnotationMethods inherited from interface com.simibubi.create.content.equipment.wrench.IWrenchable
getRotatedBlockState, onSneakWrenched, onWrenched, updateAfterWrenchedMethods inherited from interface com.lightning.northstar.world.oxygen.OxygenConsumer
northstar$isGogglesOnly
-
Field Details
-
SHAPE_AXIS_X
protected static final net.minecraft.world.phys.shapes.VoxelShape SHAPE_AXIS_X -
SHAPE_AXIS_Z
protected static final net.minecraft.world.phys.shapes.VoxelShape SHAPE_AXIS_Z
-
-
Constructor Details
-
CombustionEngineBlock
public CombustionEngineBlock(net.minecraft.world.level.block.state.BlockBehaviour.Properties properties)
-
-
Method Details
-
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
-
getStateForPlacement
public net.minecraft.world.level.block.state.BlockState getStateForPlacement(net.minecraft.world.item.context.BlockPlaceContext context) - Overrides:
getStateForPlacementin classcom.simibubi.create.content.kinetics.base.HorizontalKineticBlock
-
getRotationAxis
public net.minecraft.core.Direction.Axis getRotationAxis(net.minecraft.world.level.block.state.BlockState state) - Specified by:
getRotationAxisin interfacecom.simibubi.create.content.kinetics.base.IRotate
-
hasShaftTowards
public boolean hasShaftTowards(net.minecraft.world.level.LevelReader world, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, net.minecraft.core.Direction face) - Specified by:
hasShaftTowardsin interfacecom.simibubi.create.content.kinetics.base.IRotate- Overrides:
hasShaftTowardsin classcom.simibubi.create.content.kinetics.base.KineticBlock
-
northstar$isOxygenConsumptionDynamic
public boolean northstar$isOxygenConsumptionDynamic(net.minecraft.world.level.BlockGetter level, net.minecraft.core.BlockPos pos) Description copied from interface:OxygenConsumerTests if the oxygen consumption is dynamic and should be checked each tick, if false then the consumption is only checked once on seal updates withOxygenConsumer.northstar$getOxygenConsumption(BlockGetter, BlockPos, float)- Specified by:
northstar$isOxygenConsumptionDynamicin interfaceOxygenConsumer- Returns:
- true if the block might change its oxygen consumption and needs to be checked each tick
-
northstar$getOxygenConsumption
public float northstar$getOxygenConsumption(net.minecraft.world.level.BlockGetter level, net.minecraft.core.BlockPos pos, float base) Description copied from interface:OxygenConsumerCalculates the oxygen usage in mB/t Note for implementers: if dynamic, make sure that the block is what you expect as it might change in the world and seals don't update instantly.- Specified by:
northstar$getOxygenConsumptionin interfaceOxygenConsumer- Parameters:
level- the level of the blockpos- the position of the blockbase- the base oxygen consumption, in mB/t
-
getBlockEntityClass
- Specified by:
getBlockEntityClassin interfacecom.simibubi.create.foundation.block.IBE<CombustionEngineBlockEntity>
-
getBlockEntityType
public net.minecraft.world.level.block.entity.BlockEntityType<? extends CombustionEngineBlockEntity> getBlockEntityType()- Specified by:
getBlockEntityTypein interfacecom.simibubi.create.foundation.block.IBE<CombustionEngineBlockEntity>
-