Package cn.nukkit.entity.passive
Class EntityVillager
- All Implemented Interfaces:
EntityAgeable
,EntityDamageable
,EntityNameable
,EntityNPC
,InventoryHolder
,Metadatable
,Cloneable
public class EntityVillager
extends EntityCreature
implements InventoryHolder, EntityNPC, EntityAgeable
-
Field Summary
Modifier and TypeFieldDescriptionprotected Boolean
用于控制该村民是否可以交易protected String
代表交易UI上方所显示的名称,在原版为村民的职业名protected TradeInventory
protected int
代表村民所允许的最大交易等级static final int
protected int
代表村民的职业
0 generic 普通
1 farmer 农民
2 fisherman 渔民
3 shepherd 牧羊人
4 fletcher 制箭师
5 librarian 图书管理员
6 cartographer 制图师
7 cleric 牧师
8 armor 盔甲匠
9 weapon 武器匠
10 tool 工具匠
11 butcher 屠夫
12 butcher 皮匠
13 mason 石匠
14 nitwit 傻子代表交易配方int[]
用于控制村民的等级成长所需要的经验 例如[0,10,20,30,40] 村民达到1级所需经验0,2级为10,这里的经验是tradeExp
.protected int
代表当前村民的经验,不允许为负数protected int
代表村民当前的交易等级Fields inherited from class cn.nukkit.entity.EntityLiving
attackTime, invisible, movementSpeed, turtleTicks
Fields inherited from class cn.nukkit.entity.Entity
absorption, age, blocksAround, boundingBox, chunk, closed, collisionBlocks, DATA_AERIAL_ATTACK, DATA_AGENT, DATA_AIR, DATA_ALWAYS_SHOW_NAMETAG, DATA_AMBIENT_SOUND_EVENT_NAME, DATA_AMBIENT_SOUND_INTERVAL, DATA_AMBIENT_SOUND_INTERVAL_RANGE, DATA_AREA_EFFECT_CLOUD_PARTICLE_ID, DATA_AREA_EFFECT_CLOUD_RADIUS, DATA_AREA_EFFECT_CLOUD_WAITING, DATA_ARMOR_STAND_POSE_INDEX, DATA_AUX_POWER, DATA_BALLOON_ATTACHED_ENTITY, DATA_BASE_RUNTIME_ID, DATA_BLOCK_TARGET, DATA_BOUNDING_BOX_HEIGHT, DATA_BOUNDING_BOX_WIDTH, DATA_BUBBLE_TIME, DATA_BUOYANCY_DATA, DATA_CAN_RIDE_TARGET, DATA_CHANGE_ON_PICKUP, DATA_CHANGE_RATE, DATA_CHARGE_AMOUNT, DATA_CLIENT_EVENT, DATA_COLOR, DATA_COLOR_2, DATA_COLOUR, DATA_COMMAND_BLOCK_COMMAND, DATA_COMMAND_BLOCK_EXECUTE_ON_FIRST_TICK, DATA_COMMAND_BLOCK_LAST_OUTPUT, DATA_COMMAND_BLOCK_TICK_DELAY, DATA_COMMAND_BLOCK_TRACK_OUTPUT, DATA_CONTAINER_BASE_SIZE, DATA_CONTAINER_EXTRA_SLOTS_PER_STRENGTH, DATA_CONTAINER_TYPE, DATA_CONTROLLING_RIDER_SEAT_NUMBER, DATA_DISPLAY_ITEM, DATA_DISPLAY_OFFSET, DATA_DURATION, DATA_EATING_COUNTER, DATA_ENDER_CRYSTAL_TIME_OFFSET, DATA_ENDERMAN_HELD_RUNTIME_ID, DATA_ENTITY_AGE, DATA_EXPERIENCE_VALUE, DATA_FALL_DAMAGE_MULTIPLIER, DATA_FIREBALL_POWER_X, DATA_FIREBALL_POWER_Y, DATA_FIREBALL_POWER_Z, DATA_FISH_ANGLE, DATA_FISH_X, DATA_FISH_Z, DATA_FLAG_ACTION, DATA_FLAG_ADMIRING, DATA_FLAG_ALWAYS_SHOW_NAMETAG, DATA_FLAG_ANGRY, DATA_FLAG_BABY, DATA_FLAG_BLOCKED_USING_DAMAGED_SHIELD, DATA_FLAG_BLOCKED_USING_SHIELD, DATA_FLAG_BLOCKING, DATA_FLAG_BREAKING_OBSTRUCTION, DATA_FLAG_BREATHING, DATA_FLAG_BRIBED, DATA_FLAG_CAN_CLIMB, DATA_FLAG_CAN_DASH, DATA_FLAG_CAN_FLY, DATA_FLAG_CAN_POWER_JUMP, DATA_FLAG_CAN_SHOW_NAMETAG, DATA_FLAG_CELEBRATING, DATA_FLAG_CELEBRATING_SPECIAL, DATA_FLAG_CHARGE_ATTACK, DATA_FLAG_CHARGED, DATA_FLAG_CHESTED, DATA_FLAG_CONTAINER_PRIVATE, DATA_FLAG_CONVERTING, DATA_FLAG_CRITICAL, DATA_FLAG_CROAKING, DATA_FLAG_DANCING, DATA_FLAG_DELAYED_ATTACK, DATA_FLAG_DIGGING, DATA_FLAG_DOOR_BREAKER, DATA_FLAG_DOOR_OPENER, DATA_FLAG_EAT_MOB, DATA_FLAG_EATING, DATA_FLAG_ELDER, DATA_FLAG_EMERGING, DATA_FLAG_EMOTING, DATA_FLAG_ENCHANTED, DATA_FLAG_ENTITY_GROW_UP, DATA_FLAG_EVOKER_SPELL, DATA_FLAG_FACING_TARGET_TO_RANGE_ATTACK, DATA_FLAG_FALL_THROUGH_SCAFFOLDING, DATA_FLAG_FIRE_IMMUNE, DATA_FLAG_GLIDING, DATA_FLAG_GRAVITY, DATA_FLAG_HAS_COLLISION, DATA_FLAG_HAS_DASH_COOLDOWN, DATA_FLAG_HIDDEN_WHEN_INVISIBLE, DATA_FLAG_IDLING, DATA_FLAG_IGNITED, DATA_FLAG_IMMOBILE, DATA_FLAG_IN_ASCENDABLE_BLOCK, DATA_FLAG_IN_SCAFFOLDING, DATA_FLAG_INLOVE, DATA_FLAG_INTERESTED, DATA_FLAG_INVISIBLE, DATA_FLAG_IS_AVOIDING_BLOCKS, DATA_FLAG_IS_AVOIDING_MOBS, DATA_FLAG_IS_ILLAGER_CAPTAIN, DATA_FLAG_IS_IN_UI, DATA_FLAG_IS_TRANSFORMING, DATA_FLAG_JUMP_GOAL_JUMP, DATA_FLAG_LAYING_DOWN, DATA_FLAG_LAYING_EGG, DATA_FLAG_LEASHED, DATA_FLAG_LINGER, DATA_FLAG_MOVING, DATA_FLAG_NO_AI, DATA_FLAG_ONFIRE, DATA_FLAG_ORPHANED, DATA_FLAG_OVER_DESCENDABLE_BLOCK, DATA_FLAG_OVER_SCAFFOLDING, DATA_FLAG_PLAYING_DEAD, DATA_FLAG_POWERED, DATA_FLAG_PREGNANT, DATA_FLAG_PUSH_TOWARDS_CLOSEST_SPACE, DATA_FLAG_RAM_ATTACK, DATA_FLAG_REARING, DATA_FLAG_RESTING, DATA_FLAG_RIDER_CAN_PICK, DATA_FLAG_RIDING, DATA_FLAG_ROARING, DATA_FLAG_ROLLING, DATA_FLAG_SADDLED, DATA_FLAG_SCARED, DATA_FLAG_SHEARED, DATA_FLAG_SHOW_TRIDENT_ROPE, DATA_FLAG_SHOWBASE, DATA_FLAG_SILENT, DATA_FLAG_SITTING, DATA_FLAG_SLEEPING, DATA_FLAG_SNEAKING, DATA_FLAG_SNEEZING, DATA_FLAG_SNIFFING, DATA_FLAG_SONIC_BOOM, DATA_FLAG_SPIN_ATTACK, DATA_FLAG_SPRINTING, DATA_FLAG_STACKABLE, DATA_FLAG_STALKING, DATA_FLAG_STUNNED, DATA_FLAG_SWIMMER, DATA_FLAG_SWIMMING, DATA_FLAG_TAMED, DATA_FLAG_TEMPTED, DATA_FLAG_TRADE_INTEREST, DATA_FLAG_TRANSITION_BLOCKING, DATA_FLAG_TRANSITION_SETTING, DATA_FLAG_TRANSITION_SITTING, DATA_FLAG_TRUSTING, DATA_FLAG_VIBRATING, DATA_FLAG_WALKER, DATA_FLAG_WALLCLIMBING, DATA_FLAG_WASD_CONTROLLED, DATA_FLAGS, DATA_FLAGS_EXTENDED, DATA_FREEZING_EFFECT_STRENGTH, DATA_FUSE_LENGTH, DATA_GOAT_HORN_COUNT, DATA_HAS_COMMAND_BLOCK, DATA_HAS_DISPLAY, DATA_HAS_NPC_COMPONENT, DATA_HEALTH, DATA_HEARTBEAT_INTERVAL_TICKS, DATA_HEARTBEAT_SOUND_EVENT, DATA_HIGH_TIER_CURED_DISCOUNT, DATA_HITBOX, DATA_HURT_DIRECTION, DATA_HURT_TIME, DATA_INTERACT_TEXT, DATA_INTERACTIVE_TAG, DATA_IS_BUOYANT, DATA_JUMP_DURATION, DATA_LAYING_AMOUNT, DATA_LAYING_AMOUNT_PREVIOUS, DATA_LEAD_HOLDER_EID, DATA_LIMITED_LIFE, DATA_LOW_TIER_CURED_DISCOUNT, DATA_MARK_VARIANT, DATA_MAX_AIR, DATA_MAX_STRENGTH, DATA_MAX_TRADE_TIER, DATA_MOVEMENT_SOUND_DISTANCE_OFFSET, DATA_NAME_AUTHOR, DATA_NAME_RAW_TEXT, DATA_NAMETAG, DATA_NEARBY_CURED_DISCOUNT, DATA_NEARBY_CURED_DISCOUNT_TIMESTAMP, DATA_NPC_ACTIONS, DATA_NPC_SKIN_DATA, DATA_OLD_SWELL, DATA_OWNER_EID, DATA_PADDLE_TIME_LEFT, DATA_PADDLE_TIME_RIGHT, DATA_PICKUP_COUNT, DATA_PLAYER_BED_POSITION, DATA_PLAYER_FLAGS, DATA_PLAYER_HAS_DIED, DATA_PLAYER_INDEX, DATA_PLAYER_LAST_DEATH_DIMENSION, DATA_PLAYER_LAST_DEATH_POS, DATA_POTION_AMBIENT, DATA_POTION_AUX_VALUE, DATA_POTION_COLOR, DATA_PUFFERFISH_SIZE, DATA_RIDER_MAX_ROTATION, DATA_RIDER_MIN_ROTATION, DATA_RIDER_ROTATION_LOCKED, DATA_RIDER_ROTATION_OFFSET, DATA_RIDER_SEAT_POSITION, DATA_SCALE, DATA_SCORE_TAG, DATA_SHULKER_ATTACH_FACE, DATA_SHULKER_ATTACH_POS, DATA_SHULKER_ATTACHED, DATA_SHULKER_PEEK_ID, DATA_SITTING_AMOUNT, DATA_SITTING_AMOUNT_PREVIOUS, DATA_SKIN_ID, DATA_SPAWN_TIME, DATA_SPAWNING_FRAMES, DATA_SPELL_CASTING_COLOR, DATA_STRENGTH, DATA_SWELL, DATA_SWELL_DIR, DATA_TARGET_EID, DATA_TRADE_EXPERIENCE, DATA_TRADE_TIER, DATA_TRADING_CAREER, DATA_TRADING_PLAYER_EID, DATA_TYPE_BYTE, DATA_TYPE_FLOAT, DATA_TYPE_INT, DATA_TYPE_LONG, DATA_TYPE_NBT, DATA_TYPE_POS, DATA_TYPE_SHORT, DATA_TYPE_STRING, DATA_TYPE_VECTOR3F, DATA_USING_ITEM, DATA_VARIANT, DATA_WITHER_INVULNERABLE_TICKS, DATA_WITHER_TARGET_1, DATA_WITHER_TARGET_2, DATA_WITHER_TARGET_3, dataProperties, deadTicks, effects, EMPTY_ARRAY, entityCollisionReduction, entityCount, entityUniqueId, fallDistance, fireProof, fireTicks, firstMove, freezingTicks, hasSpawned, headYawDelta, health, highestPosition, id, inBlock, inEndPortal, inPortalTicks, invulnerable, isCollided, isCollidedHorizontally, isCollidedVertically, isPlayer, isStatic, justCreated, keepMovement, lastDamageCause, lastHeadYaw, lastMotionX, lastMotionY, lastMotionZ, lastPitch, lastUpdate, lastX, lastY, lastYaw, lastZ, maxFireTicks, motionChanged, motionX, motionY, motionZ, namedTag, noClip, noDamageTicks, offsetBoundingBox, onGround, passengers, pitchDelta, positionChanged, riding, scale, server, temporalVector, ticksLived, timing, yawDelta, ySize
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionboolean
float
int
int
The name that English name of the type of this entity.int
int
int
float
getWidth()
void
boolean
onInteract
(Player player, Item item, Vector3 clickedPos) void
saveNBT()
void
setCanTrade
(boolean canTrade) 设置村民是否可以交易void
setDisplayName
(String displayName) void
setMaxTradeTier
(int maxTradeTier) void
setProfession
(int profession) 设置村民职业void
setTradeExp
(int tradeExp) void
setTradeTier
(int tradeTier) void
setTradingPlayer
(Long eid) 这个方法插件一般不用Methods inherited from class cn.nukkit.entity.EntityCreature
applyNameTag, playerApplyNameTag
Methods inherited from class cn.nukkit.entity.EntityLiving
attack, blockedByShield, collidingWith, entityBaseTick, entityBaseTick, getAirTicks, getAttackTime, getAttackTimeBefore, getDrag, getDrops, getGravity, getLineOfSight, getLineOfSight, getLineOfSight, getLineOfSight, getMovementSpeed, getTargetBlock, getTargetBlock, getTargetBlock, hasLineOfSight, isAttackTimeByShieldKb, isBlocking, isPersistent, kill, knockBack, knockBack, onBlock, postAttack, preAttack, setAirTicks, setBlocking, setHealth, setMovementSpeed, setPersistent
Methods inherited from class cn.nukkit.entity.Entity
addEffect, addFreezingTicks, addMotion, addMovement, addTag, applyEntityCollision, attack, broadcastLinkPacket, broadcastMovement, canBeMovedByCurrents, canBePushed, canClimb, canClimbWalls, canCollide, canCollideWith, canPassThrough, canTriggerWalking, checkBlockCollision, checkChunks, checkGroundState, checkObstruction, close, collideWithBlock, containTag, createAddEntityPacket, createEntity, createEntity, createEntity, createEntity, despawnFrom, despawnFromAll, dismountEntity, dismountEntity, doesTriggerPressurePlate, enableHeadYaw, equals, extinguish, fall, fastMove, getAbsorption, getAge, getAllTags, getBaseOffset, getBlocksAround, getBoundingBox, getCollisionBlocks, getCurrentHeight, getDataFlag, getDataProperties, getDataProperty, getDataPropertyBoolean, getDataPropertyByte, getDataPropertyFloat, getDataPropertyInt, getDataPropertyLong, getDataPropertyNBT, getDataPropertyPos, getDataPropertyShort, getDataPropertyString, getDataPropertyType, getDataPropertyVector3f, getDefaultNBT, getDefaultNBT, getDefaultNBT, getDirection, getDirectionPlane, getDirectionVector, getEffect, getEffects, getEntityDefinitions, getEyeHeight, getFreezingEffectStrength, getFreezingTicks, getFrostbiteInjury, getHealth, getHorizontalFacing, getId, getKnownEntities, getKnownEntityIds, getKnownEntityProviders, getLastDamageCause, getLength, getLocation, getMaxHealth, getMetadata, getMotion, getMountedOffset, getName, getNameTag, getPassenger, getPassengers, getPosition, getRiding, getSaveId, getSaveId, getSaveId, getSaveIds, getScale, getScoreTag, getSeatPosition, getServer, getStepHeight, getSwimmingHeight, getTickCachedBlocksAround, getTickCachedCollisionBlocks, getUniqueId, getViewers, getVisibleName, handleLavaMovement, hasControllingPassenger, hasCustomName, hasEffect, hashCode, hasMetadata, hasWaterAt, heal, heal, init, isAlive, isBoss, isClosed, isControlling, isGliding, isImmobile, isInEndPortal, isInsideOfFire, isInsideOfLava, isInsideOfSolid, isInsideOfWater, isNameTagAlwaysVisible, isNameTagVisible, isNoClip, isOnFire, isOnGround, isOnLadder, isPassenger, isPreventingSleep, isSneaking, isSpinAttacking, isSprinting, isSwimming, isTouchingWater, isUndead, isUnderBlock, mountEntity, mountEntity, move, moveFlying, onCollideWithPlayer, onInteract, onPushByPiston, onStruckByLightning, onUpdate, playAnimation, playAnimation, playAnimationOnEntities, playAnimationOnEntities, recalculateBoundingBox, recalculateBoundingBox, recalculateEffectColor, registerCustomEntity, registerEntity, registerEntity, registerEntity, registerEntity, removeAllEffects, removeEffect, removeMetadata, removeTag, resetFallDistance, respawnToAll, scheduleUpdate, sendData, sendData, sendData, sendData, sendPotionEffects, setAbsorption, setAmbientSoundEvent, setAmbientSoundEventName, setAmbientSoundInterval, setAmbientSoundIntervalRange, setCanClimb, setCanClimb, setCanClimbWalls, setCanClimbWalls, setDataFlag, setDataFlag, setDataProperty, setDataProperty, setFreezingEffectStrength, setFreezingTicks, setGliding, setGliding, setImmobile, setImmobile, setLastDamageCause, setMaxHealth, setMetadata, setMotion, setNameTag, setNameTagAlwaysVisible, setNameTagAlwaysVisible, setNameTagVisible, setNameTagVisible, setNoClip, setOnFire, setPosition, setPositionAndRotation, setPositionAndRotation, setRotation, setRotation, setScale, setScoreTag, setSeatPosition, setSneaking, setSneaking, setSpinAttacking, setSpinAttacking, setSprinting, setSprinting, setSwimming, setSwimming, spawnTo, spawnToAll, switchLevel, teleport, teleport, teleport, teleport, teleport, teleport, updateFallState, updateMovement, updatePassengerPosition, updatePassengers
Methods inherited from class cn.nukkit.level.Location
abs, add, add, add, add, ceil, clone, divide, floor, fromObject, fromObject, fromObject, fromObject, fromObject, getHeadYaw, getPitch, getYaw, multiply, round, setHeadYaw, setPitch, setYaw, subtract, subtract, subtract, subtract, subtract, toString
Methods inherited from class cn.nukkit.level.Position
getChunk, getLevel, getLevelBlock, getLevelBlock, getLevelBlock, getLevelBlockAround, getLevelBlockAtLayer, getLevelBlockEntity, getLevelBlockState, getLevelBlockState, getLevelName, getSide, getSide, getTickCachedLevelBlock, getTickCachedLevelBlockAtLayer, getTypedBlockEntity, getValidLevel, isValid, setComponents, setComponents, setLevel, setStrong, setWeak
Methods inherited from class cn.nukkit.positiontracking.NamedPosition
matchesNamedPosition
Methods inherited from class cn.nukkit.math.Vector3
asBlockVector3, asVector3f, cross, distance, distance, distanceManhattan, distanceSquared, distanceSquared, dot, down, down, east, east, getAxis, getChunkSectionY, getChunkVector, getChunkX, getChunkZ, getFloorX, getFloorY, getFloorZ, getForward, getIntermediateWithXValue, getIntermediateWithYValue, getIntermediateWithZValue, getRight, getSideVec, getSouth, getUp, getWest, getX, getY, getZ, length, lengthSquared, maxPlainDistance, maxPlainDistance, maxPlainDistance, maxPlainDistance, maxPlainDistance, normalize, north, north, rawHashCode, setComponentsAdding, setComponentsAdding, setX, setY, setZ, south, south, up, up, west, west
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface cn.nukkit.entity.EntityAgeable
isBaby, setBaby
Methods inherited from interface cn.nukkit.entity.EntityNameable
applyNameTag, getNameTag, isNameTagVisible, isPersistent, playerApplyNameTag, setNameTag, setNameTagVisible, setPersistent
-
Field Details
-
NETWORK_ID
public static final int NETWORK_ID- See Also:
-
recipes
代表交易配方 -
tierExpRequirement
public int[] tierExpRequirement用于控制村民的等级成长所需要的经验 例如[0,10,20,30,40] 村民达到1级所需经验0,2级为10,这里的经验是tradeExp
. -
inventory
-
canTrade
用于控制该村民是否可以交易 -
displayName
代表交易UI上方所显示的名称,在原版为村民的职业名 -
tradeTier
protected int tradeTier代表村民当前的交易等级 -
maxTradeTier
protected int maxTradeTier代表村民所允许的最大交易等级 -
tradeExp
protected int tradeExp代表当前村民的经验,不允许为负数 -
profession
protected int profession代表村民的职业
0 generic 普通
1 farmer 农民
2 fisherman 渔民
3 shepherd 牧羊人
4 fletcher 制箭师
5 librarian 图书管理员
6 cartographer 制图师
7 cleric 牧师
8 armor 盔甲匠
9 weapon 武器匠
10 tool 工具匠
11 butcher 屠夫
12 butcher 皮匠
13 mason 石匠
14 nitwit 傻子
-
-
Constructor Details
-
EntityVillager
-
-
Method Details
-
getNetworkId
public int getNetworkId()- Specified by:
getNetworkId
in classEntity
-
getWidth
public float getWidth() -
getHeight
public float getHeight() -
getOriginalName
Description copied from class:Entity
The name that English name of the type of this entity.- Overrides:
getOriginalName
in classEntity
-
initEntity
- Overrides:
initEntity
in classEntityCreature
-
saveNBT
public void saveNBT()- Overrides:
saveNBT
in classEntityCreature
-
getProfession
- Returns:
- 村民的职业id
-
setProfession
设置村民职业- Parameters:
profession
- 请查看profession
-
setTradingPlayer
这个方法插件一般不用 -
getCanTrade
- Returns:
- 该村民是否可以交易
-
setCanTrade
设置村民是否可以交易- Parameters:
canTrade
- true 可以交易
-
getDisplayName
- Returns:
- 交易UI的显示名称
-
setDisplayName
- Parameters:
displayName
- 设置交易UI的显示名称
-
getTradeTier
- Returns:
- 该村民的交易等级
-
setTradeTier
- Parameters:
tradeTier
-村民的交易等级(1-
maxTradeTier
)
-
getMaxTradeTier
public int getMaxTradeTier()- Returns:
- 村民所允许的最大交易等级
-
setMaxTradeTier
public void setMaxTradeTier(int maxTradeTier) - Parameters:
maxTradeTier
- 设置村民所允许的最大交易等级
-
getTradeExp
public int getTradeExp()- Returns:
- 村民当前的经验值
-
setTradeExp
public void setTradeExp(int tradeExp) - Parameters:
tradeExp
- 设置村民当前的经验值
-
onInteract
@PowerNukkitXOnly @Since("1.19.21-r1") public boolean onInteract(Player player, Item item, Vector3 clickedPos) - Specified by:
onInteract
in interfaceEntityNameable
- Overrides:
onInteract
in classEntityCreature
-
getInventory
- Specified by:
getInventory
in interfaceInventoryHolder
-