Class SoldierEntity

java.lang.Object
net.neoforged.neoforge.attachment.AttachmentHolder
net.minecraft.world.entity.Entity
net.minecraft.world.entity.LivingEntity
net.minecraft.world.entity.Mob
net.minecraft.world.entity.PathfinderMob
tech.anonymoushacker1279.immersiveweapons.entity.neutral.SoldierEntity
All Implemented Interfaces:
net.minecraft.core.component.DataComponentGetter, net.minecraft.core.TypedInstance<net.minecraft.world.entity.EntityType<?>>, net.minecraft.network.syncher.SyncedDataHolder, net.minecraft.util.debug.DebugValueSource, net.minecraft.world.entity.Attackable, net.minecraft.world.entity.EquipmentUser, net.minecraft.world.entity.ItemOwner, net.minecraft.world.entity.Leashable, net.minecraft.world.entity.NeutralMob, net.minecraft.world.entity.SlotProvider, net.minecraft.world.entity.Targeting, net.minecraft.world.level.entity.EntityAccess, net.minecraft.world.level.entity.UniquelyIdentifyable, net.minecraft.world.Nameable, net.minecraft.world.scores.ScoreHolder, net.minecraft.world.waypoints.Waypoint, net.minecraft.world.waypoints.WaypointTransmitter, net.neoforged.neoforge.attachment.IAttachmentHolder, net.neoforged.neoforge.common.extensions.IEntityExtension, net.neoforged.neoforge.common.extensions.ILivingEntityExtension, GrantAdvancementOnDiscovery
Direct Known Subclasses:
FieldMedicEntity, RangedSoldierEntity

public abstract class SoldierEntity extends net.minecraft.world.entity.PathfinderMob implements net.minecraft.world.entity.NeutralMob, GrantAdvancementOnDiscovery
  • Nested Class Summary

    Nested classes/interfaces inherited from class net.minecraft.world.entity.LivingEntity

    net.minecraft.world.entity.LivingEntity.Fallsounds

    Nested classes/interfaces inherited from class net.minecraft.world.entity.Entity

    net.minecraft.world.entity.Entity.Flags, net.minecraft.world.entity.Entity.MoveFunction, net.minecraft.world.entity.Entity.MovementEmission, net.minecraft.world.entity.Entity.RemovalReason

    Nested classes/interfaces inherited from class net.neoforged.neoforge.attachment.AttachmentHolder

    net.neoforged.neoforge.attachment.AttachmentHolder.AsField

    Nested classes/interfaces inherited from interface net.minecraft.util.debug.DebugValueSource

    net.minecraft.util.debug.DebugValueSource.Registration, net.minecraft.util.debug.DebugValueSource.ValueGetter<T>

    Nested classes/interfaces inherited from interface net.minecraft.world.entity.ItemOwner

    net.minecraft.world.entity.ItemOwner.OffsetFromOwner

    Nested classes/interfaces inherited from interface net.minecraft.world.entity.Leashable

    net.minecraft.world.entity.Leashable.LeashData, net.minecraft.world.entity.Leashable.Wrench

    Nested classes/interfaces inherited from interface net.minecraft.world.waypoints.Waypoint

    net.minecraft.world.waypoints.Waypoint.Icon

    Nested classes/interfaces inherited from interface net.minecraft.world.waypoints.WaypointTransmitter

    net.minecraft.world.waypoints.WaypointTransmitter.BlockConnection, net.minecraft.world.waypoints.WaypointTransmitter.ChunkConnection, net.minecraft.world.waypoints.WaypointTransmitter.Connection, net.minecraft.world.waypoints.WaypointTransmitter.EntityAzimuthConnection, net.minecraft.world.waypoints.WaypointTransmitter.EntityBlockConnection, net.minecraft.world.waypoints.WaypointTransmitter.EntityChunkConnection
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    protected long
     
    protected final List<Class<? extends net.minecraft.world.entity.Entity>>
     
    protected @Nullable net.minecraft.world.entity.EntityReference<net.minecraft.world.entity.LivingEntity>
     

    Fields inherited from class net.minecraft.world.entity.PathfinderMob

    DEFAULT_WALK_TARGET_VALUE

    Fields inherited from class net.minecraft.world.entity.Mob

    ambientSoundTime, goalSelector, jumpControl, lookControl, MAX_ENCHANTED_ARMOR_CHANCE, MAX_ENCHANTED_WEAPON_CHANCE, MAX_PICKUP_LOOT_CHANCE, MAX_WEARING_ARMOR_CHANCE, moveControl, navigation, PICKUP_REACH, preventConversionSpawns, RANDOM_SPAWN_BONUS_ID, TAG_CAN_PICK_UP_LOOT, TAG_DROP_CHANCES, TAG_LEFT_HANDED, TAG_NO_AI, targetSelector, UPDATE_GOAL_SELECTOR_EVERY_N_TICKS, WEARING_ARMOR_UPGRADE_MATERIAL_ATTEMPTS, WEARING_ARMOR_UPGRADE_MATERIAL_CHANCE, xpReward

    Fields inherited from class net.minecraft.world.entity.LivingEntity

    ARMOR_SLOT_OFFSET, attackAnim, attackStrengthTicker, autoSpinAttackDmg, autoSpinAttackItemStack, autoSpinAttackTicks, BASE_JUMP_POWER, BODY_ARMOR_OFFSET, brain, currentExplosionCause, currentImpulseImpactPos, damageContainers, DATA_LIVING_ENTITY_FLAGS, dead, DEATH_DURATION, deathTime, DEFAULT_BABY_SCALE, DEFAULT_BASE_GRAVITY, DEFAULT_KNOCKBACK, elytraAnimationState, equipment, EQUIPMENT_SLOT_OFFSET, EXTRA_RENDER_CULLING_SIZE_WITH_BIG_HAT, fallFlyTicks, hurtDuration, hurtTime, INPUT_FRICTION, interpolation, INVULNERABLE_DURATION, itemSwapTicker, jumping, lastHurt, lastHurtByPlayer, lastHurtByPlayerMemoryTime, lerpHeadSteps, lerpYHeadRot, LIVING_ENTITY_FLAG_IS_USING, LIVING_ENTITY_FLAG_OFF_HAND, LIVING_ENTITY_FLAG_SPIN_ATTACK, MIN_MOVEMENT_DISTANCE, noActionTime, oAttackAnim, PLAYER_HURT_EXPERIENCE_TIME, PLAYER_NOT_WEARING_DISGUISE_ITEM, PLAYER_NOT_WEARING_DISGUISE_ITEM_FOR_TARGET, recentKineticEnemies, removeArrowTime, removeStingerTime, SADDLE_OFFSET, SLEEPING_DIMENSIONS, swinging, swingingArm, swingTime, TAG_ATTRIBUTES, TAG_BRAIN, TAG_DEATH_TIME, TAG_EQUIPMENT, TAG_FALL_FLYING, TAG_HEALTH, TAG_HURT_BY_TIMESTAMP, TAG_HURT_TIME, TAG_SLEEPING_POS, useItem, useItemRemaining, walkAnimation, xxa, yBodyRot, yBodyRotO, yHeadRot, yHeadRotO, yya, zza

    Fields inherited from class net.minecraft.world.entity.Entity

    BASE_SAFE_FALL_DISTANCE, BASE_TICKS_REQUIRED_TO_FREEZE, blocksBuilding, BOARDING_COOLDOWN, boardingCooldown, CONTENTS_SLOT_INDEX, 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, flyDist, FREEZE_HURT_FREQUENCY, horizontalCollision, hurtMarked, invulnerableTime, isInPowderSnow, mainSupportingBlockPos, MAX_ENTITY_TAG_COUNT, MAX_MOVEMENTS_HANDELED_PER_TICK, minorHorizontalCollision, moveDist, needsSync, noPhysics, portalProcess, random, stringUUID, stuckSpeedMultiplier, TAG_AIR, TAG_CUSTOM_NAME, TAG_DATA, TAG_FALL_DISTANCE, TAG_FIRE, TAG_GLOWING, TAG_ID, TAG_INVULNERABLE, TAG_MOTION, TAG_NO_GRAVITY, TAG_ON_GROUND, TAG_PASSENGERS, TAG_PORTAL_COOLDOWN, TAG_POS, TAG_ROTATION, TAG_SILENT, TAG_UUID, tickCount, TOTAL_AIR_SUPPLY, uuid, verticalCollision, verticalCollisionBelow, wasEyeInWater, wasInPowderSnow, wasTouchingWater, xo, xOld, xRotO, yo, yOld, yRotO, zo, zOld

    Fields inherited from class net.neoforged.neoforge.attachment.AttachmentHolder

    ATTACHMENTS_NBT_KEY

    Fields inherited from interface net.minecraft.world.entity.Leashable

    AXIS_SPECIFIC_ELASTICITY, ENTITY_ATTACHMENT_POINT, LEASH_ELASTIC_DIST, LEASH_TAG, LEASH_TOO_FAR_DIST, LEASHER_ATTACHMENT_POINT, MAXIMUM_ALLOWED_LEASHED_DIST, SHARED_QUAD_ATTACHMENT_POINTS, SPRING_DAMPENING, STIFFNESS, TORSIONAL_ELASTICITY

    Fields inherited from interface net.minecraft.world.entity.NeutralMob

    NO_ANGER_END_TIME, TAG_ANGER_END_TIME, TAG_ANGRY_AT

    Fields inherited from interface net.minecraft.world.scores.ScoreHolder

    WILDCARD, WILDCARD_NAME

    Fields inherited from interface net.minecraft.world.waypoints.Waypoint

    MAX_RANGE, WAYPOINT_TRANSMIT_RANGE_HIDE_MODIFIER

    Fields inherited from interface net.minecraft.world.waypoints.WaypointTransmitter

    REALLY_FAR_DISTANCE
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
    SoldierEntity(net.minecraft.world.entity.EntityType<? extends net.minecraft.world.entity.PathfinderMob> entityType, net.minecraft.world.level.Level level, List<Class<? extends net.minecraft.world.entity.Entity>> ignoresDamageFrom)
     
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addAdditionalSaveData(net.minecraft.world.level.storage.ValueOutput valueOutput)
     
    void
     
    boolean
    canAttack(net.minecraft.world.entity.LivingEntity target)
     
    boolean
     
    protected boolean
    canTargetEntityWhenHurt(net.minecraft.world.entity.LivingEntity entity)
     
    protected abstract boolean
    canTargetPlayer(net.minecraft.world.entity.LivingEntity entity)
     
    static net.minecraft.world.entity.ai.attributes.AttributeSupplier.Builder
     
    net.minecraft.world.entity.SpawnGroupData
    finalizeSpawn(net.minecraft.world.level.ServerLevelAccessor level, net.minecraft.world.DifficultyInstance difficulty, net.minecraft.world.entity.EntitySpawnReason reason, @Nullable net.minecraft.world.entity.SpawnGroupData spawnData)
     
    protected abstract net.minecraft.world.item.Item
     
    protected net.minecraft.sounds.SoundEvent
     
    int
     
    protected net.minecraft.sounds.SoundEvent
     
    protected net.minecraft.world.entity.EntityDimensions
    getDefaultDimensions(net.minecraft.world.entity.Pose pose)
     
    protected net.minecraft.sounds.SoundEvent
    getHurtSound(net.minecraft.world.damagesource.DamageSource damageSourceIn)
     
    protected abstract net.minecraft.world.item.Item
     
    long
     
    @Nullable net.minecraft.world.entity.EntityReference<net.minecraft.world.entity.LivingEntity>
     
    @Nullable net.minecraft.tags.TagKey<net.minecraft.world.item.Item>
     
    boolean
    hurtServer(net.minecraft.server.level.ServerLevel serverLevel, net.minecraft.world.damagesource.DamageSource source, float amount)
     
    protected void
    playStepSound(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state)
     
    protected abstract void
     
    void
    readAdditionalSaveData(net.minecraft.world.level.storage.ValueInput valueInput)
     
    protected void
     
    void
     
    void
    setPersistentAngerTarget(@Nullable net.minecraft.world.entity.EntityReference<net.minecraft.world.entity.LivingEntity> entityReference)
     
    void
     

    Methods inherited from class net.minecraft.world.entity.PathfinderMob

    checkSpawnRules, closeRangeLeashBehaviour, followLeashSpeed, getWalkTargetValue, getWalkTargetValue, isPanicking, isPathFinding, shouldStayCloseToLeashHolder, whenLeashedTo

    Methods inherited from class net.minecraft.world.entity.Mob

    asValidTarget, ate, baseTick, canDispenserEquipIntoSlot, canHoldItem, canPickUpLoot, canReplaceCurrentItem, canReplaceEqualItem, canShearEquipment, canUseNonMeleeWeapon, chargeSpeedModifier, checkDespawn, checkMobSpawnRules, checkSpawnObstruction, clampHeadRotationToBody, clearHome, convertTo, convertTo, createBodyControl, createEquipmentSlotContainer, createMobAttributes, createNavigation, customServerAiStep, defineSynchedData, doHurtTarget, dropCustomDeathLoot, dropFromLootTable, dropPreservedEquipment, dropPreservedEquipment, enchantSpawnedArmor, enchantSpawnedWeapon, equip, equip, equipItemIfPossible, getAttackBoundingBox, getBaseExperienceReward, getBodyArmorItem, getControllingPassenger, getDropChances, getEquipmentForSlot, getHeadRotSpeed, getHomePosition, getHomeRadius, getJumpControl, getLeashData, getLookControl, getLootTable, getLootTableSeed, getMainArm, getMaxFallDistance, getMaxHeadXRot, getMaxHeadYRot, getMaxSpawnClusterSize, getMoveControl, getNavigation, getPathfindingMalus, getPickResult, getPickupReach, getSensing, getSpawnType, getTarget, getTargetFromBrain, getTargetUnchecked, handleEntityEvent, hasHome, interact, isAggressive, isEffectiveAi, isLeftHanded, isMaxGroupSizeReached, isNoAi, isPersistenceRequired, isSaddled, isSpawnCancelled, isWearingBodyArmor, isWithinHome, isWithinHome, isWithinHome, isWithinMeleeAttackRange, jumpInFluid, jumpInLiquid, leashTooFarBehaviour, lookAt, mobInteract, onAttributeUpdated, onLeashRemoved, onOffspringSpawnedFromEgg, onPathfindingDone, onPathfindingStart, pickUpItem, playAmbientSound, playHurtSound, populateDefaultEquipmentEnchantments, populateDefaultEquipmentSlots, registerDebugValues, removeAfterChangingDimensions, removeAllGoals, removeFreeWill, removeWhenFarAway, requiresCustomPersistence, serverAiStep, setAggressive, setBaby, setBodyArmorItem, setCanPickUpLoot, setDropChance, setGuaranteedDrop, setHomeTo, setItemSlotAndDropWhenKilled, setLeashData, setLeftHanded, setNoAi, setPathfindingMalus, setPersistenceRequired, setSpawnCancelled, setSpeed, setTarget, setXxa, setYya, setZza, shouldPassengersInheritMalus, spawnAnim, startRiding, stopInPlace, sunProtectionSlot, tick, tickHeadTurn, updateControlFlags, usePlayerItem, wantsToPickUp

    Methods inherited from class net.minecraft.world.entity.LivingEntity

    activeLocationDependentEnchantments, actuallyHurt, addEffect, addEffect, animateHurt, applyInput, applyItemBlocking, applyPostImpulseGraceTime, areAllEffectsAmbient, asLivingEntity, attackable, blockedByItem, blockUsingItem, calculateEntityAnimation, calculateFallDamage, canBeAffected, canBeSeenAsEnemy, canBeSeenByAnyone, canBreatheUnderwater, canEquipWithDispenser, canFreeze, canGlide, canGlideUsing, canStandOnFluid, canUsePortal, canUseSlot, causeExtraKnockback, causeFallDamage, checkAutoSpinAttack, checkFallDamage, clearSleepingPos, completeUsingItem, createEquipment, createLivingAttributes, createWitherRose, decreaseAirSupply, die, doAutoAttackOnTouch, doesEmitEquipEvent, doHurtEquipment, doPush, drop, dropAllDeathLoot, dropEquipment, dropExperience, dropFromEntityInteractLootTable, dropFromGiftLootTable, dropFromLootTable, dropFromLootTable, dropFromLootTable, dropFromShearingLootTable, equipmentHasChanged, forceAddEffect, getAbsorptionAmount, getActiveEffects, getActiveEffectsMap, getActiveItem, getAgeScale, getArmorCoverPercentage, getArmorValue, getArrowCount, getAttackAnim, getAttackRangeWith, getAttribute, getAttributeBaseValue, getAttributes, getAttributeValue, getBedOrientation, getBlockSpeedFactor, getBrain, getCombatTracker, getComfortableFallDistance, getCurrentSwingDuration, getDamageAfterArmorAbsorb, getDamageAfterMagicAbsorb, getDefaultGravity, getDimensions, getDismountPoses, getEffect, getEffectBlendFactor, getEffectiveGravity, getEquipmentSlotForItem, getEquipSound, getExperienceReward, getFallFlyingTicks, getFallSounds, getFluidFallingAdjustedMovement, getFlyingSpeed, getHealth, getHitbox, getHurtDir, getInterpolation, getItemBlockingWith, getItemBySlot, getItemHeldByArm, getItemInHand, getJumpBoostPower, getJumpPower, getJumpPower, getKillCredit, getKnockback, getLastAttacker, getLastClimbablePos, getLastDamageSource, getLastHurtByMob, getLastHurtByMobTimestamp, getLastHurtByPlayer, getLastHurtByPlayerMemoryTime, getLastHurtMob, getLastHurtMobTimestamp, getLiquidCollisionShape, getLocalBoundsForPose, getLuck, getMainHandItem, getMaxAbsorption, getMaxHeadRotationRelativeToBody, getMaxHealth, getNoActionTime, getOffhandItem, getPassengerRidingPosition, getPreciseBodyRotation, getProjectile, getRelativePortalPosition, getRiddenInput, getRiddenSpeed, getScale, getSecondsToDisableBlocking, getSleepingPos, getSlot, getSoundVolume, getSpeed, getStingerCount, getSwimAmount, getTicksSinceLastKineticHitFeedback, getTicksUsingItem, getTicksUsingItem, getUsedItemHand, getUseItem, getUseItemRemainingTicks, getViewYRot, getVisibilityPercent, getVisualRotationYInDegrees, getVoicePitch, getWaterSlowDown, getWeaponItem, getYHeadRot, goDownInWater, handleDamageEvent, handleExtraItemsCreatedOnUse, hasEffect, hasInfiniteMaterials, hasItemInSlot, hasLandedInLiquid, hasLineOfSight, hasLineOfSight, heal, hurtArmor, hurtHelmet, igniteForTicks, increaseAirSupply, indicateDamage, internalSetAbsorptionAmount, isAffectedByFluids, isAffectedByPotions, isAlive, isAlwaysExperienceDropper, isAutoSpinAttack, isBaby, isBlocking, isCurrentlyGlowing, isDeadOrDying, isEquippableInSlot, isFallFlying, isHolding, isHolding, isIgnoringFallDamageFromCurrentImpulse, isImmobile, isInPostImpulseGraceTime, isInvertedHealAndHarm, isInvulnerableTo, isInWall, isJumping, isLookingAtMe, isPickable, isPushable, isSensitiveToWater, isSleeping, isSuppressingSlidingDownLadder, isTransmittingWaypoint, isUsingItem, isVisuallySwimming, jumpFromGround, kill, knockback, lerpHeadRotationStep, lerpHeadTo, lookAt, makeBrain, makePoofParticles, makeSound, makeWaypointConnectionWith, maxUpStep, onAttack, onBelowWorld, onChangedBlock, onClimbable, onEffectAdded, onEffectsRemoved, onEffectUpdated, onEnterCombat, onEquipItem, onEquippedItemBroken, onItemPickup, onLeaveCombat, onRemoval, onSyncedDataUpdated, playAttackSound, playBlockFallSound, postPiercingAttack, push, pushEntities, randomTeleport, randomTeleport, recreateFromPacket, releaseUsingItem, rememberStabbedEntity, remove, removeAllEffects, removeEffect, removeEffectNoUpdate, removeEffectParticles, removeFrost, resetCurrentImpulseContext, resetForwardDirectionOfRelativePortalPosition, resolveMobResponsibleForDamage, resolvePlayerResponsibleForDamage, rideTick, sanitizeScale, sendEffectToPassengers, setAbsorptionAmount, setArrowCount, setDiscardFriction, setHealth, setIgnoreFallDamageFromCurrentImpulse, setItemInHand, setItemSlot, setItemSlot, setJumping, setLastHurtByMob, setLastHurtByPlayer, setLastHurtByPlayer, setLastHurtMob, setLivingEntityFlag, setNoActionTime, setRecordPlayingNearby, setSleepingPos, setSprinting, setStingerCount, setYBodyRot, setYHeadRot, shouldDiscardFriction, shouldDropExperience, shouldDropLoot, shouldShowName, shouldTakeDrowningDamage, shouldTravelInFluid, skipDropExperience, spawnItemParticles, stabAttack, stabbedEntities, startSleeping, startUsingItem, stopFallFlying, stopRiding, stopSleeping, stopUsingItem, swing, swing, take, tickDeath, tickEffects, tickRidden, travel, travelFlying, travelFlying, travelInWater, triggerOnDeathMobEffects, tryAddFrost, tryResetCurrentImpulseContext, updateDataBeforeSync, updateEffectVisibility, updateFallFlying, updateInvisibilityStatus, updateSwingTime, updateUsingItem, updateWalkAnimation, wasExperienceConsumed, wasRecentlyStabbed, waypointIcon, wouldNotSuffocateAtTargetPose

    Methods inherited from class net.minecraft.world.entity.Entity

    absSnapRotationTo, absSnapTo, absSnapTo, addDeltaMovement, addPassenger, addTag, adjustSpawnLocation, applyComponentsFromItemStack, applyEffectsFromBlocks, applyEffectsFromBlocks, applyEffectsFromBlocksForLastMovements, applyGravity, applyImplicitComponent, applyImplicitComponentIfPresent, applyImplicitComponents, awardKillScore, belowNameDisplay, blockPosition, broadcastToPlayer, calculateUpVector, calculateViewVector, canAddPassenger, canBeCollidedWith, canBeHitByProjectile, canCollideWith, canControlVehicle, canInteractWithLevel, canRide, canSimulateMovement, canSpawnSprintParticle, canSprint, canTeleport, canTrample, captureDrops, captureDrops, castComponentValue, checkBelowWorld, checkFallDistanceAccumulation, checkSupportingBlock, chunkPosition, clearFire, clearFreeze, clearMovementThisTick, closerThan, closerThan, collectAllColliders, collideBoundingBox, collidedWithFluid, collidedWithShapeMovingFrom, computeSpeed, considersEntityAsAlly, copyPosition, couldAcceptPassenger, countPlayerPassengers, createCommandSourceStackForNameResolution, createHoverEvent, damageSources, dampensVibrations, deflection, discard, dismountsUnderwater, dismountTo, displayFireAnimation, distanceTo, distanceToSqr, distanceToSqr, distanceToSqr, doCheckFallDamage, doWaterSplashEffect, dropAllLeashConnections, ejectPassengers, entityTags, equals, extinguishFire, fillCrashReportCategory, fireImmune, fixupDimensions, forceSetRotation, fudgePositionAfterSizeChange, gameEvent, gameEvent, get, getAddEntityPacket, getAirSupply, getAttachments, getAvailableSpaceBelow, getBbHeight, getBbWidth, getBlockExplosionResistance, getBlockJumpFactor, getBlockPosBelowThatAffectsMyMovement, getBlockStateOn, getBlockStateOnLegacy, getBlockX, getBlockY, getBlockZ, getBoundingBox, getCapability, getCapability, getCollisionHorizontalEscapeVector, getControlledVehicle, getCustomName, getDefaultPassengerAttachmentPoint, getDeltaMovement, getDimensionChangingDelay, getDirection, getDismountLocationForPassenger, getDisplayName, getEncodeId, getEntityData, getEyeHeight, getEyeHeight, getEyePosition, getEyePosition, getEyeY, getFireImmuneTicks, getFirstPassenger, getFluidHeight, getFluidInteractionBox, getFluidJumpThreshold, getForward, getGravity, getHandHoldingItemAngle, getHeadLookAngle, getId, getInBlockState, getIndirectPassengers, getInputVector, getKnownMovement, getKnownSpeed, getLightLevelDependentMagicValue, getLightProbePosition, getLookAngle, getMaxAirSupply, getMotionDirection, getMovementEmission, getName, getNearestViewDirection, getOnPos, getOnPos, getOnPosLegacy, getPassengerAttachmentPoint, getPassengers, getPassengersAndSelf, getPercentFrozen, getPersistentData, getPickRadius, getPistonPushReaction, getPortalCooldown, getPose, getPosition, getPositionCodec, getPrimaryStepSoundBlockPos, getQuadLeashHolderOffsets, getRandom, getRandomX, getRandomY, getRandomY, getRandomZ, getRemainingFireTicks, getRemovalReason, getRequiresPrecisePosition, getRootVehicle, getRopeHoldPosition, getRotationVector, getScoreboardName, getSelfAndPassengers, getSharedFlag, getSoundSource, getStringUUID, getSwimHighSpeedSplashSound, getSwimSound, getSwimSplashSound, getTeam, getTeamColor, getTicksFrozen, getTicksRequiredToFreeze, getType, getTypeName, getUpVector, getUUID, getVehicle, getVehicleAttachmentPoint, getViewScale, getViewVector, getViewXRot, getX, getX, getXRot, getXRot, getY, getY, getYRot, getYRot, getZ, getZ, handleOnAboveBubbleColumn, handleOnInsideBubbleColumn, handlePortal, hasControllingPassenger, hasCustomName, hasExactlyOnePlayerPassenger, hasGlowingTag, hashCode, hasIndirectPassenger, hasMovedHorizontallyRecently, hasPassenger, hasPassenger, hasPose, hurt, hurtClient, hurtOrSimulate, igniteForSeconds, ignoreExplosion, is, isAddedToLevel, isAffectedByBlocks, isAlliedTo, isAlliedTo, isAlwaysTicking, isAttackable, isClientAuthoritative, isColliding, isCrouching, isCustomNameVisible, isDescending, isDiscrete, isEyeInFluid, isFlapping, isFlyingVehicle, isFree, isFreezing, isFullyFrozen, isHorizontalCollisionMinor, isIgnoringBlockTriggers, isInClouds, isInLava, isInLiquid, isInShallowWater, isInterpolating, isInvisible, isInvisibleTo, isInvulnerable, isInvulnerableToBase, isInWater, isInWaterOrRain, isLocalClientAuthoritative, isLocalInstanceAuthoritative, isNoGravity, isOnFire, isOnPortalCooldown, isOnRails, isPassenger, isPassengerOfSameVehicle, isPushedByFluid, isRemoved, isShiftKeyDown, isSilent, isSpectator, isSprinting, isSteppingCarefully, isSupportedBy, isSuppressingBounce, isSwimming, isUnderWater, isVehicle, isVisuallyCrawling, killedEntity, lavaHurt, lavaIgnite, lerpMotion, lerpPositionAndRotationStep, level, limitPistonMovement, load, makeBoundingBox, makeBoundingBox, makeStuckInBlock, markHurt, maybeBackOffFromEdge, mayInteract, mirror, modifyPassengerFluidInteractionBox, move, moveOrInterpolateTo, moveOrInterpolateTo, moveOrInterpolateTo, moveOrInterpolateTo, moveRelative, moveTowardsClosestSpace, nextStep, notifyLeasheeRemoved, notifyLeashHolder, oldPosition, onAboveBubbleColumn, onAddedToLevel, onClientRemoval, onExplosionHit, onFlap, onGround, onInsideBlock, onInsideBubbleColumn, onPassengerTurned, onRemovedFromLevel, onSyncedDataUpdated, pick, placePortalTicket, playCombinationStepSounds, playEntityOnFireExtinguishedSound, playerTouch, playMuffledStepSound, playSound, playSound, playSwimSound, position, positionRider, positionRider, problemPath, processFlappingMovement, processPortalCooldown, propagateFallToPassengers, push, push, reapplyPosition, refreshDimensions, registryAccess, removeLatestMovementRecording, removePassenger, removeTag, removeVehicle, repositionEntityAfterLoad, resetFallDistance, restoreFrom, revive, rotate, save, saveAsPassenger, saveWithoutId, sendBubbleColumnParticles, setAirSupply, setAsInsidePortal, setBoundingBox, setComponent, setCustomName, setCustomNameVisible, setData, setDeltaMovement, setDeltaMovement, setGlowingTag, setId, setInvisible, setInvulnerable, setIsInPowderSnow, setLevel, setLevelCallback, setNoGravity, setOldPos, setOldPosAndRot, setOldPosAndRot, setOldRot, setOnGround, setOnGroundWithMovement, setOnGroundWithMovement, setPortalCooldown, setPortalCooldown, setPos, setPos, setPose, setPosRaw, setRemainingFireTicks, setRemoved, setRequiresPrecisePosition, setRot, setSharedFlag, setSharedFlagOnFire, setShiftKeyDown, setSilent, setSwimming, setTicksFrozen, setUUID, setViewScale, setXRot, setYRot, shearOffAllLeashConnections, shouldBeSaved, shouldBlockExplode, shouldPlayLavaHurtSound, shouldRender, shouldRenderAtSqrDistance, showVehicleHealth, skipAttackInteraction, snapTo, snapTo, snapTo, snapTo, snapTo, spawnAtLocation, spawnAtLocation, spawnAtLocation, spawnAtLocation, spawnSprintParticle, startRiding, startSeenByPlayer, stopSeenByPlayer, supportQuadLeashAsHolder, syncData, syncPacketPositionCodec, teleport, teleportRelative, teleportSetPosition, teleportSetPosition, teleportSpectators, teleportTo, teleportTo, thunderHit, toString, touchingUnloadedChunk, trackingPosition, turn, typeHolder, unRide, unsetRemoved, updateDynamicGameEventListener, updateFluidInteraction, updateSwimming, waterSwimSound

    Methods inherited from class net.neoforged.neoforge.attachment.AttachmentHolder

    deserializeAttachments, getData, getExistingDataOrNull, hasAttachments, hasData, removeData, serializeAttachments

    Methods inherited from class Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface net.minecraft.core.component.DataComponentGetter

    get, getOrDefault, getOrDefault, getTyped, has, has

    Methods inherited from interface net.minecraft.world.entity.EquipmentUser

    equip, equip, equip, getItemBySlot, resolveSlot, setItemSlot

    Methods inherited from interface GrantAdvancementOnDiscovery

    checkForDiscovery, isLookingAtMe

    Methods inherited from interface net.neoforged.neoforge.attachment.IAttachmentHolder

    getData, getExistingData, getExistingData, getExistingDataOrNull, hasData, removeData, setData, syncData

    Methods inherited from interface net.neoforged.neoforge.common.extensions.IEntityExtension

    canBeRiddenUnderFluidType, canFluidExtinguish, canHydrateInFluidType, canRiderInteract, canTrample, captureDrops, captureDrops, copyAttachmentsFrom, getClassification, getFluidFallDistanceModifier, getFluidMotionScale, getParts, getPersistentData, getSoundFromFluidType, hasCustomOutlineRendering, isAddedToLevel, isMultipartEntity, isPushedByFluid, onAddedToLevel, onRemovedFromLevel, revive, sendPairingData, shouldRiderSit

    Methods inherited from interface net.neoforged.neoforge.common.extensions.ILivingEntityExtension

    canDrownInFluidType, canSwimInFluidType, moveInFluid, onDamageTaken, self, sinkInFluid

    Methods inherited from interface net.minecraft.world.entity.Leashable

    canHaveALeashAttachedTo, checkElasticInteractions, dropLeash, getLeashHolder, getLeashOffset, getLeashOffset, getQuadLeashOffsets, isLeashed, leashDistanceTo, leashElasticDistance, leashSnapDistance, mayBeLeashed, onElasticLeashPull, readLeashData, removeLeash, setDelayedLeashHolderId, setLeashedTo, supportQuadLeash, writeLeashData

    Methods inherited from interface net.minecraft.world.Nameable

    getPlainTextName

    Methods inherited from interface net.minecraft.world.entity.NeutralMob

    addPersistentAngerSaveData, forgetCurrentTargetAndRefreshUniversalAnger, getLastHurtByMob, getTarget, getTargetUnchecked, isAngry, isAngryAt, isAngryAtAllPlayers, level, playerDied, readPersistentAngerSaveData, setLastHurtByMob, setTarget, setTimeToRemainAngry, stopBeingAngry, updatePersistentAnger

    Methods inherited from interface net.minecraft.world.scores.ScoreHolder

    getFeedbackDisplayName

    Methods inherited from interface net.minecraft.world.entity.SlotProvider

    getSlotsFromRange

    Methods inherited from interface net.minecraft.core.TypedInstance

    is, is, is, is, is, tags
  • Field Details

    • ignoresDamageFrom

      protected final List<Class<? extends net.minecraft.world.entity.Entity>> ignoresDamageFrom
    • angerTime

      protected long angerTime
    • targetReference

      @Nullable protected @Nullable net.minecraft.world.entity.EntityReference<net.minecraft.world.entity.LivingEntity> targetReference
  • Constructor Details

    • SoldierEntity

      protected SoldierEntity(net.minecraft.world.entity.EntityType<? extends net.minecraft.world.entity.PathfinderMob> entityType, net.minecraft.world.level.Level level, List<Class<? extends net.minecraft.world.entity.Entity>> ignoresDamageFrom)
  • Method Details

    • createSoldierAttributes

      public static net.minecraft.world.entity.ai.attributes.AttributeSupplier.Builder createSoldierAttributes()
    • registerGoals

      protected void registerGoals()
      Overrides:
      registerGoals in class net.minecraft.world.entity.Mob
    • finalizeSpawn

      public net.minecraft.world.entity.SpawnGroupData finalizeSpawn(net.minecraft.world.level.ServerLevelAccessor level, net.minecraft.world.DifficultyInstance difficulty, net.minecraft.world.entity.EntitySpawnReason reason, @Nullable @Nullable net.minecraft.world.entity.SpawnGroupData spawnData)
      Overrides:
      finalizeSpawn in class net.minecraft.world.entity.Mob
    • getPreferredWeaponType

      @Nullable public @Nullable net.minecraft.tags.TagKey<net.minecraft.world.item.Item> getPreferredWeaponType()
      Overrides:
      getPreferredWeaponType in class net.minecraft.world.entity.Mob
    • aiStep

      public void aiStep()
      Overrides:
      aiStep in class net.minecraft.world.entity.Mob
    • canAttack

      public boolean canAttack(net.minecraft.world.entity.LivingEntity target)
      Specified by:
      canAttack in interface net.minecraft.world.entity.NeutralMob
      Overrides:
      canAttack in class net.minecraft.world.entity.Mob
    • hurtServer

      public boolean hurtServer(net.minecraft.server.level.ServerLevel serverLevel, net.minecraft.world.damagesource.DamageSource source, float amount)
      Overrides:
      hurtServer in class net.minecraft.world.entity.LivingEntity
    • getDefaultDimensions

      protected net.minecraft.world.entity.EntityDimensions getDefaultDimensions(net.minecraft.world.entity.Pose pose)
      Overrides:
      getDefaultDimensions in class net.minecraft.world.entity.LivingEntity
    • startPersistentAngerTimer

      public void startPersistentAngerTimer()
      Specified by:
      startPersistentAngerTimer in interface net.minecraft.world.entity.NeutralMob
    • getPersistentAngerEndTime

      public long getPersistentAngerEndTime()
      Specified by:
      getPersistentAngerEndTime in interface net.minecraft.world.entity.NeutralMob
    • setPersistentAngerEndTime

      public void setPersistentAngerEndTime(long time)
      Specified by:
      setPersistentAngerEndTime in interface net.minecraft.world.entity.NeutralMob
    • getPersistentAngerTarget

      @Nullable public @Nullable net.minecraft.world.entity.EntityReference<net.minecraft.world.entity.LivingEntity> getPersistentAngerTarget()
      Specified by:
      getPersistentAngerTarget in interface net.minecraft.world.entity.NeutralMob
    • setPersistentAngerTarget

      public void setPersistentAngerTarget(@Nullable @Nullable net.minecraft.world.entity.EntityReference<net.minecraft.world.entity.LivingEntity> entityReference)
      Specified by:
      setPersistentAngerTarget in interface net.minecraft.world.entity.NeutralMob
    • readAdditionalSaveData

      public void readAdditionalSaveData(net.minecraft.world.level.storage.ValueInput valueInput)
      Overrides:
      readAdditionalSaveData in class net.minecraft.world.entity.Mob
    • addAdditionalSaveData

      public void addAdditionalSaveData(net.minecraft.world.level.storage.ValueOutput valueOutput)
      Overrides:
      addAdditionalSaveData in class net.minecraft.world.entity.Mob
    • playStepSound

      protected void playStepSound(net.minecraft.core.BlockPos pos, net.minecraft.world.level.block.state.BlockState state)
      Overrides:
      playStepSound in class net.minecraft.world.entity.Entity
    • getAmbientSound

      protected net.minecraft.sounds.SoundEvent getAmbientSound()
      Overrides:
      getAmbientSound in class net.minecraft.world.entity.Mob
    • getAmbientSoundInterval

      public int getAmbientSoundInterval()
      Overrides:
      getAmbientSoundInterval in class net.minecraft.world.entity.Mob
    • getHurtSound

      protected net.minecraft.sounds.SoundEvent getHurtSound(net.minecraft.world.damagesource.DamageSource damageSourceIn)
      Overrides:
      getHurtSound in class net.minecraft.world.entity.LivingEntity
    • getDeathSound

      protected net.minecraft.sounds.SoundEvent getDeathSound()
      Overrides:
      getDeathSound in class net.minecraft.world.entity.LivingEntity
    • canBeLeashed

      public boolean canBeLeashed()
      Specified by:
      canBeLeashed in interface net.minecraft.world.entity.Leashable
      Overrides:
      canBeLeashed in class net.minecraft.world.entity.Mob
    • prepareForCombat

      protected abstract void prepareForCombat()
    • getPeaceAccessory

      protected abstract net.minecraft.world.item.Item getPeaceAccessory()
    • getAggroAccessory

      protected abstract net.minecraft.world.item.Item getAggroAccessory()
    • canTargetEntityWhenHurt

      protected boolean canTargetEntityWhenHurt(net.minecraft.world.entity.LivingEntity entity)
    • canTargetPlayer

      protected abstract boolean canTargetPlayer(net.minecraft.world.entity.LivingEntity entity)