Package com.hbm_m.entity.missile
Class MissileBaseEntity
java.lang.Object
net.minecraftforge.common.capabilities.CapabilityProvider<net.minecraft.world.entity.Entity>
net.minecraft.world.entity.Entity
net.minecraft.world.entity.projectile.Projectile
com.hbm_m.entity.missile.MissileBaseEntity
- All Implemented Interfaces:
IRadarDetectable,net.minecraft.commands.CommandSource,net.minecraft.world.entity.TraceableEntity,net.minecraft.world.level.entity.EntityAccess,net.minecraft.world.Nameable,net.minecraftforge.common.capabilities.ICapabilityProvider,net.minecraftforge.common.capabilities.ICapabilityProviderImpl<net.minecraft.world.entity.Entity>,net.minecraftforge.common.capabilities.ICapabilitySerializable<net.minecraft.nbt.CompoundTag>,net.minecraftforge.common.extensions.IForgeEntity,net.minecraftforge.common.util.INBTSerializable<net.minecraft.nbt.CompoundTag>
- Direct Known Subclasses:
MissileABMEntity,MissileShuttleEntity,MissileStealthEntity,MissileTestEntity,MissileTier0,MissileTier1,MissileTier2,MissileTier3,MissileTier4
public abstract class MissileBaseEntity
extends net.minecraft.world.entity.projectile.Projectile
implements IRadarDetectable
Базовая сущность баллистической ракеты.
Управляет собственной баллистикой без гравитации и сопротивления среды,
как в оригинале EntityMissileBaseNT: вертикальная подача с torsion-замедлением
и горизонтальный разгон к точке цели.
Дополнительно держит чанк‑тикет на текущем чанке, чтобы ракета не выгружалась
на больших дистанциях полёта.
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.world.entity.Entity
net.minecraft.world.entity.Entity.MoveFunction, net.minecraft.world.entity.Entity.MovementEmission, net.minecraft.world.entity.Entity.RemovalReasonNested classes/interfaces inherited from class net.minecraftforge.common.capabilities.CapabilityProvider
net.minecraftforge.common.capabilities.CapabilityProvider.AsField<B extends net.minecraftforge.common.capabilities.ICapabilityProviderImpl<B>>Nested classes/interfaces inherited from interface api.hbm.entity.IRadarDetectable
IRadarDetectable.RadarTargetType -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected doubleprotected doubleprotected booleanprotected intprotected booleanprotected intprotected intprotected intprotected intprotected doubleFields inherited from class net.minecraft.world.entity.Entity
BASE_TICKS_REQUIRED_TO_FREEZE, blocksBuilding, BOARDING_COOLDOWN, boardingCooldown, BREATHING_DISTANCE_BELOW_EYES, DATA_POSE, DATA_SHARED_FLAGS_ID, DEFAULT_BB_HEIGHT, DEFAULT_BB_WIDTH, DELTA_AFFECTED_BY_BLOCKS_BELOW_0_2, DELTA_AFFECTED_BY_BLOCKS_BELOW_0_5, DELTA_AFFECTED_BY_BLOCKS_BELOW_1_0, ENTITY_COUNTER, entityData, fallDistance, firstTick, FLAG_FALL_FLYING, FLAG_GLOWING, FLAG_ONFIRE, fluidHeight, flyDist, forgeFluidTypeHeight, FREEZE_HURT_FREQUENCY, hasImpulse, horizontalCollision, hurtMarked, ID_TAG, invulnerableTime, isInPowderSnow, isInsidePortal, mainSupportingBlockPos, MAX_ENTITY_TAG_COUNT, minorHorizontalCollision, moveDist, noCulling, noPhysics, PASSENGERS_TAG, portalEntrancePos, portalTime, random, stringUUID, stuckSpeedMultiplier, tickCount, TOTAL_AIR_SUPPLY, uuid, UUID_TAG, verticalCollision, verticalCollisionBelow, walkDist, walkDistO, wasEyeInWater, wasInPowderSnow, wasOnFire, wasTouchingWater, xo, xOld, xRotO, yo, yOld, yRotO, zo, zOldFields inherited from interface net.minecraft.commands.CommandSource
NULL -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedMissileBaseEntity(net.minecraft.world.entity.EntityType<? extends MissileBaseEntity> type, net.minecraft.world.level.Level level) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAdditionalSaveData(net.minecraft.nbt.CompoundTag tag) booleanprotected booleancanHitEntity(net.minecraft.world.entity.Entity entity) protected voidcluster()protected intprotected voidnet.minecraft.network.protocol.Packet<net.minecraft.network.protocol.game.ClientGamePacketListener>protected floatfloatprotected List<net.minecraft.world.item.ItemStack>protected net.minecraft.world.item.ItemStacknet.minecraft.core.DirectiondoubleМножитель смещения за тик (1.7.10motionMult()).protected booleanbooleanhurt(net.minecraft.world.damagesource.DamageSource source, float amount) voidinitLaunch(double x, double y, double z, int targetX, int targetZ) Инициализация полёта при старте с пусковой площадки.protected voidvoidlerpTo(double x, double y, double z, float yRot, float xRot, int steps, boolean teleport) voidprotected voidonHit(net.minecraft.world.phys.HitResult result) protected abstract voidonMissileImpact(net.minecraft.core.BlockPos pos) voidvoidreadAdditionalSaveData(net.minecraft.nbt.CompoundTag tag) voidrecreateFromPacket(net.minecraft.network.protocol.game.ClientboundAddEntityPacket packet) protected voidvoidsetLaunchFacing(net.minecraft.core.Direction facing) booleanshouldRenderAtSqrDistance(double distance) protected voidprotected voidspawnContrailWithOffset(double offsetX, double offsetY, double offsetZ) protected voidvoidtick()Полностью кастомный тик: мы не наследуем поведение от ThrowableProjectile, поэтому здесь нет ни гравитации, ни сопротивления воздуха.Methods inherited from class net.minecraft.world.entity.projectile.Projectile
getEffectSource, getOwner, lerpMotion, lerpRotation, mayInteract, onHitBlock, onHitEntity, ownedBy, setOwner, shoot, shootFromRotation, updateRotationMethods inherited from class net.minecraft.world.entity.Entity
absMoveTo, absMoveTo, acceptsFailure, acceptsSuccess, addDeltaMovement, addPassenger, addTag, animateHurt, awardKillScore, baseTick, blockPosition, broadcastToPlayer, calculateUpVector, calculateViewVector, canAddPassenger, canBeCollidedWith, canBeHitByProjectile, canChangeDimensions, canCollideWith, canEnterPose, canFreeze, canRide, canSpawnSprintParticle, canSprint, canTrample, canUpdate, canUpdate, captureDrops, captureDrops, causeFallDamage, changeDimension, changeDimension, checkBelowWorld, checkDespawn, checkFallDamage, checkInsideBlocks, checkSlowFallDistance, checkSupportingBlock, chunkPosition, clearFire, closerThan, closerThan, collideBoundingBox, copyPosition, couldAcceptPassenger, createCommandSourceStack, createHoverEvent, damageSources, dampensVibrations, discard, dismountsUnderwater, dismountTo, displayFireAnimation, distanceTo, distanceToSqr, distanceToSqr, distanceToSqr, doEnchantDamageEffects, doWaterSplashEffect, ejectPassengers, equals, extinguishFire, fillCrashReportCategory, findDimensionEntryPoint, fireImmune, fixupDimensions, gameEvent, gameEvent, getAirSupply, getAllSlots, getArmorSlots, getBbHeight, getBbWidth, getBlockExplosionResistance, getBlockJumpFactor, getBlockPosBelowThatAffectsMyMovement, getBlockSpeedFactor, getBlockStateOn, getBlockStateOnLegacy, getBlockX, getBlockY, getBlockZ, getBoundingBox, getBoundingBoxForCulling, getBoundingBoxForPose, getCollisionHorizontalEscapeVector, getCommandSenderWorld, getControlledVehicle, getControllingPassenger, getCustomName, getDeltaMovement, getDimensionChangingDelay, getDimensions, getDimensionsForge, getDirection, getDismountLocationForPassenger, getDisplayName, getEncodeId, getEntityData, getExitPortal, getEyeHeight, getEyeHeight, getEyeHeight, getEyeHeightAccess, getEyeInFluidType, getEyePosition, getEyePosition, getEyeY, getFeetBlockState, getFireImmuneTicks, getFirstPassenger, getFluidHeight, getFluidJumpThreshold, getFluidTypeHeight, getForward, getHandHoldingItemAngle, getHandSlots, getId, getIndirectPassengers, getLeashOffset, getLeashOffset, getLightLevelDependentMagicValue, getLightProbePosition, getLookAngle, getMaxAirSupply, getMaxFallDistance, getMaxHeightFluidType, getMotionDirection, getMovementEmission, getMyRidingOffset, getName, getNameTagOffsetY, getOnPos, getOnPos, getOnPosLegacy, getPassengers, getPassengersAndSelf, getPassengersRidingOffset, getPercentFrozen, getPermissionLevel, getPersistentData, getPickRadius, getPickResult, getPistonPushReaction, getPortalCooldown, getPortalWaitTime, getPose, getPosition, getPositionCodec, getPrimaryStepSoundBlockPos, getRandomX, getRandomY, getRandomZ, getRelativePortalPosition, getRemainingFireTicks, getRemovalReason, getRootVehicle, getRopeHoldPosition, getRotationVector, getScoreboardName, getSelfAndPassengers, getServer, getSharedFlag, getSlot, getSoundSource, getStringUUID, getSwimHighSpeedSplashSound, getSwimSound, getSwimSplashSound, getTags, getTeam, getTeamColor, getTicksFrozen, getTicksRequiredToFreeze, getType, getTypeName, getUpVector, getUUID, getVehicle, getViewScale, getViewVector, getViewXRot, getViewYRot, getVisualRotationYInDegrees, getX, getX, getXRot, getY, getY, getYHeadRot, getYRot, getZ, getZ, handleDamageEvent, handleEntityEvent, handleInsidePortal, handleNetherPortal, hasControllingPassenger, hasCustomName, hasExactlyOnePlayerPassenger, hasGlowingTag, hashCode, hasIndirectPassenger, hasPassenger, hasPassenger, hasPermissions, hasPose, ignoreExplosion, interact, interactAt, is, isAddedToWorld, isAlive, isAlliedTo, isAlliedTo, isAlwaysTicking, isAttackable, isColliding, isControlledByLocalInstance, isCrouching, isCurrentlyGlowing, isCustomNameVisible, isDescending, isDiscrete, isEffectiveAi, isEyeInFluid, isFlapping, isFree, isFreezing, isFullyFrozen, isHorizontalCollisionMinor, isIgnoringBlockTriggers, isInFluidType, isInFluidType, isInLava, isInvisible, isInvisibleTo, isInvulnerable, isInvulnerableTo, isInWall, isInWater, isInWaterOrBubble, isInWaterOrRain, isInWaterRainOrBubble, isNoGravity, isOnFire, isOnPortalCooldown, isOnRails, isPassenger, isPassengerOfSameVehicle, isPickable, isPushable, isPushedByFluid, isRemoved, isShiftKeyDown, isSilent, isSpectator, isSprinting, isSteppingCarefully, isSupportedBy, isSuppressingBounce, isSwimming, isUnderWater, isVehicle, isVisuallyCrawling, isVisuallySwimming, kill, killedEntity, lavaHurt, lerpHeadTo, level, limitPistonMovement, load, lookAt, makeBoundingBox, makeStuckInBlock, markHurt, maxUpStep, maybeBackOffFromEdge, mirror, move, moveRelative, moveTo, moveTo, moveTo, moveTo, moveTowardsClosestSpace, newDoubleList, newFloatList, nextStep, onAboveBubbleCol, onBelowWorld, onClientRemoval, onFlap, onGround, onInsideBlock, onInsideBubbleColumn, onlyOpCanSetNbt, onPassengerTurned, onSyncedDataUpdated, onSyncedDataUpdated, pick, playCombinationStepSounds, playEntityOnFireExtinguishedSound, playerTouch, playMuffledStepSound, playSound, playSound, playStepSound, playSwimSound, position, positionRider, positionRider, processFlappingMovement, processPortalCooldown, push, push, reapplyPosition, refreshDimensions, remove, removeAfterChangingDimensions, removePassenger, removeTag, removeVehicle, repositionEntityAfterLoad, resetFallDistance, restoreFrom, revive, rideTick, rotate, save, saveAsPassenger, saveWithoutId, sendSystemMessage, setAirSupply, setBoundingBox, setCustomName, setCustomNameVisible, setDeltaMovement, setDeltaMovement, setFluidTypeHeight, setGlowingTag, setId, setInvisible, setInvulnerable, setIsInPowderSnow, setItemSlot, setLevel, setLevelCallback, setMaxUpStep, setNoGravity, setOldPosAndRot, setOnGround, setOnGroundWithKnownMovement, setPortalCooldown, setPortalCooldown, setPos, setPos, setPose, setPosRaw, setRemainingFireTicks, setRemoved, setRot, setSecondsOnFire, setSharedFlag, setSharedFlagOnFire, setShiftKeyDown, setSilent, setSprinting, setSwimming, setTicksFrozen, setUUID, setViewScale, setXRot, setYBodyRot, setYHeadRot, setYRot, shouldBeSaved, shouldBlockExplode, shouldInformAdmins, shouldRender, shouldShowName, showVehicleHealth, skipAttackInteraction, spawnAtLocation, spawnAtLocation, spawnAtLocation, spawnAtLocation, spawnSprintParticle, startRiding, startRiding, startSeenByPlayer, stopRiding, stopSeenByPlayer, syncPacketPositionCodec, teleportRelative, teleportTo, teleportTo, teleportToWithTicket, thunderHit, toString, touchingUnloadedChunk, trackingPosition, tryCheckInsideBlocks, turn, unRide, unsetRemoved, updateDynamicGameEventListener, updateFluidHeightAndDoFluidPushing, updateFluidHeightAndDoFluidPushing, updateFluidHeightAndDoFluidPushing, updateInWaterStateAndDoFluidPushing, updateSwimming, waterSwimSoundMethods inherited from class net.minecraftforge.common.capabilities.CapabilityProvider
areCapsCompatible, areCapsCompatible, deserializeCaps, gatherCapabilities, gatherCapabilities, gatherCapabilities, getCapabilities, getCapability, invalidateCaps, reviveCaps, serializeCapsMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface net.minecraft.commands.CommandSource
alwaysAcceptsMethods inherited from interface net.minecraftforge.common.capabilities.ICapabilityProvider
getCapability, getCapabilityMethods inherited from interface net.minecraftforge.common.extensions.IForgeEntity
canBeRiddenUnderFluidType, canFluidExtinguish, canHydrateInFluidType, canRiderInteract, canStartSwimming, canSwimInFluidType, deserializeNBT, getClassification, getEyeHeightForge, getFluidFallDistanceModifier, getFluidMotionScale, getParts, getPickedResult, getSoundFromFluidType, getStepHeight, hasCustomOutlineRendering, isEyeInFluidType, isInFluidType, isInFluidType, isInFluidType, isMultipartEntity, isPushedByFluid, serializeNBT, shouldRiderSit, shouldUpdateFluidWhileBoating
-
Field Details
-
startX
protected int startX -
startZ
protected int startZ -
targetX
protected int targetX -
targetZ
protected int targetZ -
velocity
protected double velocity -
decelY
protected double decelY -
accelXZ
protected double accelXZ -
isCluster
protected boolean isCluster -
health
protected int health -
exploded
protected boolean exploded
-
-
Constructor Details
-
MissileBaseEntity
protected MissileBaseEntity(net.minecraft.world.entity.EntityType<? extends MissileBaseEntity> type, net.minecraft.world.level.Level level)
-
-
Method Details
-
initLaunch
public void initLaunch(double x, double y, double z, int targetX, int targetZ) Инициализация полёта при старте с пусковой площадки. -
setLaunchFacing
public void setLaunchFacing(net.minecraft.core.Direction facing) -
getLaunchFacing
public net.minecraft.core.Direction getLaunchFacing() -
getMotionMultiplier
public double getMotionMultiplier()Множитель смещения за тик (1.7.10motionMult()). -
getDebris
-
getDebrisRareDrop
@Nullable protected net.minecraft.world.item.ItemStack getDebrisRareDrop() -
debrisTierIndex
protected int debrisTierIndex() -
getTargetType
- Specified by:
getTargetTypein interfaceIRadarDetectable
-
lerpTo
public void lerpTo(double x, double y, double z, float yRot, float xRot, int steps, boolean teleport) - Overrides:
lerpToin classnet.minecraft.world.entity.Entity
-
recreateFromPacket
public void recreateFromPacket(net.minecraft.network.protocol.game.ClientboundAddEntityPacket packet) - Overrides:
recreateFromPacketin classnet.minecraft.world.entity.projectile.Projectile
-
tick
public void tick()Полностью кастомный тик: мы не наследуем поведение от ThrowableProjectile, поэтому здесь нет ни гравитации, ни сопротивления воздуха.- Overrides:
tickin classnet.minecraft.world.entity.projectile.Projectile
-
hasPropulsion
protected boolean hasPropulsion() -
getContrailScale
protected float getContrailScale() -
getContrailScaleForSync
public float getContrailScaleForSync() -
spawnContrail
protected void spawnContrail() -
spawnNozzleFlare
protected void spawnNozzleFlare() -
spawnContrailWithOffset
protected void spawnContrailWithOffset(double offsetX, double offsetY, double offsetZ) -
onHit
protected void onHit(net.minecraft.world.phys.HitResult result) - Overrides:
onHitin classnet.minecraft.world.entity.projectile.Projectile
-
canHitEntity
protected boolean canHitEntity(net.minecraft.world.entity.Entity entity) - Overrides:
canHitEntityin classnet.minecraft.world.entity.projectile.Projectile
-
onMissileImpact
protected abstract void onMissileImpact(net.minecraft.core.BlockPos pos) -
canBeDetectedByRadar
public boolean canBeDetectedByRadar() -
defineSynchedData
protected void defineSynchedData()- Specified by:
defineSynchedDatain classnet.minecraft.world.entity.Entity
-
addAdditionalSaveData
public void addAdditionalSaveData(net.minecraft.nbt.CompoundTag tag) - Overrides:
addAdditionalSaveDatain classnet.minecraft.world.entity.projectile.Projectile
-
readAdditionalSaveData
public void readAdditionalSaveData(net.minecraft.nbt.CompoundTag tag) - Overrides:
readAdditionalSaveDatain classnet.minecraft.world.entity.projectile.Projectile
-
hurt
public boolean hurt(net.minecraft.world.damagesource.DamageSource source, float amount) - Overrides:
hurtin classnet.minecraft.world.entity.Entity
-
killMissile
protected void killMissile() -
cluster
protected void cluster() -
releaseChunkTicket
protected void releaseChunkTicket() -
onAddedToWorld
public void onAddedToWorld()- Specified by:
onAddedToWorldin interfacenet.minecraftforge.common.extensions.IForgeEntity- Overrides:
onAddedToWorldin classnet.minecraft.world.entity.Entity
-
onRemovedFromWorld
public void onRemovedFromWorld()- Specified by:
onRemovedFromWorldin interfacenet.minecraftforge.common.extensions.IForgeEntity- Overrides:
onRemovedFromWorldin classnet.minecraft.world.entity.Entity
-
shouldRenderAtSqrDistance
public boolean shouldRenderAtSqrDistance(double distance) - Overrides:
shouldRenderAtSqrDistancein classnet.minecraft.world.entity.Entity
-
getAddEntityPacket
public net.minecraft.network.protocol.Packet<net.minecraft.network.protocol.game.ClientGamePacketListener> getAddEntityPacket()- Overrides:
getAddEntityPacketin classnet.minecraft.world.entity.projectile.Projectile
-