Package com.hbm_m.block.machines
Class LaunchPadBlock
java.lang.Object
net.minecraft.world.level.block.state.BlockBehaviour
net.minecraft.world.level.block.Block
net.minecraft.world.level.block.BaseEntityBlock
com.hbm_m.block.machines.LaunchPadBlock
- All Implemented Interfaces:
IBomb,IDetonatable,IMultiblockController,net.minecraft.world.flag.FeatureElement,net.minecraft.world.level.block.EntityBlock,net.minecraft.world.level.ItemLike,net.minecraftforge.common.extensions.IForgeBlock
public class LaunchPadBlock
extends net.minecraft.world.level.block.BaseEntityBlock
implements IMultiblockController, IBomb, IDetonatable
-
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 extends Object>, net.minecraft.world.level.block.state.BlockBehaviour.StatePredicateNested classes/interfaces inherited from interface com.hbm_m.api.bomb.IBomb
IBomb.BombReturnCode -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final net.minecraft.world.level.block.state.properties.DirectionPropertyFields 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_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
ConstructorsConstructorDescriptionLaunchPadBlock(net.minecraft.world.level.block.state.BlockBehaviour.Properties pProperties) -
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> pBuilder) explode(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos) Триггер запуска через систему IBomb (детонаторы, командные системы).getPartRole(net.minecraft.core.BlockPos localOffset) Старый способ определения структурыnet.minecraft.world.level.block.RenderShapegetRenderShape(net.minecraft.world.level.block.state.BlockState pState) floatgetShadeBrightness(net.minecraft.world.level.block.state.BlockState pState, net.minecraft.world.level.BlockGetter pLevel, net.minecraft.core.BlockPos pPos) net.minecraft.world.phys.shapes.VoxelShapegetShape(net.minecraft.world.level.block.state.BlockState pState, net.minecraft.world.level.BlockGetter pLevel, net.minecraft.core.BlockPos pPos, net.minecraft.world.phys.shapes.CollisionContext pContext) net.minecraft.world.level.block.state.BlockStategetStateForPlacement(net.minecraft.world.item.context.BlockPlaceContext pContext) <T extends net.minecraft.world.level.block.entity.BlockEntity>
net.minecraft.world.level.block.entity.BlockEntityTicker<T>getTicker(net.minecraft.world.level.Level pLevel, net.minecraft.world.level.block.state.BlockState pState, net.minecraft.world.level.block.entity.BlockEntityType<T> pType) voidneighborChanged(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.Block neighborBlock, net.minecraft.core.BlockPos neighborPos, boolean movedByPiston) Реакция на изменение редстоун‑сигнала: обновляем счётчик питания у BE, а сам пуск выполняется в commonServerTick по фронту 0 → +.net.minecraft.world.level.block.entity.BlockEntitynewBlockEntity(net.minecraft.core.BlockPos pPos, net.minecraft.world.level.block.state.BlockState pState) booleanonDetonate(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.entity.player.Player player) Вызывается когда детонатор отправляет сигнал на этот блокvoidonPlace(net.minecraft.world.level.block.state.BlockState pState, net.minecraft.world.level.Level pLevel, net.minecraft.core.BlockPos pPos, net.minecraft.world.level.block.state.BlockState pOldState, boolean pIsMoving) voidonRemove(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState newState, boolean isMoving) booleanpropagatesSkylightDown(net.minecraft.world.level.block.state.BlockState pState, net.minecraft.world.level.BlockGetter pLevel, net.minecraft.core.BlockPos pPos) net.minecraft.world.InteractionResultuse(net.minecraft.world.level.block.state.BlockState pState, net.minecraft.world.level.Level pLevel, net.minecraft.core.BlockPos pPos, net.minecraft.world.entity.player.Player pPlayer, net.minecraft.world.InteractionHand pHand, net.minecraft.world.phys.BlockHitResult pHit) Methods inherited from class net.minecraft.world.level.block.BaseEntityBlock
createTickerHelper, getMenuProvider, triggerEventMethods 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, handlePrecipitation, hasDynamicShape, initializeClient, isExceptionForConnection, isFaceFull, isPossibleToRespawnInThis, isRandomlyTicking, isShapeFullBlock, playerDestroy, playerWillDestroy, 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, canSurvive, defaultDestroyTime, defaultMapColor, entityInside, getAnalogOutputSignal, getBlockSupportShape, getCollisionShape, getDestroyProgress, getDirectSignal, getDrops, getFluidState, getInteractionShape, getLightBlock, getLootTable, getMaxHorizontalOffset, getMaxVerticalOffset, getOcclusionShape, getSeed, getSignal, getVisualShape, hasAnalogOutputSignal, isAir, isCollisionShapeFullBlock, isOcclusionShapeFullBlock, isPathfindable, isSignalSource, mirror, onProjectileHit, randomTick, requiredFeatures, rotate, skipRendering, spawnAfterBreak, tick, updateIndirectNeighbourShapes, updateShape, 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
getListenerMethods inherited from interface net.minecraft.world.flag.FeatureElement
isEnabledMethods 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, getLightEmission, getMapColor, getPistonPushReaction, getRespawnPosition, getSoundType, getStateAtViewpoint, getToolModifiedState, getWeakChanges, hidesNeighborFace, isBed, isBurning, isConduitFrame, isFertile, isFireSource, isFlammable, isLadder, isPortalFrame, isScaffolding, isSlimeBlock, isStickyBlock, isValidSpawn, makesOpenTrapdoorAboveClimbable, onBlockExploded, onBlockStateChange, onCaughtFire, onDestroyedByPlayer, onNeighborChange, onTreeGrow, rotate, setBedOccupied, shouldCheckWeakPower, shouldDisplayFluidOverlay, supportsExternalFaceHidingMethods inherited from interface com.hbm_m.interfaces.IMultiblockController
getCustomMasterVoxelShape, shouldDestroyOnPartRemoved
-
Field Details
-
FACING
public static final net.minecraft.world.level.block.state.properties.DirectionProperty FACING
-
-
Constructor Details
-
LaunchPadBlock
public LaunchPadBlock(net.minecraft.world.level.block.state.BlockBehaviour.Properties pProperties)
-
-
Method Details
-
onDetonate
public boolean onDetonate(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.entity.player.Player player) Description copied from interface:IDetonatableВызывается когда детонатор отправляет сигнал на этот блок- Specified by:
onDetonatein interfaceIDetonatable- Parameters:
level- Мирpos- Позиция блокаstate- Состояние блокаplayer- Игрок, использовавший детонатор (может быть null)- Returns:
- true если блок успешно отреагировал на сигнал, false если нет
-
onPlace
public void onPlace(net.minecraft.world.level.block.state.BlockState pState, net.minecraft.world.level.Level pLevel, net.minecraft.core.BlockPos pPos, net.minecraft.world.level.block.state.BlockState pOldState, boolean pIsMoving) - Overrides:
onPlacein classnet.minecraft.world.level.block.state.BlockBehaviour
-
onRemove
public void onRemove(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState newState, boolean isMoving) - Overrides:
onRemovein classnet.minecraft.world.level.block.state.BlockBehaviour
-
explode
public IBomb.BombReturnCode explode(net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos) Триггер запуска через систему IBomb (детонаторы, командные системы). Сейчас используется только синхронно из соседних блоков на сервере. -
neighborChanged
public void neighborChanged(net.minecraft.world.level.block.state.BlockState state, net.minecraft.world.level.Level level, net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.Block neighborBlock, net.minecraft.core.BlockPos neighborPos, boolean movedByPiston) Реакция на изменение редстоун‑сигнала: обновляем счётчик питания у BE, а сам пуск выполняется в commonServerTick по фронту 0 → +.- Overrides:
neighborChangedin classnet.minecraft.world.level.block.state.BlockBehaviour
-
getRenderShape
public net.minecraft.world.level.block.RenderShape getRenderShape(net.minecraft.world.level.block.state.BlockState pState) - Overrides:
getRenderShapein classnet.minecraft.world.level.block.BaseEntityBlock
-
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> pBuilder) - Overrides:
createBlockStateDefinitionin classnet.minecraft.world.level.block.Block
-
getStateForPlacement
@Nullable public net.minecraft.world.level.block.state.BlockState getStateForPlacement(net.minecraft.world.item.context.BlockPlaceContext pContext) - Overrides:
getStateForPlacementin classnet.minecraft.world.level.block.Block
-
newBlockEntity
@Nullable public net.minecraft.world.level.block.entity.BlockEntity newBlockEntity(net.minecraft.core.BlockPos pPos, net.minecraft.world.level.block.state.BlockState pState) - Specified by:
newBlockEntityin interfacenet.minecraft.world.level.block.EntityBlock
-
getTicker
@Nullable public <T extends net.minecraft.world.level.block.entity.BlockEntity> net.minecraft.world.level.block.entity.BlockEntityTicker<T> getTicker(net.minecraft.world.level.Level pLevel, net.minecraft.world.level.block.state.BlockState pState, net.minecraft.world.level.block.entity.BlockEntityType<T> pType) - Specified by:
getTickerin interfacenet.minecraft.world.level.block.EntityBlock
-
use
public net.minecraft.world.InteractionResult use(net.minecraft.world.level.block.state.BlockState pState, net.minecraft.world.level.Level pLevel, net.minecraft.core.BlockPos pPos, net.minecraft.world.entity.player.Player pPlayer, net.minecraft.world.InteractionHand pHand, net.minecraft.world.phys.BlockHitResult pHit) - Overrides:
usein classnet.minecraft.world.level.block.state.BlockBehaviour
-
getShape
public net.minecraft.world.phys.shapes.VoxelShape getShape(net.minecraft.world.level.block.state.BlockState pState, net.minecraft.world.level.BlockGetter pLevel, net.minecraft.core.BlockPos pPos, net.minecraft.world.phys.shapes.CollisionContext pContext) - Overrides:
getShapein classnet.minecraft.world.level.block.state.BlockBehaviour
-
getStructureHelper
- Specified by:
getStructureHelperin interfaceIMultiblockController- Returns:
- Экземпляр MultiblockStructureHelper, описывающий данную структуру.
-
getPartRole
Старый способ определения структуры- Specified by:
getPartRolein interfaceIMultiblockController- Parameters:
localOffset- The part's position relative to the controller (e.g., new BlockPos(1, 0, 0)).- Returns:
- The
PartRolefor that part.
-
getShadeBrightness
public float getShadeBrightness(net.minecraft.world.level.block.state.BlockState pState, net.minecraft.world.level.BlockGetter pLevel, net.minecraft.core.BlockPos pPos) - Overrides:
getShadeBrightnessin classnet.minecraft.world.level.block.state.BlockBehaviour
-
propagatesSkylightDown
public boolean propagatesSkylightDown(net.minecraft.world.level.block.state.BlockState pState, net.minecraft.world.level.BlockGetter pLevel, net.minecraft.core.BlockPos pPos) - Overrides:
propagatesSkylightDownin classnet.minecraft.world.level.block.Block
-