Class AbstractHorse
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
net.minecraft.world.entity.AgeableMob
net.minecraft.world.entity.animal.Animal
net.minecraft.world.entity.animal.horse.AbstractHorse
- All Implemented Interfaces:
CommandSource,SyncedDataHolder,ContainerListener,Attackable,EquipmentUser,HasCustomInventoryScreen,Leashable,OwnableEntity,PlayerRideable,PlayerRideableJumping,Saddleable,Targeting,EntityAccess,Nameable,ScoreHolder,IAttachmentHolder,IEntityExtension,ILivingEntityExtension,INBTSerializable<CompoundTag>
- Direct Known Subclasses:
AbstractChestedHorse,Camel,Horse,SkeletonHorse,ZombieHorse
public abstract class AbstractHorse
extends Animal
implements ContainerListener, HasCustomInventoryScreen, OwnableEntity, PlayerRideableJumping, Saddleable
-
Nested Class Summary
Nested classes/interfaces inherited from class net.minecraft.world.entity.AgeableMob
AgeableMob.AgeableMobGroupDataNested classes/interfaces inherited from class net.minecraft.world.entity.LivingEntity
LivingEntity.FallsoundsNested classes/interfaces inherited from class net.minecraft.world.entity.Entity
Entity.MoveFunction, Entity.MovementEmission, Entity.RemovalReasonNested classes/interfaces inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
AttachmentHolder.AsFieldNested classes/interfaces inherited from interface net.minecraft.world.entity.Leashable
Leashable.LeashData -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected booleanprivate static final floatprivate final Containerstatic final doubleprotected booleanstatic final intprivate static final EntityDataAccessor<Byte> private floatprivate floatprivate intstatic final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprivate static final intprotected intUsed to determine the sound that the horse should make when it stepsstatic final intstatic final intprotected SimpleContainerstatic final intprotected booleanprivate static final floatprivate static final floatprivate static final floatprivate static final floatprivate static final floatprivate static final floatprivate static final TargetingConditionsprivate floatprivate floatprivate intprivate UUIDprivate static final Predicate<LivingEntity> protected floatprivate static final floatintprivate floatprivate floatprivate intintprotected intThe higher this value, the more likely the horse is to be tamed next time a player rides it.Fields inherited from class net.minecraft.world.entity.animal.Animal
PARENT_AGE_AFTER_BREEDINGFields inherited from class net.minecraft.world.entity.AgeableMob
age, BABY_START_AGE, forcedAge, forcedAgeTimerFields inherited from class net.minecraft.world.entity.PathfinderMob
DEFAULT_WALK_TARGET_VALUEFields inherited from class net.minecraft.world.entity.Mob
ambientSoundTime, armorDropChances, bodyArmorDropChance, DEFAULT_EQUIPMENT_DROP_CHANCE, goalSelector, handDropChances, jumpControl, lookControl, MAX_ENCHANTED_ARMOR_CHANCE, MAX_ENCHANTED_WEAPON_CHANCE, MAX_PICKUP_LOOT_CHANCE, MAX_WEARING_ARMOR_CHANCE, moveControl, navigation, PICKUP_REACH, PRESERVE_ITEM_DROP_CHANCE, PRESERVE_ITEM_DROP_CHANCE_THRESHOLD, RANDOM_SPAWN_BONUS_ID, targetSelector, UPDATE_GOAL_SELECTOR_EVERY_N_TICKS, xpRewardFields inherited from class net.minecraft.world.entity.LivingEntity
animStep, animStepO, appliedScale, ARMOR_SLOT_OFFSET, ARMOR_SLOTS, attackAnim, attackStrengthTicker, ATTRIBUTES_FIELD, autoSpinAttackDmg, autoSpinAttackItemStack, autoSpinAttackTicks, BASE_JUMP_POWER, BODY_ARMOR_OFFSET, brain, damageContainers, DATA_LIVING_ENTITY_FLAGS, dead, DEATH_DURATION, deathScore, deathTime, DEFAULT_BABY_SCALE, DEFAULT_BASE_GRAVITY, EXTRA_RENDER_CULLING_SIZE_WITH_BIG_HAT, fallFlyTicks, HAND_SLOTS, hurtDuration, hurtTime, invulnerableDuration, jumping, lastHurt, lastHurtByPlayer, lastHurtByPlayerTime, lerpHeadSteps, lerpSteps, lerpX, lerpXRot, lerpY, lerpYHeadRot, lerpYRot, lerpZ, LIVING_ENTITY_FLAG_IS_USING, LIVING_ENTITY_FLAG_OFF_HAND, LIVING_ENTITY_FLAG_SPIN_ATTACK, MIN_MOVEMENT_DISTANCE, noActionTime, oAttackAnim, oRun, PLAYER_HURT_EXPERIENCE_TIME, removeArrowTime, removeStingerTime, rotA, rotOffs, run, SLEEPING_DIMENSIONS, SWING_DURATION, swinging, swingingArm, swingTime, timeOffs, USE_ITEM_INTERVAL, useItem, useItemRemaining, walkAnimation, xxa, yBodyRot, yBodyRotO, yHeadRot, yHeadRotO, yya, zzaFields 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, fluidHeight, flyDist, forgeFluidTypeHeight, FREEZE_HURT_FREQUENCY, hasImpulse, horizontalCollision, hurtMarked, ID_TAG, invulnerableTime, isInPowderSnow, mainSupportingBlockPos, MAX_ENTITY_TAG_COUNT, minorHorizontalCollision, moveDist, noCulling, noPhysics, PASSENGERS_TAG, portalProcess, 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 class net.neoforged.neoforge.attachment.AttachmentHolder
ATTACHMENTS_NBT_KEYFields inherited from interface net.minecraft.commands.CommandSource
NULLFields inherited from interface net.minecraft.world.entity.Leashable
LEASH_ELASTIC_DIST, LEASH_TAG, LEASH_TOO_FAR_DISTFields inherited from interface net.minecraft.world.scores.ScoreHolder
WILDCARD, WILDCARD_NAME -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractHorse(EntityType<? extends AbstractHorse> entityType, Level level) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddAdditionalSaveData(CompoundTag compound) protected voidvoidaiStep()booleanbooleancanJump()booleanReturnstrueif the mob is currently able to mate with the specified mob.protected booleanprotected booleanbooleancauseFallDamage(float fallDistance, float multiplier, DamageSource source) voidcontainerChanged(Container invBasic) Called byInventoryBasic.onInventoryChanged()on an array that is never filled.static AttributeSupplier.Builderprotected void(package private) static doublecreateOffspringAttribute(double value1, double value2, double min, double max, RandomSource random) protected voidprotected voiddoPlayerRide(Player player) protected voidprivate voideating()voidequipBodyArmor(Player player, ItemStack stack) voidequipSaddle(ItemStack stack, SoundSource soundSource) protected voidexecuteRidersJump(float playerJumpPendingScale, Vec3 travelVector) finalizeSpawn(ServerLevelAccessor level, DifficultyInstance difficulty, MobSpawnType spawnType, SpawnGroupData spawnGroupData) protected voidprotected static doublegenerateJumpStrength(DoubleSupplier supplier) protected static floatgenerateMaxHealth(IntUnaryOperator operator) protected static doublegenerateSpeed(DoubleSupplier supplier) intintprotected SoundEventfinal ContainergetBreedOffspring(ServerLevel level, AgeableMob otherParent) getDismountLocationForPassenger(LivingEntity livingEntity) private Vec3getDismountLocationInDirection(Vec3 direction, LivingEntity passenger) floatgetEatAnim(float partialTick) protected SoundEventprotected booleangetFlag(int flagId) intfinal intstatic intgetInventorySize(int columns) intintfloatgetMouthAnim(float partialTick) protected Vec3getPassengerAttachmentPoint(Entity entity, EntityDimensions dimensions, float partialTick) protected Vec3getRiddenInput(Player player, Vec3 travelVector) protected Vec2getRiddenRotation(LivingEntity entity) protected floatgetRiddenSpeed(Player player) getSlot(int slot) protected floatfloatgetStandAnim(float partialTick) intprotected booleanhandleEating(Player player, ItemStack stack) voidhandleEntityEvent(byte id) Handler forinvalid reference
World#setEntityStatebooleanhandleLeashAtDistance(Entity leashHolder, float distance) voidhandleStartJump(int jumpPower) voidbooleanhasInventoryChanged(Container inventory) booleanhurt(DamageSource source, float amount) Called when the entity is attacked.booleanisBred()booleanisEating()booleanChecks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on the animal type)booleanbooleanbooleanbooleanbooleanbooleanbooleanisTamed()private booleanisWoodSoundType(SoundType soundType) voidmakeMad()mobInteract(Player player, InteractionHand hand) intmodifyTemper(int addedTemper) private voidmoveTail()booleanvoidonPlayerJump(int jumpPower) voidopenCustomInventoryScreen(Player player) private voidprotected voidplayGallopSound(SoundType soundType) protected voidprotected voidplayStepSound(BlockPos pos, BlockState block) protected voidpositionRider(Entity passenger, Entity.MoveFunction callback) protected voidrandomizeAttributes(RandomSource random) voidreadAdditionalSaveData(CompoundTag compound) (abstract) Protected helper method to read subclass entity data from NBT.protected voidvoidsetBred(boolean breeding) voidsetEating(boolean eating) protected voidsetFlag(int flagId, boolean value) voidsetIsJumping(boolean jumping) private voidsetOffspringAttribute(AgeableMob parent, AbstractHorse child, Holder<Attribute> attribute, double min, double max) protected voidsetOffspringAttributes(AgeableMob parent, AbstractHorse child) voidsetOwnerUUID(UUID uuid) voidsetStanding(boolean standing) voidsetTamed(boolean tamed) voidsetTemper(int temper) protected voidspawnTamingParticles(boolean tamed) Spawns particles for the horse entity.voidprotected voidbooleantameWithName(Player player) voidtick()protected voidtickRidden(Player player, Vec3 travelVector) Methods inherited from class net.minecraft.world.entity.animal.Animal
actuallyHurt, canFallInLove, checkAnimalSpawnRules, customServerAiStep, finalizeSpawnChildFromBreeding, getBaseExperienceReward, getInLoveTime, getLoveCause, getWalkTargetValue, isBrightEnoughToSpawn, isInLove, removeWhenFarAway, resetLove, setInLove, setInLoveTime, spawnChildFromBreeding, usePlayerItemMethods inherited from class net.minecraft.world.entity.AgeableMob
ageBoundaryReached, ageUp, ageUp, canBreed, getAge, getSpeedUpSecondsWhenFeeding, isBaby, onSyncedDataUpdated, setAge, setBabyMethods inherited from class net.minecraft.world.entity.PathfinderMob
checkSpawnRules, closeRangeLeashBehaviour, followLeashSpeed, getWalkTargetValue, isPanicking, isPathFinding, shouldStayCloseToLeashHolderMethods inherited from class net.minecraft.world.entity.Mob
ate, baseTick, canAttackType, canBeLeashed, canFireProjectileWeapon, canHoldItem, canPickUpLoot, canReplaceCurrentItem, canReplaceEqualItem, canTakeItem, canUseSlot, checkDespawn, checkMobSpawnRules, checkSpawnObstruction, clampHeadRotationToBody, clearRestriction, convertTo, createBodyControl, createMobAttributes, createNavigation, doHurtTarget, dropCustomDeathLoot, dropFromLootTable, dropLeash, dropPreservedEquipment, dropPreservedEquipment, enchantSpawnedArmor, enchantSpawnedWeapon, equip, equip, equipItemIfPossible, getAmbientSound, getArmorAndBodyArmorSlots, getArmorSlots, getAttackBoundingBox, getBodyArmorItem, getDefaultLootTable, getEquipmentDropChance, getEquipmentForSlot, getHandSlots, getHeadRotSpeed, getItemBySlot, getJumpControl, getLeashData, getLookControl, getLootTable, getLootTableSeed, getMainArm, getMaxFallDistance, getMaxHeadXRot, getMaxHeadYRot, getMoveControl, getNavigation, getPathfindingMalus, getPickResult, getPickupReach, getRestrictCenter, getRestrictRadius, getSensing, getSpawnType, getTarget, getTargetFromBrain, hasRestriction, interact, isAggressive, isBodyArmorItem, isEffectiveAi, isLeftHanded, isMaxGroupSizeReached, isNoAi, isPersistenceRequired, isSpawnCancelled, isSunBurnTick, isWearingBodyArmor, isWithinMeleeAttackRange, isWithinRestriction, isWithinRestriction, jumpInFluid, jumpInLiquid, leashTooFarBehaviour, lookAt, onOffspringSpawnedFromEgg, onPathfindingDone, onPathfindingStart, pickUpItem, playAmbientSound, playAttackSound, playHurtSound, populateDefaultEquipmentEnchantments, populateDefaultEquipmentSlots, removeAfterChangingDimensions, removeAllGoals, removeFreeWill, requiresCustomPersistence, restrictTo, sendDebugPackets, serverAiStep, setAggressive, setBodyArmorItem, setCanPickUpLoot, setDropChance, setGuaranteedDrop, setItemSlot, setItemSlotAndDropWhenKilled, setLeashData, setLeftHanded, setNoAi, setPathfindingMalus, setPersistenceRequired, setSpawnCancelled, setSpeed, setTarget, setXxa, setYya, setZza, shouldDespawnInPeaceful, shouldPassengersInheritMalus, spawnAnim, startRiding, stopInPlace, tickHeadTurn, updateControlFlags, wantsToPickUpMethods inherited from class net.minecraft.world.entity.LivingEntity
activeLocationDependentEnchantments, addEffect, addEffect, animateHurt, areAllEffectsAmbient, attackable, blockedByShield, blockUsingShield, brainProvider, calculateEntityAnimation, calculateFallDamage, canAttack, canAttack, canBeAffected, canBeSeenAsEnemy, canBeSeenByAnyone, canBreatheUnderwater, canDisableShield, canFreeze, canStandOnFluid, canUsePortal, checkAutoSpinAttack, checkFallDamage, clearSleepingPos, completeUsingItem, createLivingAttributes, createWitherRose, decreaseAirSupply, die, doAutoAttackOnTouch, doesEmitEquipEvent, doHurtEquipment, doPush, dropAllDeathLoot, dropExperience, eat, eat, equipmentHasChanged, forceAddEffect, getAbsorptionAmount, getActiveEffects, getActiveEffectsMap, getAgeScale, getAllSlots, getArmorCoverPercentage, getArmorValue, getArrowCount, getAttackAnim, getAttribute, getAttributeBaseValue, getAttributes, getAttributeValue, getBedOrientation, getBlockSpeedFactor, getBoundingBoxForCulling, getBrain, getCombatTracker, getComfortableFallDistance, getCurrentSwingDuration, getDamageAfterArmorAbsorb, getDamageAfterMagicAbsorb, getDeathSound, getDefaultDimensions, getDefaultGravity, getDimensions, getDismountPoses, getDrinkingSound, getEatingSound, getEffect, getEquipmentSlotForItem, getExperienceReward, getFallFlyingTicks, getFallSounds, getFluidFallingAdjustedMovement, getFlyingSpeed, getHealth, getHitbox, getHurtDir, getHurtSound, getItemInHand, getJumpBoostPower, getJumpPower, getJumpPower, getKillCredit, getKnockback, getLastAttacker, getLastClimbablePos, getLastDamageSource, getLastHurtByMob, getLastHurtByMobTimestamp, getLastHurtMob, getLastHurtMobTimestamp, getLocalBoundsForPose, getMainHandItem, getMaxAbsorption, getMaxHeadRotationRelativeToBody, getMaxHealth, getNoActionTime, getOffhandItem, getPassengerRidingPosition, getPreciseBodyRotation, getProjectile, getRelativePortalPosition, getScale, getSleepingPos, getSlotForHand, getSpeed, getStingerCount, getSwimAmount, getTicksUsingItem, getUsedItemHand, getUseItem, getUseItemRemainingTicks, getViewYRot, getVisibilityPercent, getVisualRotationYInDegrees, getVoicePitch, getWaterSlowDown, getWeaponItem, getYHeadRot, goDownInWater, handleDamageEvent, handleRelativeFrictionAndCalculateMovement, hasEffect, hasInfiniteMaterials, hasItemInSlot, hasLandedInLiquid, hasLineOfSight, heal, hurtArmor, hurtCurrentlyUsedShield, hurtHelmet, igniteForTicks, increaseAirSupply, indicateDamage, internalSetAbsorptionAmount, isAffectedByFluids, isAffectedByPotions, isAlive, isAlwaysExperienceDropper, isAutoSpinAttack, isBlocking, isCurrentlyGlowing, isDamageSourceBlocked, isDeadOrDying, isFallFlying, isHolding, isHolding, isInvertedHealAndHarm, isInvulnerableTo, isInWall, isPickable, isSensitiveToWater, isSleeping, isSuppressingSlidingDownLadder, isUsingItem, isVisuallySwimming, jumpFromGround, kill, knockback, lerpHeadRotationStep, lerpHeadTo, lerpTargetX, lerpTargetXRot, lerpTargetY, lerpTargetYRot, lerpTargetZ, lerpTo, lookAt, makeBrain, makeSound, maxUpStep, onBelowWorld, onChangedBlock, onEffectAdded, onEffectRemoved, onEffectUpdated, onEnterCombat, onEquipItem, onEquippedItemBroken, onItemPickup, onLeaveCombat, playBlockFallSound, push, pushEntities, randomTeleport, recreateFromPacket, releaseUsingItem, remove, removeAllEffects, removeEffect, removeEffectNoUpdate, removeEffectParticles, removeEffectsCuredBy, removeFrost, resetForwardDirectionOfRelativePortalPosition, rideTick, sanitizeScale, sendEffectToPassengers, setAbsorptionAmount, setArrowCount, setDiscardFriction, setHealth, setItemInHand, setJumping, setLastHurtByMob, setLastHurtByPlayer, setLastHurtMob, setLivingEntityFlag, setNoActionTime, setRecordPlayingNearby, setSleepingPos, setSprinting, setStingerCount, setYBodyRot, setYHeadRot, shouldDiscardFriction, shouldDropExperience, shouldDropLoot, shouldRiderFaceForward, shouldShowName, skipDropExperience, startSleeping, startUsingItem, stopRiding, stopSleeping, stopUsingItem, swing, swing, take, tickDeath, tickEffects, travel, triggerItemUseEffects, triggerOnDeathMobEffects, tryAddFrost, updateEffectVisibility, updateInvisibilityStatus, updateSwingTime, updateUsingItem, updateWalkAnimation, verifyEquippedItem, wasExperienceConsumed, wouldNotSuffocateAtTargetPoseMethods inherited from class net.minecraft.world.entity.Entity
absMoveTo, absMoveTo, absRotateTo, acceptsFailure, acceptsSuccess, addDeltaMovement, addPassenger, addTag, adjustSpawnLocation, applyGravity, awardKillScore, blockPosition, broadcastToPlayer, calculateUpVector, calculateViewVector, canAddPassenger, canBeCollidedWith, canBeHitByProjectile, canChangeDimensions, canCollideWith, canControlVehicle, canRide, canSpawnSprintParticle, canSprint, canTrample, captureDrops, captureDrops, changeDimension, checkBelowWorld, checkInsideBlocks, checkSlowFallDistance, checkSupportingBlock, chunkPosition, clearFire, closerThan, closerThan, collideBoundingBox, copyPosition, couldAcceptPassenger, countPlayerPassengers, createCommandSourceStack, createHoverEvent, damageSources, dampensVibrations, deflection, discard, dismountsUnderwater, dismountTo, displayFireAnimation, distanceTo, distanceToSqr, distanceToSqr, distanceToSqr, doWaterSplashEffect, ejectPassengers, equals, extinguishFire, fillCrashReportCategory, fireImmune, fixupDimensions, fudgePositionAfterSizeChange, gameEvent, gameEvent, getAddEntityPacket, getAirSupply, getAttachments, getBbHeight, getBbWidth, getBlockExplosionResistance, getBlockJumpFactor, getBlockPosBelowThatAffectsMyMovement, getBlockStateOn, getBlockStateOnLegacy, getBlockX, getBlockY, getBlockZ, getBoundingBox, getCapability, getCapability, getCollisionHorizontalEscapeVector, getCommandSenderWorld, getControlledVehicle, getCustomName, getDefaultPassengerAttachmentPoint, getDeltaMovement, getDimensionChangingDelay, getDirection, getDisplayName, getEncodeId, getEntityData, getEyeHeight, getEyeHeight, getEyeInFluidType, getEyePosition, getEyePosition, getEyeY, getFireImmuneTicks, getFirstPassenger, getFluidHeight, getFluidJumpThreshold, getFluidTypeHeight, getForward, getGravity, getHandHoldingItemAngle, getId, getInBlockState, getIndirectPassengers, getKnownMovement, getLeashOffset, getLeashOffset, getLightLevelDependentMagicValue, getLightProbePosition, getLookAngle, getMaxAirSupply, getMaxHeightFluidType, getMotionDirection, getMovementEmission, getName, getNearestViewDirection, getOnPos, getOnPos, getOnPosLegacy, getPassengers, getPassengersAndSelf, getPercentFrozen, getPermissionLevel, getPersistentData, getPickRadius, getPistonPushReaction, getPortalCooldown, getPose, getPosition, getPositionCodec, getPrimaryStepSoundBlockPos, getRandom, getRandomX, getRandomY, getRandomZ, getRemainingFireTicks, getRemovalReason, getRootVehicle, getRopeHoldPosition, getRotationVector, getScoreboardName, getSelfAndPassengers, getServer, getSharedFlag, getSoundSource, getStringUUID, getSwimHighSpeedSplashSound, getSwimSound, getSwimSplashSound, getTags, getTeam, getTeamColor, getTicksFrozen, getTicksRequiredToFreeze, getType, getTypeName, getUpVector, getUUID, getVehicle, getVehicleAttachmentPoint, getViewScale, getViewVector, getViewXRot, getX, getX, getXRot, getY, getY, getYRot, getZ, getZ, handlePortal, hasControllingPassenger, hasCustomName, hasExactlyOnePlayerPassenger, hasGlowingTag, hashCode, hasIndirectPassenger, hasPassenger, hasPassenger, hasPermissions, hasPose, igniteForSeconds, ignoreExplosion, interactAt, is, isAddedToLevel, isAlliedTo, isAlliedTo, isAlwaysTicking, isAttackable, isColliding, isControlledByLocalInstance, isCrouching, isCustomNameVisible, isDescending, isDiscrete, isEyeInFluid, isFlapping, isFree, isFreezing, isFullyFrozen, isHorizontalCollisionMinor, isIgnoringBlockTriggers, isInFluidType, isInFluidType, isInLava, isInLiquid, isInvisible, isInvisibleTo, isInvulnerable, isInWater, isInWaterOrBubble, isInWaterOrRain, isInWaterRainOrBubble, isNoGravity, isOnFire, isOnPortalCooldown, isOnRails, isPassenger, isPassengerOfSameVehicle, isPushedByFluid, isRemoved, isShiftKeyDown, isSilent, isSpectator, isSprinting, isSteppingCarefully, isSupportedBy, isSuppressingBounce, isSwimming, isUnderWater, isVehicle, isVisuallyCrawling, killedEntity, lavaHurt, lerpMotion, lerpPositionAndRotationStep, level, limitPistonMovement, load, makeBoundingBox, makeStuckInBlock, markHurt, maybeBackOffFromEdge, mayInteract, mirror, move, moveRelative, moveTo, moveTo, moveTo, moveTo, moveTo, moveTowardsClosestSpace, newDoubleList, newFloatList, nextStep, onAboveBubbleCol, onAddedToLevel, onClientRemoval, onExplosionHit, onFlap, onGround, onInsideBlock, onInsideBubbleColumn, onlyOpCanSetNbt, onPassengerTurned, onRemovedFromLevel, onSyncedDataUpdated, pick, placePortalTicket, playCombinationStepSounds, playEntityOnFireExtinguishedSound, playerTouch, playMuffledStepSound, playSound, playSound, playSwimSound, position, positionRider, processFlappingMovement, processPortalCooldown, push, push, reapplyPosition, refreshDimensions, registryAccess, removePassenger, removeTag, removeVehicle, repositionEntityAfterLoad, resetFallDistance, restoreFrom, revive, rotate, save, saveAsPassenger, saveWithoutId, sendSystemMessage, setAirSupply, setAsInsidePortal, setBoundingBox, setCustomName, setCustomNameVisible, setData, setDeltaMovement, setDeltaMovement, setFluidTypeHeight, setGlowingTag, setId, setInvisible, setInvulnerable, setIsInPowderSnow, setLevel, setLevelCallback, setNoGravity, setOldPosAndRot, setOnGround, setOnGroundWithMovement, setPortalCooldown, setPortalCooldown, setPos, setPos, setPose, setPosRaw, setRemainingFireTicks, setRemoved, setRot, setSharedFlag, setSharedFlagOnFire, setShiftKeyDown, setSilent, setSwimming, setTicksFrozen, setUUID, setViewScale, setXRot, setYRot, shouldBeSaved, shouldBlockExplode, shouldInformAdmins, shouldRender, shouldRenderAtSqrDistance, showVehicleHealth, skipAttackInteraction, spawnAtLocation, spawnAtLocation, spawnAtLocation, spawnAtLocation, spawnSprintParticle, startRiding, startSeenByPlayer, stopSeenByPlayer, syncPacketPositionCodec, teleportRelative, teleportTo, teleportTo, thunderHit, toString, touchingUnloadedChunk, trackingPosition, tryCheckInsideBlocks, turn, unRide, unsetRemoved, updateDynamicGameEventListener, updateFluidHeightAndDoFluidPushing, updateFluidHeightAndDoFluidPushing, updateInWaterStateAndDoFluidPushing, updateSwimming, waterSwimSoundMethods inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
deserializeAttachments, getData, getExistingDataOrNull, hasAttachments, hasData, removeData, serializeAttachmentsMethods 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.minecraft.world.entity.EquipmentUser
equip, equip, equip, resolveSlotMethods inherited from interface net.neoforged.neoforge.attachment.IAttachmentHolder
getData, getExistingData, getExistingData, getExistingDataOrNull, hasData, removeData, setDataMethods inherited from interface net.neoforged.neoforge.common.extensions.IEntityExtension
canBeRiddenUnderFluidType, canFluidExtinguish, canHydrateInFluidType, canRiderInteract, canStartSwimming, canTrample, captureDrops, captureDrops, copyAttachmentsFrom, deserializeNBT, getClassification, getEyeInFluidType, getFluidFallDistanceModifier, getFluidMotionScale, getFluidTypeHeight, getMaxHeightFluidType, getParts, getPersistentData, getPickedResult, getSoundFromFluidType, hasCustomOutlineRendering, isAddedToLevel, isEyeInFluidType, isInFluidType, isInFluidType, isInFluidType, isInFluidType, isInFluidType, isMultipartEntity, isPushedByFluid, onAddedToLevel, onRemovedFromLevel, revive, sendPairingData, serializeNBT, shouldRiderSitMethods inherited from interface net.neoforged.neoforge.common.extensions.ILivingEntityExtension
canDrownInFluidType, canSwimInFluidType, moveInFluid, onDamageTaken, self, sinkInFluidMethods inherited from interface net.minecraft.world.entity.Leashable
canHaveALeashAttachedToIt, elasticRangeLeashBehaviour, getLeashHolder, isLeashed, mayBeLeashed, readLeashData, setDelayedLeashHolderId, setLeashedTo, writeLeashDataMethods inherited from interface net.minecraft.world.entity.OwnableEntity
getOwner, levelMethods inherited from interface net.minecraft.world.entity.PlayerRideableJumping
getJumpCooldownMethods inherited from interface net.minecraft.world.entity.Saddleable
getSaddleSoundEventMethods inherited from interface net.minecraft.world.scores.ScoreHolder
getFeedbackDisplayName
-
Field Details
-
EQUIPMENT_SLOT_OFFSET
public static final int EQUIPMENT_SLOT_OFFSET- See Also:
-
CHEST_SLOT_OFFSET
public static final int CHEST_SLOT_OFFSET- See Also:
-
INVENTORY_SLOT_OFFSET
public static final int INVENTORY_SLOT_OFFSET- See Also:
-
BREEDING_CROSS_FACTOR
public static final double BREEDING_CROSS_FACTOR- See Also:
-
MIN_MOVEMENT_SPEED
private static final float MIN_MOVEMENT_SPEED -
MAX_MOVEMENT_SPEED
private static final float MAX_MOVEMENT_SPEED -
MIN_JUMP_STRENGTH
private static final float MIN_JUMP_STRENGTH -
MAX_JUMP_STRENGTH
private static final float MAX_JUMP_STRENGTH -
MIN_HEALTH
private static final float MIN_HEALTH -
MAX_HEALTH
private static final float MAX_HEALTH -
BACKWARDS_MOVE_SPEED_FACTOR
private static final float BACKWARDS_MOVE_SPEED_FACTOR- See Also:
-
SIDEWAYS_MOVE_SPEED_FACTOR
private static final float SIDEWAYS_MOVE_SPEED_FACTOR- See Also:
-
PARENT_HORSE_SELECTOR
-
MOMMY_TARGETING
-
DATA_ID_FLAGS
-
FLAG_TAME
private static final int FLAG_TAME- See Also:
-
FLAG_SADDLE
private static final int FLAG_SADDLE- See Also:
-
FLAG_BRED
private static final int FLAG_BRED- See Also:
-
FLAG_EATING
private static final int FLAG_EATING- See Also:
-
FLAG_STANDING
private static final int FLAG_STANDING- See Also:
-
FLAG_OPEN_MOUTH
private static final int FLAG_OPEN_MOUTH- See Also:
-
INV_SLOT_SADDLE
public static final int INV_SLOT_SADDLE- See Also:
-
INV_BASE_COUNT
public static final int INV_BASE_COUNT- See Also:
-
eatingCounter
private int eatingCounter -
mouthCounter
private int mouthCounter -
standCounter
private int standCounter -
tailCounter
public int tailCounter -
sprintCounter
public int sprintCounter -
isJumping
protected boolean isJumping -
inventory
-
temper
protected int temperThe higher this value, the more likely the horse is to be tamed next time a player rides it. -
playerJumpPendingScale
protected float playerJumpPendingScale -
allowStandSliding
protected boolean allowStandSliding -
eatAnim
private float eatAnim -
eatAnimO
private float eatAnimO -
standAnim
private float standAnim -
standAnimO
private float standAnimO -
mouthAnim
private float mouthAnim -
mouthAnimO
private float mouthAnimO -
canGallop
protected boolean canGallop -
gallopSoundCounter
protected int gallopSoundCounterUsed to determine the sound that the horse should make when it steps -
owner
-
bodyArmorAccess
-
-
Constructor Details
-
AbstractHorse
-
-
Method Details
-
registerGoals
protected void registerGoals()- Overrides:
registerGoalsin classMob
-
addBehaviourGoals
protected void addBehaviourGoals() -
defineSynchedData
- Overrides:
defineSynchedDatain classAgeableMob
-
getFlag
protected boolean getFlag(int flagId) -
setFlag
protected void setFlag(int flagId, boolean value) -
isTamed
public boolean isTamed() -
getOwnerUUID
- Specified by:
getOwnerUUIDin interfaceOwnableEntity
-
setOwnerUUID
-
isJumping
public boolean isJumping() -
setTamed
public void setTamed(boolean tamed) -
setIsJumping
public void setIsJumping(boolean jumping) -
handleLeashAtDistance
- Specified by:
handleLeashAtDistancein interfaceLeashable- Overrides:
handleLeashAtDistancein classPathfinderMob
-
isEating
public boolean isEating() -
isStanding
public boolean isStanding() -
isBred
public boolean isBred() -
setBred
public void setBred(boolean breeding) -
isSaddleable
public boolean isSaddleable()- Specified by:
isSaddleablein interfaceSaddleable
-
equipSaddle
- Specified by:
equipSaddlein interfaceSaddleable
-
equipBodyArmor
-
isSaddled
public boolean isSaddled()- Specified by:
isSaddledin interfaceSaddleable
-
getTemper
public int getTemper() -
setTemper
public void setTemper(int temper) -
modifyTemper
public int modifyTemper(int addedTemper) -
isPushable
public boolean isPushable()- Overrides:
isPushablein classLivingEntity
-
eating
private void eating() -
causeFallDamage
- Overrides:
causeFallDamagein classLivingEntity
-
getInventorySize
public final int getInventorySize() -
getInventorySize
public static int getInventorySize(int columns) -
createInventory
protected void createInventory() -
syncSaddleToClients
protected void syncSaddleToClients() -
containerChanged
Called byInventoryBasic.onInventoryChanged()on an array that is never filled.- Specified by:
containerChangedin interfaceContainerListener
-
hurt
Called when the entity is attacked.- Overrides:
hurtin classLivingEntity
-
canPerformRearing
protected boolean canPerformRearing() -
getEatingSound
-
getAngrySound
-
playStepSound
- Overrides:
playStepSoundin classEntity
-
isWoodSoundType
-
playGallopSound
-
createBaseHorseAttributes
-
getMaxSpawnClusterSize
public int getMaxSpawnClusterSize()- Overrides:
getMaxSpawnClusterSizein classMob
-
getMaxTemper
public int getMaxTemper() -
getSoundVolume
protected float getSoundVolume()- Overrides:
getSoundVolumein classLivingEntity
-
getAmbientSoundInterval
public int getAmbientSoundInterval()- Overrides:
getAmbientSoundIntervalin classAnimal
-
openCustomInventoryScreen
- Specified by:
openCustomInventoryScreenin interfaceHasCustomInventoryScreen
-
fedFood
-
handleEating
-
doPlayerRide
-
isImmobile
public boolean isImmobile()- Overrides:
isImmobilein classLivingEntity
-
isFood
Checks if the parameter is an item which this animal can be fed to breed it (wheat, carrots or seeds depending on the animal type) -
moveTail
private void moveTail() -
dropEquipment
protected void dropEquipment()- Overrides:
dropEquipmentin classLivingEntity
-
aiStep
public void aiStep() -
followMommy
protected void followMommy() -
canEatGrass
public boolean canEatGrass() -
tick
public void tick() -
mobInteract
- Overrides:
mobInteractin classAnimal
-
openMouth
private void openMouth() -
setEating
public void setEating(boolean eating) -
setStanding
public void setStanding(boolean standing) -
getAmbientStandSound
-
standIfPossible
public void standIfPossible() -
makeMad
public void makeMad() -
tameWithName
-
tickRidden
- Overrides:
tickRiddenin classLivingEntity
-
getRiddenRotation
-
getRiddenInput
- Overrides:
getRiddenInputin classLivingEntity
-
getRiddenSpeed
- Overrides:
getRiddenSpeedin classLivingEntity
-
executeRidersJump
-
playJumpSound
protected void playJumpSound() -
addAdditionalSaveData
- Overrides:
addAdditionalSaveDatain classAnimal
-
readAdditionalSaveData
(abstract) Protected helper method to read subclass entity data from NBT.- Overrides:
readAdditionalSaveDatain classAnimal
-
canMate
Returnstrueif the mob is currently able to mate with the specified mob. -
canParent
protected boolean canParent() -
getBreedOffspring
- Specified by:
getBreedOffspringin classAgeableMob
-
setOffspringAttributes
-
setOffspringAttribute
private void setOffspringAttribute(AgeableMob parent, AbstractHorse child, Holder<Attribute> attribute, double min, double max) -
createOffspringAttribute
static double createOffspringAttribute(double value1, double value2, double min, double max, RandomSource random) -
getEatAnim
public float getEatAnim(float partialTick) -
getStandAnim
public float getStandAnim(float partialTick) -
getMouthAnim
public float getMouthAnim(float partialTick) -
onPlayerJump
public void onPlayerJump(int jumpPower) - Specified by:
onPlayerJumpin interfacePlayerRideableJumping
-
canJump
public boolean canJump()- Specified by:
canJumpin interfacePlayerRideableJumping
-
handleStartJump
public void handleStartJump(int jumpPower) - Specified by:
handleStartJumpin interfacePlayerRideableJumping
-
handleStopJump
public void handleStopJump()- Specified by:
handleStopJumpin interfacePlayerRideableJumping
-
spawnTamingParticles
protected void spawnTamingParticles(boolean tamed) Spawns particles for the horse entity.- Parameters:
tamed- whether to spawn hearts or smoke.
-
handleEntityEvent
public void handleEntityEvent(byte id) Handler forinvalid reference
World#setEntityState- Overrides:
handleEntityEventin classAnimal
-
positionRider
- Overrides:
positionRiderin classEntity
-
generateMaxHealth
-
generateJumpStrength
-
generateSpeed
-
onClimbable
public boolean onClimbable()- Overrides:
onClimbablein classLivingEntity
-
getSlot
- Overrides:
getSlotin classLivingEntity
-
getControllingPassenger
- Overrides:
getControllingPassengerin classMob
-
getDismountLocationInDirection
-
getDismountLocationForPassenger
- Overrides:
getDismountLocationForPassengerin classEntity
-
randomizeAttributes
-
finalizeSpawn
@Nullable public SpawnGroupData finalizeSpawn(ServerLevelAccessor level, DifficultyInstance difficulty, MobSpawnType spawnType, @Nullable SpawnGroupData spawnGroupData) - Overrides:
finalizeSpawnin classAgeableMob
-
getInventory
-
hasInventoryChanged
-
getAmbientStandInterval
public int getAmbientStandInterval() -
getPassengerAttachmentPoint
protected Vec3 getPassengerAttachmentPoint(Entity entity, EntityDimensions dimensions, float partialTick) - Overrides:
getPassengerAttachmentPointin classEntity
-
getBodyArmorAccess
-
getInventoryColumns
public int getInventoryColumns()
-