Package net.minecraft.world.entity.npc
Class Villager
- All Implemented Interfaces:
DataComponentGetter,SyncedDataHolder,Attackable,EquipmentUser,Leashable,InventoryCarrier,Npc,VillagerDataHolder,ReputationEventHandler,Targeting,Merchant,EntityAccess,UniquelyIdentifyable,Nameable,ScoreHolder,Waypoint,WaypointTransmitter,IAttachmentHolder,IEntityExtension,ILivingEntityExtension
public class Villager
extends AbstractVillager
implements ReputationEventHandler, VillagerDataHolder
-
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, Leashable.WrenchNested classes/interfaces inherited from interface net.minecraft.world.waypoints.Waypoint
Waypoint.IconNested classes/interfaces inherited from interface net.minecraft.world.waypoints.WaypointTransmitter
WaypointTransmitter.BlockConnection, WaypointTransmitter.ChunkConnection, WaypointTransmitter.Connection, WaypointTransmitter.EntityAzimuthConnection, WaypointTransmitter.EntityBlockConnection, WaypointTransmitter.EntityChunkConnection -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanstatic final intprivate booleanprivate static final EntityDataAccessor<VillagerData> private static final booleanprivate static final byteprivate static final intprivate static final intprivate static final intprivate static final intMapping between valid food items and their respective efficiency values.private intprivate static final intprivate static final intprivate final GossipContainerprivate static final intprivate static final intprivate booleanprivate longprivate longprivate longprivate longprivate Playerprivate static final org.slf4j.Loggerprivate static final intprivate static final ImmutableList<MemoryModuleType<?>> private intstatic final Map<MemoryModuleType<GlobalPos>, BiPredicate<Villager, Holder<PoiType>>> private static final ImmutableList<SensorType<? extends Sensor<? super Villager>>> static final floatprivate static final longprivate static final intprivate intprivate intFields inherited from class net.minecraft.world.entity.npc.AbstractVillager
offers, VILLAGER_SLOT_OFFSETFields inherited from class net.minecraft.world.entity.AgeableMob
age, BABY_START_AGE, DEFAULT_AGE, DEFAULT_FORCED_AGE, forcedAge, forcedAgeTimerFields inherited from class net.minecraft.world.entity.PathfinderMob
DEFAULT_WALK_TARGET_VALUEFields 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, xpRewardFields inherited from class net.minecraft.world.entity.LivingEntity
ARMOR_SLOT_OFFSET, attackAnim, attackStrengthTicker, autoSpinAttackDmg, autoSpinAttackItemStack, autoSpinAttackTicks, BASE_JUMP_POWER, BODY_ARMOR_OFFSET, brain, damageContainers, DATA_LIVING_ENTITY_FLAGS, dead, DEATH_DURATION, deathTime, DEFAULT_BABY_SCALE, DEFAULT_BASE_GRAVITY, elytraAnimationState, equipment, EQUIPMENT_SLOT_OFFSET, EXTRA_RENDER_CULLING_SIZE_WITH_BIG_HAT, fallFlyTicks, hurtDuration, hurtTime, INPUT_FRICTION, interpolation, invulnerableDuration, 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, removeArrowTime, removeStingerTime, SADDLE_OFFSET, SLEEPING_DIMENSIONS, SWING_DURATION, 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, 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, invulnerableTime, isInPowderSnow, mainSupportingBlockPos, MAX_ENTITY_TAG_COUNT, MAX_MOVEMENTS_HANDELED_PER_TICK, minorHorizontalCollision, moveDist, noPhysics, portalProcess, random, stringUUID, stuckSpeedMultiplier, TAG_AIR, 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, zOldFields inherited from class net.neoforged.neoforge.attachment.AttachmentHolder
ATTACHMENTS_NBT_KEYFields inherited from interface net.minecraft.world.entity.npc.InventoryCarrier
TAG_INVENTORYFields 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_ELASTICITYFields inherited from interface net.minecraft.world.scores.ScoreHolder
WILDCARD, WILDCARD_NAMEFields inherited from interface net.minecraft.world.waypoints.Waypoint
MAX_RANGE, WAYPOINT_TRANSMIT_RANGE_HIDE_MODIFIERFields inherited from interface net.minecraft.world.waypoints.WaypointTransmitter
REALLY_FAR_DISTANCE -
Constructor Summary
ConstructorsConstructorDescriptionVillager(EntityType<? extends Villager> pEntityType, Level pLevel) Villager(EntityType<? extends Villager> pEntityType, Level pLevel, Holder<VillagerType> pVillagerType) Villager(EntityType<? extends Villager> pEntityType, Level pLevel, ResourceKey<VillagerType> pVillagerType) -
Method Summary
Modifier and TypeMethodDescriptionprotected voidaddAdditionalSaveData(ValueOutput pOutput) protected voidprivate booleanprotected <T> booleanapplyImplicitComponent(DataComponentType<T> pComponent, T pValue) protected voidapplyImplicitComponents(DataComponentGetter pComponentGetter) booleanprotected Brain.Provider<Villager> booleancanBreed()booleanprivate voidprivate intstatic AttributeSupplier.Builderstatic VillagerDataprotected voidcustomServerAiStep(ServerLevel pLevel) protected voiddefineSynchedData(SynchedEntityData.Builder pBuilder) voiddie(DamageSource pCause) Called when the mob's health reaches 0.private voiddigestFood(int pQty) voidprivate voidfinalizeSpawn(ServerLevelAccessor pLevel, DifficultyInstance pDifficulty, EntitySpawnReason pSpawnReason, SpawnGroupData pSpawnGroupData) <T> Tget(DataComponentType<? extends T> pComponent) protected SoundEventgetBrain()getBreedOffspring(ServerLevel pLevel, AgeableMob pOtherParent) protected SoundEventprotected SoundEventgetHurtSound(DamageSource pDamageSource) intgetPlayerReputation(Player pPlayer) protected Componentintprivate booleangolemSpawnConditionsMet(long pGameTime) voidgossip(ServerLevel pServerLevel, Villager pTarget, long pGameTime) voidhandleEntityEvent(byte pId) Handler forinvalid reference
World#setEntityStatebooleanbooleanprivate booleanhungry()private voidprotected Brain<?> makeBrain(com.mojang.serialization.Dynamic<?> pDynamic) private voidmobInteract(Player pPlayer, InteractionHand pHand) private booleanvoidonReputationEventFrom(ReputationEventType pType, Entity pTarget) protected voidpickUpItem(ServerLevel pLevel, ItemEntity pEntity) voidprotected voidreadAdditionalSaveData(ValueInput pInput) voidrefreshBrain(ServerLevel pServerLevel) private voidregisterBrainGoals(Brain<Villager> pVillagerBrain) private voidvoidreleasePoi(MemoryModuleType<GlobalPos> pModuleType) booleanremoveWhenFarAway(double pDistanceToClosestPlayer) private voidprivate voidprivate voidvoidrestock()protected voidrewardTradeXp(MerchantOffer pOffer) protected voidvoidsetGossips(GossipContainer pGossips) voidsetLastHurtByMob(LivingEntity pLivingBase) Hint to AI tasks that we were attacked by the passed EntityLivingBase and should retaliate.voidsetOffers(MerchantOffers pOffers) voidsetTradingPlayer(Player pPlayer) private voidvoidsetVillagerData(VillagerData pData) voidsetVillagerXp(int pVillagerXp) private booleanbooleanvoidspawnGolemIfNeeded(ServerLevel pServerLevel, long pGameTime, int pMinVillagerAmount) voidstartSleeping(BlockPos pPos) private voidstartTrading(Player pPlayer) voidprotected voidprivate voidtellWitnessesThatIWasMurdered(Entity pMurderer) voidthunderHit(ServerLevel pLevel, LightningBolt pLightning) voidtick()private voidprivate voidupdateSpecialPrices(Player pPlayer) protected voidbooleanbooleanwantsToPickUp(ServerLevel pLevel, ItemStack pStack) booleanwantsToSpawnGolem(long pGameTime) Methods inherited from class net.minecraft.world.entity.npc.AbstractVillager
addOffersFromItemListings, addParticlesAroundSelf, canBeLeashed, getInventory, getNotifyTradeSound, getOffers, getRopeHoldPosition, getSlot, getTradeUpdatedSound, getTradingPlayer, getUnhappyCounter, isClientSide, isTrading, notifyTrade, notifyTradeUpdated, overrideOffers, overrideXp, playCelebrateSound, setUnhappyCounter, showProgressBar, stillValid, teleportMethods inherited from class net.minecraft.world.entity.AgeableMob
ageUp, ageUp, aiStep, getAge, getForcedAge, getForcedAgeTimer, getSpeedUpSecondsWhenFeeding, isBaby, onSyncedDataUpdated, setAge, setBabyMethods inherited from class net.minecraft.world.entity.PathfinderMob
checkSpawnRules, closeRangeLeashBehaviour, followLeashSpeed, getWalkTargetValue, getWalkTargetValue, isPanicking, isPathFinding, shouldStayCloseToLeashHolder, whenLeashedToMethods inherited from class net.minecraft.world.entity.Mob
ate, baseTick, canAttackType, canDispenserEquipIntoSlot, canFireProjectileWeapon, canHoldItem, canPickUpLoot, canReplaceCurrentItem, canReplaceEqualItem, canShearEquipment, checkDespawn, checkMobSpawnRules, checkSpawnObstruction, clampHeadRotationToBody, clearHome, convertTo, convertTo, createBodyControl, createEquipmentSlotContainer, createMobAttributes, createNavigation, doHurtTarget, dropCustomDeathLoot, dropFromLootTable, dropPreservedEquipment, dropPreservedEquipment, enchantSpawnedArmor, enchantSpawnedWeapon, equip, equip, equipItemIfPossible, getAmbientSoundInterval, getAttackBoundingBox, getBaseExperienceReward, getBodyArmorItem, getControllingPassenger, getDropChances, getEquipmentForSlot, getHeadRotSpeed, getHomePosition, getHomeRadius, getJumpControl, getLeashData, getLookControl, getLootTable, getLootTableSeed, getMainArm, getMaxFallDistance, getMaxHeadXRot, getMaxHeadYRot, getMaxSpawnClusterSize, getMoveControl, getNavigation, getPathfindingMalus, getPickResult, getPickupReach, getPreferredWeaponType, getSensing, getSpawnType, getTarget, getTargetFromBrain, hasHome, interact, isAggressive, isEffectiveAi, isLeftHanded, isMaxGroupSizeReached, isNoAi, isPersistenceRequired, isSaddled, isSpawnCancelled, isSunBurnTick, isWearingBodyArmor, isWithinHome, isWithinHome, isWithinHome, isWithinMeleeAttackRange, jumpInFluid, jumpInLiquid, leashTooFarBehaviour, lookAt, onAttributeUpdated, onLeashRemoved, onOffspringSpawnedFromEgg, onPathfindingDone, onPathfindingStart, playAmbientSound, playAttackSound, playHurtSound, populateDefaultEquipmentEnchantments, populateDefaultEquipmentSlots, registerGoals, removeAfterChangingDimensions, removeAllGoals, removeFreeWill, requiresCustomPersistence, serverAiStep, setAggressive, setBodyArmorItem, setCanPickUpLoot, setDropChance, setGuaranteedDrop, setHomeTo, setItemSlotAndDropWhenKilled, setLeashData, setLeftHanded, setNoAi, setPathfindingMalus, setPersistenceRequired, setSpawnCancelled, setSpeed, setTarget, setXxa, setYya, setZza, shouldDespawnInPeaceful, shouldPassengersInheritMalus, spawnAnim, startRiding, stopInPlace, tickHeadTurn, updateControlFlagsMethods inherited from class net.minecraft.world.entity.LivingEntity
activeLocationDependentEnchantments, actuallyHurt, addEffect, addEffect, animateHurt, applyInput, applyItemBlocking, areAllEffectsAmbient, attackable, blockedByItem, blockUsingItem, calculateEntityAnimation, calculateFallDamage, canAttack, canBeAffected, canBeSeenAsEnemy, canBeSeenByAnyone, canBreatheUnderwater, canEquipWithDispenser, canFreeze, canGlide, canGlideUsing, canStandOnFluid, canUsePortal, canUseSlot, causeFallDamage, checkAutoSpinAttack, checkFallDamage, clearSleepingPos, completeUsingItem, createEquipment, createLivingAttributes, createWitherRose, decreaseAirSupply, doAutoAttackOnTouch, doesEmitEquipEvent, doHurtEquipment, doPush, drop, dropAllDeathLoot, dropEquipment, dropExperience, dropFromGiftLootTable, dropFromLootTable, dropFromShearingLootTable, equipmentHasChanged, forceAddEffect, getAbsorptionAmount, getActiveEffects, getActiveEffectsMap, getAgeScale, getArmorCoverPercentage, getArmorValue, getArrowCount, getAttackAnim, getAttribute, getAttributeBaseValue, getAttributes, getAttributeValue, getBedOrientation, getBlockSpeedFactor, getCombatTracker, getComfortableFallDistance, getCurrentSwingDuration, getDamageAfterArmorAbsorb, getDamageAfterMagicAbsorb, getDefaultDimensions, 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, getLocalBoundsForPose, getLuck, getMainHandItem, getMaxAbsorption, getMaxHeadRotationRelativeToBody, getMaxHealth, getNoActionTime, getOffhandItem, getPassengerRidingPosition, getPreciseBodyRotation, getProjectile, getRelativePortalPosition, getRiddenInput, getRiddenSpeed, getScale, getSecondsToDisableBlocking, getSleepingPos, getSlotForHand, getSoundVolume, getSpeed, getStingerCount, getSwimAmount, getTicksUsingItem, getUsedItemHand, getUseItem, getUseItemRemainingTicks, getViewYRot, getVisibilityPercent, getVisualRotationYInDegrees, getVoicePitch, getWaterSlowDown, getWeaponItem, getYHeadRot, goDownInWater, handleDamageEvent, handleExtraItemsCreatedOnUse, hasEffect, hasInfiniteMaterials, hasItemInSlot, hasLandedInLiquid, hasLineOfSight, hasLineOfSight, heal, hurtArmor, hurtHelmet, hurtServer, igniteForTicks, increaseAirSupply, indicateDamage, internalSetAbsorptionAmount, isAffectedByFluids, isAffectedByPotions, isAlive, isAlwaysExperienceDropper, isAutoSpinAttack, isBlocking, isCurrentlyGlowing, isDeadOrDying, isEquippableInSlot, isFallFlying, isHolding, isHolding, isImmobile, isInvertedHealAndHarm, isInvulnerableTo, isInWall, isJumping, isLookingAtMe, isPickable, isPushable, isSensitiveToWater, isSleeping, isSuppressingSlidingDownLadder, isTransmittingWaypoint, isUsingItem, isVisuallySwimming, jumpFromGround, kill, knockback, lerpHeadRotationStep, lerpHeadTo, lookAt, makePoofParticles, makeSound, makeWaypointConnectionWith, maxUpStep, onBelowWorld, onChangedBlock, onClimbable, onEffectAdded, onEffectsRemoved, onEffectUpdated, onEnterCombat, onEquipItem, onEquippedItemBroken, onItemPickup, onLeaveCombat, onRemoval, playBlockFallSound, push, pushEntities, randomTeleport, recreateFromPacket, releaseUsingItem, remove, removeAllEffects, removeEffect, removeEffectNoUpdate, removeEffectParticles, removeFrost, resetForwardDirectionOfRelativePortalPosition, resolveMobResponsibleForDamage, resolvePlayerResponsibleForDamage, rideTick, sanitizeScale, sendEffectToPassengers, setAbsorptionAmount, setArrowCount, setDiscardFriction, setHealth, setItemInHand, setItemSlot, setJumping, setLastHurtByPlayer, setLastHurtByPlayer, setLastHurtMob, setLivingEntityFlag, setNoActionTime, setRecordPlayingNearby, setSleepingPos, setSprinting, setStingerCount, setYBodyRot, setYHeadRot, shouldDiscardFriction, shouldDropExperience, shouldDropLoot, shouldShowName, skipDropExperience, spawnItemParticles, startUsingItem, stopFallFlying, stopRiding, stopUsingItem, swing, swing, take, tickDeath, tickEffects, tickRidden, travel, travelFlying, travelFlying, triggerOnDeathMobEffects, tryAddFrost, updateEffectVisibility, updateFallFlying, updateInvisibilityStatus, updateSwingTime, updateUsingItem, updateWalkAnimation, wasExperienceConsumed, waypointIcon, wouldNotSuffocateAtTargetPoseMethods inherited from class net.minecraft.world.entity.Entity
absSnapRotationTo, absSnapTo, absSnapTo, addDeltaMovement, addPassenger, addTag, adjustSpawnLocation, applyComponentsFromItemStack, applyEffectsFromBlocks, applyEffectsFromBlocks, applyGravity, applyImplicitComponentIfPresent, awardKillScore, blockPosition, broadcastToPlayer, calculateUpVector, calculateViewVector, canAddPassenger, canBeCollidedWith, canBeHitByProjectile, canCollideWith, canControlVehicle, canRide, canSimulateMovement, canSpawnSprintParticle, canSprint, canTeleport, canTrample, captureDrops, captureDrops, castComponentValue, checkBelowWorld, checkFallDistanceAccumulation, checkSupportingBlock, chunkPosition, clearFire, clearFreeze, clearMovementThisTick, closerThan, closerThan, collideBoundingBox, collidedWithFluid, collidedWithShapeMovingFrom, considersEntityAsAlly, copyPosition, couldAcceptPassenger, countPlayerPassengers, createCommandSourceStackForNameResolution, createHoverEvent, damageSources, dampensVibrations, deflection, discard, dismountsUnderwater, dismountTo, displayFireAnimation, distanceTo, distanceToSqr, distanceToSqr, distanceToSqr, doCheckFallDamage, doWaterSplashEffect, dropAllLeashConnections, ejectPassengers, equals, extinguishFire, fillCrashReportCategory, fireImmune, fixupDimensions, forceSetRotation, fudgePositionAfterSizeChange, gameEvent, gameEvent, getAddEntityPacket, getAirSupply, getAttachments, 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, getEyeInFluidType, getEyePosition, getEyePosition, getEyeY, getFireImmuneTicks, getFirstPassenger, getFluidHeight, getFluidJumpThreshold, getFluidTypeHeight, getForward, getGravity, getHandHoldingItemAngle, getId, getInBlockState, getIndirectPassengers, getInputVector, getKnownMovement, getLightLevelDependentMagicValue, getLightProbePosition, getLookAngle, getMaxAirSupply, getMaxHeightFluidType, getMotionDirection, getMovementEmission, getName, getNearestViewDirection, getOnPos, getOnPos, getOnPosLegacy, getPassengerAttachmentPoint, getPassengers, getPassengersAndSelf, getPercentFrozen, getPersistentData, getPickRadius, getPistonPushReaction, getPortalCooldown, getPose, getPosition, getPositionCodec, getPrimaryStepSoundBlockPos, getQuadLeashHolderOffsets, getRandom, getRandomX, getRandomY, getRandomZ, getRemainingFireTicks, getRemovalReason, getRequiresPrecisePosition, getRootVehicle, getRotationVector, getScoreboardName, getSelfAndPassengers, getServer, getSharedFlag, getSoundSource, getStringUUID, getSwimHighSpeedSplashSound, getSwimSound, getSwimSplashSound, getTags, getTeam, getTeamColor, getTicksFrozen, getTicksRequiredToFreeze, getType, 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, hasPassenger, hasPassenger, hasPose, hurt, hurtClient, hurtOrSimulate, igniteForSeconds, ignoreExplosion, interactAt, is, isAddedToLevel, isAffectedByBlocks, isAlliedTo, isAlliedTo, isAlwaysTicking, isAttackable, isClientAuthoritative, isColliding, isCrouching, isCustomNameVisible, isDescending, isDiscrete, isEyeInFluid, isFlapping, isFlyingVehicle, isFree, isFreezing, isFullyFrozen, isHorizontalCollisionMinor, isIgnoringBlockTriggers, isInClouds, isInFluidType, isInFluidType, isInLava, isInLiquid, 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, move, 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, playStepSound, 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, setFluidTypeHeight, 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, spawnAtLocation, spawnSprintParticle, startRiding, startSeenByPlayer, stopSeenByPlayer, supportQuadLeashAsHolder, syncData, syncPacketPositionCodec, teleportRelative, teleportSetPosition, teleportSpectators, teleportTo, teleportTo, toString, touchingUnloadedChunk, trackingPosition, turn, unRide, unsetRemoved, updateDynamicGameEventListener, updateFluidHeightAndDoCanPushEntityFluidPushing, 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.core.component.DataComponentGetter
get, getOrDefault, getOrDefault, getTyped, has, hasMethods inherited from interface net.minecraft.world.entity.EquipmentUser
equip, equip, equip, getItemBySlot, resolveSlot, setItemSlotMethods inherited from interface net.neoforged.neoforge.attachment.IAttachmentHolder
getData, getExistingData, getExistingData, getExistingDataOrNull, hasData, removeData, setData, syncDataMethods inherited from interface net.neoforged.neoforge.common.extensions.IEntityExtension
canBeRiddenUnderFluidType, canFluidExtinguish, canHydrateInFluidType, canRiderInteract, canStartSwimming, canTrample, captureDrops, captureDrops, copyAttachmentsFrom, getClassification, getEyeInFluidType, getFluidFallDistanceModifier, getFluidMotionScale, getFluidTypeHeight, getMaxHeightFluidType, getParts, getPersistentData, getSoundFromFluidType, hasCustomOutlineRendering, isAddedToLevel, isEyeInFluidType, isInFluidType, isInFluidType, isInFluidType, isInFluidType, isInFluidType, isMultipartEntity, isPushedByFluid, onAddedToLevel, onRemovedFromLevel, revive, sendPairingData, shouldRiderSitMethods inherited from interface net.neoforged.neoforge.common.extensions.ILivingEntityExtension
canDrownInFluidType, canSwimInFluidType, moveInFluid, onDamageTaken, self, sinkInFluidMethods inherited from interface net.minecraft.world.entity.npc.InventoryCarrier
readInventoryFromTag, writeInventoryToTagMethods 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, writeLeashDataMethods inherited from interface net.minecraft.world.item.trading.Merchant
openTradingScreenMethods inherited from interface net.minecraft.world.scores.ScoreHolder
getFeedbackDisplayName
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
DATA_VILLAGER_DATA
-
BREEDING_FOOD_THRESHOLD
public static final int BREEDING_FOOD_THRESHOLD- See Also:
-
FOOD_POINTS
Mapping between valid food items and their respective efficiency values. -
TRADES_PER_LEVEL
private static final int TRADES_PER_LEVEL- See Also:
-
MAX_GOSSIP_TOPICS
private static final int MAX_GOSSIP_TOPICS- See Also:
-
GOSSIP_COOLDOWN
private static final int GOSSIP_COOLDOWN- See Also:
-
GOSSIP_DECAY_INTERVAL
private static final int GOSSIP_DECAY_INTERVAL- See Also:
-
HOW_FAR_AWAY_TO_TALK_TO_OTHER_VILLAGERS_ABOUT_GOLEMS
private static final int HOW_FAR_AWAY_TO_TALK_TO_OTHER_VILLAGERS_ABOUT_GOLEMS- See Also:
-
HOW_MANY_VILLAGERS_NEED_TO_AGREE_TO_SPAWN_A_GOLEM
private static final int HOW_MANY_VILLAGERS_NEED_TO_AGREE_TO_SPAWN_A_GOLEM- See Also:
-
TIME_SINCE_SLEEPING_FOR_GOLEM_SPAWNING
private static final long TIME_SINCE_SLEEPING_FOR_GOLEM_SPAWNING- See Also:
-
SPEED_MODIFIER
public static final float SPEED_MODIFIER- See Also:
-
DEFAULT_XP
private static final int DEFAULT_XP- See Also:
-
DEFAULT_FOOD_LEVEL
private static final byte DEFAULT_FOOD_LEVEL- See Also:
-
DEFAULT_LAST_RESTOCK
private static final int DEFAULT_LAST_RESTOCK- See Also:
-
DEFAULT_LAST_GOSSIP_DECAY
private static final int DEFAULT_LAST_GOSSIP_DECAY- See Also:
-
DEFAULT_RESTOCKS_TODAY
private static final int DEFAULT_RESTOCKS_TODAY- See Also:
-
DEFAULT_ASSIGN_PROFESSION_WHEN_SPAWNED
private static final boolean DEFAULT_ASSIGN_PROFESSION_WHEN_SPAWNED- See Also:
-
updateMerchantTimer
private int updateMerchantTimer -
increaseProfessionLevelOnUpdate
private boolean increaseProfessionLevelOnUpdate -
lastTradedPlayer
-
chasing
private boolean chasing -
foodLevel
private int foodLevel -
gossips
-
lastGossipTime
private long lastGossipTime -
lastGossipDecayTime
private long lastGossipDecayTime -
villagerXp
private int villagerXp -
lastRestockGameTime
private long lastRestockGameTime -
numberOfRestocksToday
private int numberOfRestocksToday -
lastRestockCheckDayTime
private long lastRestockCheckDayTime -
assignProfessionWhenSpawned
private boolean assignProfessionWhenSpawned -
MEMORY_TYPES
-
SENSOR_TYPES
-
POI_MEMORIES
public static final Map<MemoryModuleType<GlobalPos>,BiPredicate<Villager, POI_MEMORIESHolder<PoiType>>>
-
-
Constructor Details
-
Villager
-
Villager
public Villager(EntityType<? extends Villager> pEntityType, Level pLevel, ResourceKey<VillagerType> pVillagerType) -
Villager
public Villager(EntityType<? extends Villager> pEntityType, Level pLevel, Holder<VillagerType> pVillagerType)
-
-
Method Details
-
getBrain
- Overrides:
getBrainin classLivingEntity
-
brainProvider
- Overrides:
brainProviderin classLivingEntity
-
makeBrain
- Overrides:
makeBrainin classLivingEntity
-
refreshBrain
-
registerBrainGoals
-
ageBoundaryReached
protected void ageBoundaryReached()- Overrides:
ageBoundaryReachedin classAgeableMob
-
createAttributes
-
assignProfessionWhenSpawned
public boolean assignProfessionWhenSpawned() -
customServerAiStep
- Overrides:
customServerAiStepin classMob
-
tick
public void tick() -
mobInteract
- Overrides:
mobInteractin classMob
-
setUnhappy
private void setUnhappy() -
startTrading
-
setTradingPlayer
- Specified by:
setTradingPlayerin interfaceMerchant- Overrides:
setTradingPlayerin classAbstractVillager
-
stopTrading
protected void stopTrading()- Overrides:
stopTradingin classAbstractVillager
-
resetSpecialPrices
private void resetSpecialPrices() -
canRestock
public boolean canRestock()- Specified by:
canRestockin interfaceMerchant
-
restock
public void restock() -
resendOffersToTradingPlayer
private void resendOffersToTradingPlayer() -
needsToRestock
private boolean needsToRestock() -
allowedToRestock
private boolean allowedToRestock() -
shouldRestock
public boolean shouldRestock() -
catchUpDemand
private void catchUpDemand() -
updateDemand
private void updateDemand() -
updateSpecialPrices
-
defineSynchedData
- Overrides:
defineSynchedDatain classAbstractVillager
-
createDefaultVillagerData
-
addAdditionalSaveData
- Overrides:
addAdditionalSaveDatain classAbstractVillager
-
readAdditionalSaveData
- Overrides:
readAdditionalSaveDatain classAbstractVillager
-
removeWhenFarAway
public boolean removeWhenFarAway(double pDistanceToClosestPlayer) - Overrides:
removeWhenFarAwayin classMob
-
getAmbientSound
- Overrides:
getAmbientSoundin classMob
-
getHurtSound
- Overrides:
getHurtSoundin classLivingEntity
-
getDeathSound
- Overrides:
getDeathSoundin classLivingEntity
-
playWorkSound
public void playWorkSound() -
setVillagerData
- Specified by:
setVillagerDatain interfaceVillagerDataHolder
-
getVillagerData
- Specified by:
getVillagerDatain interfaceVillagerDataHolder
-
rewardTradeXp
- Specified by:
rewardTradeXpin classAbstractVillager
-
setLastHurtByMob
Hint to AI tasks that we were attacked by the passed EntityLivingBase and should retaliate. Is not guaranteed to change our actual active target (for example if we are currently busy attacking someone else)- Overrides:
setLastHurtByMobin classLivingEntity
-
die
Called when the mob's health reaches 0.- Overrides:
diein classAbstractVillager
-
releaseAllPois
private void releaseAllPois() -
tellWitnessesThatIWasMurdered
-
releasePoi
-
canBreed
public boolean canBreed()- Overrides:
canBreedin classAgeableMob
-
hungry
private boolean hungry() -
eatUntilFull
private void eatUntilFull() -
getPlayerReputation
-
digestFood
private void digestFood(int pQty) -
eatAndDigestFood
public void eatAndDigestFood() -
setOffers
-
shouldIncreaseLevel
private boolean shouldIncreaseLevel() -
increaseMerchantCareer
private void increaseMerchantCareer() -
getTypeName
- Overrides:
getTypeNamein classEntity
-
handleEntityEvent
public void handleEntityEvent(byte pId) Handler forinvalid reference
World#setEntityState- Overrides:
handleEntityEventin classMob
-
finalizeSpawn
@Nullable public SpawnGroupData finalizeSpawn(ServerLevelAccessor pLevel, DifficultyInstance pDifficulty, EntitySpawnReason pSpawnReason, @Nullable SpawnGroupData pSpawnGroupData) - Overrides:
finalizeSpawnin classAbstractVillager
-
getBreedOffspring
- Specified by:
getBreedOffspringin classAgeableMob
-
thunderHit
- Overrides:
thunderHitin classEntity
-
pickUpItem
- Overrides:
pickUpItemin classMob
-
wantsToPickUp
- Overrides:
wantsToPickUpin classMob
-
hasExcessFood
public boolean hasExcessFood() -
wantsMoreFood
public boolean wantsMoreFood() -
countFoodPointsInInventory
private int countFoodPointsInInventory() -
hasFarmSeeds
public boolean hasFarmSeeds() -
updateTrades
protected void updateTrades()- Specified by:
updateTradesin classAbstractVillager
-
gossip
-
maybeDecayGossip
private void maybeDecayGossip() -
spawnGolemIfNeeded
-
wantsToSpawnGolem
public boolean wantsToSpawnGolem(long pGameTime) -
onReputationEventFrom
- Specified by:
onReputationEventFromin interfaceReputationEventHandler
-
getVillagerXp
public int getVillagerXp()- Specified by:
getVillagerXpin interfaceMerchant- Overrides:
getVillagerXpin classAbstractVillager
-
setVillagerXp
public void setVillagerXp(int pVillagerXp) -
resetNumberOfRestocks
private void resetNumberOfRestocks() -
getGossips
-
setGossips
-
sendDebugPackets
protected void sendDebugPackets()- Overrides:
sendDebugPacketsin classMob
-
startSleeping
- Overrides:
startSleepingin classLivingEntity
-
stopSleeping
public void stopSleeping()- Overrides:
stopSleepingin classLivingEntity
-
golemSpawnConditionsMet
private boolean golemSpawnConditionsMet(long pGameTime) -
get
- Specified by:
getin interfaceDataComponentGetter- Overrides:
getin classEntity
-
applyImplicitComponents
- Overrides:
applyImplicitComponentsin classEntity
-
applyImplicitComponent
- Overrides:
applyImplicitComponentin classEntity
-