Interface Villager
- All Superinterfaces:
AbstractVillager
,Ageable
,Attributable
,Breedable
,CommandSender
,Creature
,Damageable
,Entity
,InventoryHolder
,LivingEntity
,Lootable
,Merchant
,Metadatable
,Mob
,Nameable
,NPC
,Permissible
,PersistentDataHolder
,ProjectileSource
,ServerOperator
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
Represents the various different Villager professions there may be.static interface
Reputation change reason.static interface
Reputation type used in gossips.static interface
Represents Villager type, usually corresponding to what biome they spawn in.Nested classes/interfaces inherited from interface org.bukkit.entity.Entity
Entity.Spigot
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addReputation
(UUID uuid, Villager.ReputationType reputationType, int amount) Add reputation of a given type towards a given entity.void
addReputation
(UUID uuid, Villager.ReputationType reputationType, int amount, Villager.ReputationEvent changeReason) Add reputation of a given type towards a given entity, with a specific change reason.long
Gets the reputation decay time for this villager.Gets the current profession of this villager.int
getReputation
(UUID uuid) Gets the reputation of an entity.int
getReputation
(UUID uuid, Villager.ReputationType reputationType) Gets the reputation of an entity for a given type.int
Gets the trading experience of this villager.int
Gets the level of this villager.Gets the current type of this villager.int
getWeightedReputation
(UUID uuid, Villager.ReputationType reputationType) Gets the weighted reputation of an entity for a given type.void
removeReputation
(UUID uuid, Villager.ReputationType reputationType, int amount) Remove reputation of a given type towards a given entity.void
removeReputation
(UUID uuid, Villager.ReputationType reputationType, int amount, Villager.ReputationEvent changeReason) Remove reputation of a given type towards a given entity, with a specific change reason.void
setGossipDecayTime
(long ticks) Sets the reputation decay time for this villager.void
setProfession
(Villager.Profession profession) Sets the new profession of this villager.void
setReputation
(UUID uuid, Villager.ReputationType reputationType, int amount) Set reputation of a given type towards a given entity.void
setReputation
(UUID uuid, Villager.ReputationType reputationType, int amount, Villager.ReputationEvent changeReason) Set reputation of a given type towards a given entity, with a specific change reason.void
setVillagerExperience
(int experience) Sets the trading experience of this villager.void
setVillagerLevel
(int level) Sets the level of this villager.void
setVillagerType
(Villager.Type type) Sets the new type of this villager.void
Causes this villager to shake his head.boolean
Attempts to make this villager sleep at the given location.void
wakeup()
Causes this villager to wake up if he's currently sleeping.zombify()
Convert this Villager into a ZombieVillager as if it was killed by a Zombie.Methods inherited from interface org.bukkit.entity.AbstractVillager
getInventory
Methods inherited from interface org.bukkit.entity.Ageable
getAge, isAdult, setAdult, setAge, setBaby
Methods inherited from interface org.bukkit.attribute.Attributable
getAttribute
Methods inherited from interface org.bukkit.entity.Breedable
canBreed, getAgeLock, setAgeLock, setBreed
Methods inherited from interface org.bukkit.command.CommandSender
getName, sendMessage, sendMessage, sendMessage, sendMessage
Methods inherited from interface org.bukkit.entity.Damageable
damage, damage, damage, getAbsorptionAmount, getHealth, getMaxHealth, resetMaxHealth, setAbsorptionAmount, setHealth, setMaxHealth
Methods inherited from interface org.bukkit.entity.Entity
addPassenger, addScoreboardTag, copy, copy, createSnapshot, eject, getAsString, getBoundingBox, getEntityId, getFacing, getFallDistance, getFireTicks, getFreezeTicks, getHeight, getLastDamageCause, getLocation, getLocation, getMaxFireTicks, getMaxFreezeTicks, getNearbyEntities, getPassenger, getPassengers, getPistonMoveReaction, getPortalCooldown, getPose, getScoreboardTags, getServer, getSpawnCategory, getSwimHighSpeedSplashSound, getSwimSound, getSwimSplashSound, getTicksLived, getTrackedBy, getType, getUniqueId, getVehicle, getVelocity, getWidth, getWorld, hasGravity, isCustomNameVisible, isDead, isEmpty, isFrozen, isGlowing, isInsideVehicle, isInvulnerable, isInWater, isInWorld, isOnGround, isPersistent, isSilent, isValid, isVisibleByDefault, isVisualFire, leaveVehicle, playEffect, remove, removePassenger, removeScoreboardTag, setCustomNameVisible, setFallDistance, setFireTicks, setFreezeTicks, setGlowing, setGravity, setInvulnerable, setLastDamageCause, setPassenger, setPersistent, setPortalCooldown, setRotation, setSilent, setTicksLived, setVelocity, setVisibleByDefault, setVisualFire, spigot, teleport, teleport, teleport, teleport
Methods inherited from interface org.bukkit.entity.LivingEntity
addPotionEffect, addPotionEffect, addPotionEffects, attack, canBreatheUnderwater, getActivePotionEffects, getArrowCooldown, getArrowsInBody, getCanPickupItems, getCategory, getCollidableExemptions, getDeathSound, getDrinkingSound, getEatingSound, getEquipment, getEyeHeight, getEyeHeight, getEyeLocation, getFallDamageSound, getFallDamageSoundBig, getFallDamageSoundSmall, getHurtSound, getItemInUse, getItemInUseTicks, getKiller, getLastDamage, getLastTwoTargetBlocks, getLeashHolder, getLineOfSight, getMaximumAir, getMaximumNoDamageTicks, getMemory, getNoActionTicks, getNoDamageTicks, getPotionEffect, getRemainingAir, getRemoveWhenFarAway, getTargetBlock, getTargetBlockExact, getTargetBlockExact, hasAI, hasLineOfSight, hasPotionEffect, isClimbing, isCollidable, isGliding, isInvisible, isLeashed, isRiptiding, isSleeping, isSwimming, playHurtAnimation, rayTraceBlocks, rayTraceBlocks, removePotionEffect, setAI, setArrowCooldown, setArrowsInBody, setCanPickupItems, setCollidable, setGliding, setInvisible, setItemInUseTicks, setLastDamage, setLeashHolder, setMaximumAir, setMaximumNoDamageTicks, setMemory, setNoActionTicks, setNoDamageTicks, setRemainingAir, setRemoveWhenFarAway, setRiptiding, setSwimming, swingMainHand, swingOffHand
Methods inherited from interface org.bukkit.loot.Lootable
getLootTable, getSeed, setLootTable, setSeed
Methods inherited from interface org.bukkit.inventory.Merchant
getRecipe, getRecipeCount, getRecipes, getTrader, isTrading, setRecipe, setRecipes
Methods inherited from interface org.bukkit.metadata.Metadatable
getMetadata, hasMetadata, removeMetadata, setMetadata
Methods inherited from interface org.bukkit.entity.Mob
getAmbientSound, getTarget, isAware, setAware, setTarget
Methods inherited from interface org.bukkit.Nameable
getCustomName, setCustomName
Methods inherited from interface org.bukkit.permissions.Permissible
addAttachment, addAttachment, addAttachment, addAttachment, getEffectivePermissions, hasPermission, hasPermission, isPermissionSet, isPermissionSet, recalculatePermissions, removeAttachment
Methods inherited from interface org.bukkit.persistence.PersistentDataHolder
getPersistentDataContainer
Methods inherited from interface org.bukkit.projectiles.ProjectileSource
launchProjectile, launchProjectile
Methods inherited from interface org.bukkit.permissions.ServerOperator
isOp, setOp
-
Method Details
-
getProfession
Gets the current profession of this villager.- Returns:
- Current profession.
-
setProfession
Sets the new profession of this villager.- Parameters:
profession
- New profession.
-
getVillagerType
Gets the current type of this villager.- Returns:
- Current type.
-
setVillagerType
Sets the new type of this villager.- Parameters:
type
- New type.
-
getVillagerLevel
int getVillagerLevel()Gets the level of this villager. A villager with a level of 1 and no experience is liable to lose its profession.- Returns:
- this villager's level
-
setVillagerLevel
void setVillagerLevel(int level) Sets the level of this villager. A villager with a level of 1 and no experience is liable to lose its profession.- Parameters:
level
- the new level- Throws:
IllegalArgumentException
- if level not between [1, 5]
-
getVillagerExperience
int getVillagerExperience()Gets the trading experience of this villager.- Returns:
- trading experience
-
setVillagerExperience
void setVillagerExperience(int experience) Sets the trading experience of this villager.- Parameters:
experience
- new experience- Throws:
IllegalArgumentException
- if experience < 0
-
sleep
Attempts to make this villager sleep at the given location.
The location must be in the current world and have a bed placed at the location. The villager will put its head on the specified block while sleeping.- Parameters:
location
- the location of the bed- Returns:
- whether the sleep was successful
-
wakeup
void wakeup()Causes this villager to wake up if he's currently sleeping.- Throws:
IllegalStateException
- if not sleeping
-
shakeHead
void shakeHead()Causes this villager to shake his head. -
zombify
Convert this Villager into a ZombieVillager as if it was killed by a Zombie. Note: this will fire a EntityTransformEvent- Returns:
- the converted entity
ZombieVillager
or null if the conversion its cancelled
-
getReputation
Gets the reputation of an entity for a given type.- Parameters:
uuid
- the UUID of the entity whose reputation is being checkedreputationType
- reputation type to be retrieved- Returns:
- current reputation for the given reputation type
-
getWeightedReputation
Gets the weighted reputation of an entity for a given type.The total reputation of an entity is a sum of its weighted reputations of each type, where the reputation is multiplied by weight assigned to its type.
- Parameters:
uuid
- the UUID of the entity whose reputation is being checkedreputationType
- reputation type to be retrieved- Returns:
- current reputation for the given reputation type
- See Also:
-
getReputation
Gets the reputation of an entity.- Parameters:
uuid
- the UUID of the entity whose reputation is being checked- Returns:
- current reputation for the given reputation type
-
addReputation
Add reputation of a given type towards a given entity.The final value will be clamped to the maximum value supported by the provided reputation type. If the final value is below the reputation discard threshold, gossip associated with this reputation type will be removed.
Note: this will fire a
VillagerReputationChangeEvent
.- Parameters:
uuid
- the UUID of the entity for whom the reputation is being addedreputationType
- reputation type to be modifiedamount
- amount of reputation to add
-
addReputation
void addReputation(@NotNull UUID uuid, @NotNull Villager.ReputationType reputationType, int amount, @NotNull Villager.ReputationEvent changeReason) Add reputation of a given type towards a given entity, with a specific change reason.The final value will be clamped to the maximum value supported by the provided reputation type. If the final value is below the reputation discard threshold, gossip associated with this reputation type will be removed.
Note: this will fire a
VillagerReputationChangeEvent
.- Parameters:
uuid
- the UUID of the entity for whom the reputation is being addedreputationType
- reputation type to be modifiedamount
- amount of reputation to addchangeReason
- reputation change reason
-
removeReputation
void removeReputation(@NotNull UUID uuid, @NotNull Villager.ReputationType reputationType, int amount) Remove reputation of a given type towards a given entity.The final value will be clamped to the maximum value supported by the provided reputation type. If the final value is below the reputation discard threshold, gossip associated with this reputation type will be removed.
Note: this will fire a
VillagerReputationChangeEvent
.- Parameters:
uuid
- the UUID of the entity for whom the reputation is being removedreputationType
- reputation type to be modifiedamount
- amount of reputation to remove
-
removeReputation
void removeReputation(@NotNull UUID uuid, @NotNull Villager.ReputationType reputationType, int amount, @NotNull Villager.ReputationEvent changeReason) Remove reputation of a given type towards a given entity, with a specific change reason.The final value will be clamped to the maximum value supported by the provided reputation type. If the final value is below the reputation discard threshold, gossip associated with this reputation type will be removed.
Note: this will fire a
VillagerReputationChangeEvent
.- Parameters:
uuid
- the UUID of the entity for whom the reputation is being removedreputationType
- reputation type to be modifiedamount
- amount of reputation to removechangeReason
- reputation change reason
-
setReputation
Set reputation of a given type towards a given entity.The final value will be clamped to the maximum value supported by the provided reputation type. If the final value is below the reputation discard threshold, gossip associated with this reputation type will be removed.
Note: this will fire a
VillagerReputationChangeEvent
.- Parameters:
uuid
- the UUID of the entity for whom the reputation is being addedreputationType
- reputation type to be modifiedamount
- amount of reputation to add
-
setReputation
void setReputation(@NotNull UUID uuid, @NotNull Villager.ReputationType reputationType, int amount, @NotNull Villager.ReputationEvent changeReason) Set reputation of a given type towards a given entity, with a specific change reason.The final value will be clamped to the maximum value supported by the provided reputation type. If the final value is below the reputation discard threshold, gossip associated with this reputation type will be removed.
Note: this will fire a
VillagerReputationChangeEvent
.- Parameters:
uuid
- the UUID of the entity for whom the reputation is being addedreputationType
- reputation type to be modifiedamount
- amount of reputation to addchangeReason
- reputation change reason
-
setGossipDecayTime
void setGossipDecayTime(long ticks) Sets the reputation decay time for this villager.Defaults to 24000 (1 daylight cycle).
- Parameters:
ticks
- amount of ticks until the villager's reputation decays
-
getGossipDecayTime
long getGossipDecayTime()Gets the reputation decay time for this villager.Defaults to 24000 (1 daylight cycle).
- Returns:
- amount of ticks until the villager's reputation decays
-