Package org.bukkit.entity

# Interface ZombieVillager

All Superinterfaces:
  `Ageable`, `Attributable`, `Audience`, `CommandSender`, `Creature`, `Damageable`, `Entity`, `Frictional`, `HoverEventSource<HoverEvent.ShowEntity>`, `LivingEntity`, `Lootable`, `Metadatable`, `Mob`, `Monster`, `Nameable`, `Permissible`, `PersistentDataHolder`, `Pointered`, `ProjectileSource`, `ServerOperator`, `Sound.Emitter`, `Zombie`

public interface ZombieVillager extends Zombie
Represents a `Zombie` which was once a `Villager`.

## Nested Class Summary

## Nested classes/interfaces inherited from interface org.bukkit.entity.Entity

`Entity.Spigot`

## Method Summary

Modifier and Type
Method
Description
`@Nullable OfflinePlayer`
`getConversionPlayer()`
Gets the player who initiated the conversion.
`int`
`getConversionTime()`
Gets the amount of ticks until this entity will be converted to a Villager as a result of being cured.
`Villager.Profession`
`getVillagerProfession()`
Returns the villager profession of this zombie.
`Villager.Type`
`getVillagerType()`
Gets the current type of this villager.
`boolean`
`isConverting()`
Get if this entity is in the process of converting to a Villager as a result of being cured.
`void`
`setConversionPlayer(@Nullable OfflinePlayer conversionPlayer)`
Sets the player who initiated the conversion.
`void`
`setConversionTime(int time)`
Sets the amount of ticks until this entity will be converted to a Villager as a result of being cured.
`void`
`setConversionTime(int time, boolean broadcastEntityEvent)`
Sets the amount of ticks until this entity will be converted to a Villager as a result of being cured.
`void`
`setVillagerProfession(Villager.Profession profession)`
Sets the villager profession of this zombie.
`void`
`setVillagerType(Villager.Type type)`
Sets the new type of this villager.

### Methods inherited from interface org.bukkit.entity.Ageable

`canBreed, getAge, getAgeLock, isAdult, setAdult, setAge, setAgeLock, setBaby, setBreed`

### Methods inherited from interface org.bukkit.attribute.Attributable

`getAttribute, registerAttribute`

### Methods inherited from interface net.kyori.adventure.audience.Audience

`clearTitle, deleteMessage, deleteMessage, filterAudience, forEachAudience, hideBossBar, openBook, openBook, playSound, playSound, playSound, resetTitle, sendActionBar, sendActionBar, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendPlayerListFooter, sendPlayerListFooter, sendPlayerListHeader, sendPlayerListHeader, sendPlayerListHeaderAndFooter, sendPlayerListHeaderAndFooter, sendTitlePart, showBossBar, showTitle, stopSound, stopSound`

### Methods inherited from interface org.bukkit.command.CommandSender

`getName, name, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendMessage, sendPlainMessage, sendRichMessage`

### Methods inherited from interface org.bukkit.entity.Damageable

`damage, damage, getAbsorptionAmount, getHealth, getMaxHealth, resetMaxHealth, setAbsorptionAmount, setHealth, setMaxHealth`

### Methods inherited from interface org.bukkit.entity.Entity

`addPassenger, addScoreboardTag, asHoverEvent, collidesAt, eject, fromMobSpawner, getBoundingBox, getChunk, getEntityId, getEntitySpawnReason, getFacing, getFallDistance, getFireTicks, getFreezeTicks, getHeight, getLastDamageCause, getLocation, getLocation, getMaxFireTicks, getMaxFreezeTicks, getNearbyEntities, getOrigin, getPassenger, getPassengers, getPistonMoveReaction, getPortalCooldown, getPose, getScoreboardTags, getServer, getSpawnCategory, getSwimHighSpeedSplashSound, getSwimSound, getSwimSplashSound, getTicksLived, getTrackedPlayers, getType, getUniqueId, getVehicle, getVelocity, getWidth, getWorld, hasGravity, isCustomNameVisible, isDead, isEmpty, isFreezeTickingLocked, isFrozen, isGlowing, isInBubbleColumn, isInLava, isInPowderedSnow, isInRain, isInsideVehicle, isInvulnerable, isInWater, isInWaterOrBubbleColumn, isInWaterOrRain, isInWaterOrRainOrBubbleColumn, isOnGround, isPersistent, isSilent, isTicking, isUnderWater, isValid, isVisualFire, leaveVehicle, lockFreezeTicks, playEffect, remove, removePassenger, removeScoreboardTag, setCustomNameVisible, setFallDistance, setFireTicks, setFreezeTicks, setGlowing, setGravity, setInvulnerable, setLastDamageCause, setPassenger, setPersistent, setPortalCooldown, setRotation, setSilent, setTicksLived, setVelocity, setVisualFire, spawnAt, spawnAt, spigot, teamDisplayName, teleport, teleport, teleport, teleport, teleport, teleport, teleport, teleport, teleportAsync, teleportAsync, wouldCollideUsing`

### Methods inherited from interface io.papermc.paper.entity.Frictional

`getFrictionState, setFrictionState`

### Methods inherited from interface net.kyori.adventure.text.event.HoverEventSource

`asHoverEvent`

### Methods inherited from interface org.bukkit.entity.LivingEntity

`addPotionEffect, addPotionEffect, addPotionEffects, attack, broadcastSlotBreak, broadcastSlotBreak, canBreatheUnderwater, clearActiveItem, damageItemStack, damageItemStack, getActiveItem, getActivePotionEffects, getArrowCooldown, getArrowsInBody, getArrowsStuck, getBeeStingerCooldown, getBeeStingersInBody, getCanPickupItems, getCategory, getCollidableExemptions, getDeathSound, getDrinkingSound, getEatingSound, getEyeHeight, getEyeHeight, getEyeLocation, getFallDamageSound, getFallDamageSoundBig, getFallDamageSoundSmall, getHandRaised, getHandRaisedTime, getHurtDirection, getHurtSound, getItemUseRemainingTime, getKiller, getLastDamage, getLastTwoTargetBlocks, getLeashHolder, getLineOfSight, getMaximumAir, getMaximumNoDamageTicks, getMemory, getNoDamageTicks, getPotionEffect, getRemainingAir, getRemoveWhenFarAway, getShieldBlockingDelay, getTargetBlock, getTargetBlock, getTargetBlock, getTargetBlockExact, getTargetBlockExact, getTargetBlockFace, getTargetBlockFace, getTargetBlockInfo, getTargetBlockInfo, getTargetEntity, getTargetEntity, getTargetEntityInfo, getTargetEntityInfo, hasAI, hasLineOfSight, hasLineOfSight, hasPotionEffect, isClimbing, isCollidable, isGliding, isHandRaised, isInvisible, isJumping, isLeashed, isRiptiding, isSleeping, isSwimming, knockback, playPickupItemAnimation, playPickupItemAnimation, rayTraceBlocks, rayTraceBlocks, removePotionEffect, setAI, setArrowCooldown, setArrowsInBody, setArrowsStuck, setBeeStingerCooldown, setBeeStingersInBody, setCanPickupItems, setCollidable, setGliding, setHurtDirection, setInvisible, setJumping, setKiller, setLastDamage, setLeashHolder, setMaximumAir, setMaximumNoDamageTicks, setMemory, setNoDamageTicks, setRemainingAir, setRemoveWhenFarAway, setShieldBlockingDelay, setSwimming, swingHand, swingMainHand, swingOffHand`

### Methods inherited from interface org.bukkit.loot.Lootable

`clearLootTable, getLootTable, getSeed, hasLootTable, setLootTable, setLootTable, setSeed`

### Methods inherited from interface org.bukkit.metadata.Metadatable

`getMetadata, hasMetadata, removeMetadata, setMetadata`

### Methods inherited from interface org.bukkit.entity.Mob

`getAmbientSound, getEquipment, getHeadRotationSpeed, getMaxHeadPitch, getPathfinder, getTarget, isAware, isInDaylight, isLeftHanded, lookAt, lookAt, lookAt, lookAt, lookAt, lookAt, setAware, setLeftHanded, setTarget`

### Methods inherited from interface org.bukkit.Nameable

`customName, customName, getCustomName, setCustomName`

### Methods inherited from interface org.bukkit.permissions.Permissible

`addAttachment, addAttachment, addAttachment, addAttachment, getEffectivePermissions, hasPermission, hasPermission, isPermissionSet, isPermissionSet, permissionValue, permissionValue, recalculatePermissions, removeAttachment`

### Methods inherited from interface org.bukkit.persistence.PersistentDataHolder

`getPersistentDataContainer`

### Methods inherited from interface net.kyori.adventure.pointer.Pointered

`get, getOrDefault, getOrDefaultFrom, pointers`

### Methods inherited from interface org.bukkit.projectiles.ProjectileSource

`launchProjectile, launchProjectile, launchProjectile`

### Methods inherited from interface org.bukkit.permissions.ServerOperator

`isOp, setOp`

### Methods inherited from interface org.bukkit.entity.Zombie

`canBreakDoors, isArmsRaised, isBaby, isDrowning, isVillager, setArmsRaised, setBaby, setCanBreakDoors, setShouldBurnInDay, setVillager, shouldBurnInDay, startDrowning, stopDrowning, supportsBreakingDoors`

## Method Details

### setVillagerProfession

void setVillagerProfession(@Nullable Villager.Profession profession)
Sets the villager profession of this zombie.

Specified by:
  `setVillagerProfession` in interface `Zombie`
Parameters:
  `profession` - profession
See Also:
  - `getVillagerProfession()`

### getVillagerProfession

@Nullable Villager.Profession getVillagerProfession()
Returns the villager profession of this zombie.

Specified by:
  `getVillagerProfession` in interface `Zombie`
Returns:
  the profession or null
See Also:
  - `getVillagerProfession()`

### getVillagerType

@NotNull Villager.Type getVillagerType()
Gets the current type of this villager.

Returns:
  Current type.

### setVillagerType

void setVillagerType(@NotNull Villager.Type type)
Sets the new type of this villager.

Parameters:
  `type` - New type.

### isConverting

boolean isConverting()
Get if this entity is in the process of converting to a Villager as a result of being cured.

Specified by:
  `isConverting` in interface `Zombie`
Returns:
  conversion status

### getConversionTime

int getConversionTime()
Gets the amount of ticks until this entity will be converted to a Villager as a result of being cured. When this reaches 0, the entity will be converted.

Specified by:
  `getConversionTime` in interface `Zombie`
Returns:
  conversion time
Throws:
  `IllegalStateException` - if `isConverting()` is false.

### setConversionTime

void setConversionTime(int time)
Sets the amount of ticks until this entity will be converted to a Villager as a result of being cured. When this reaches 0, the entity will be converted. A value of less than 0 will stop the current conversion process without converting the current entity.

Specified by:
  `setConversionTime` in interface `Zombie`
Parameters:
  `time` - new conversion time

### getConversionPlayer

@Nullable @Nullable OfflinePlayer getConversionPlayer()
Gets the player who initiated the conversion.

Returns:
  the player, or `null` if the player is unknown or the entity isn't converting currently

### setConversionPlayer

void setConversionPlayer(@Nullable @Nullable OfflinePlayer conversionPlayer)
Sets the player who initiated the conversion.

This has no effect if this entity isn't converting currently.

Parameters:
  `conversionPlayer` - the player

### setConversionTime

void setConversionTime(int time, boolean broadcastEntityEvent)
Sets the amount of ticks until this entity will be converted to a Villager as a result of being cured.

When this reaches 0, the entity will be converted. A value of less than 0 will stop the current conversion process without converting the current entity.

Parameters:
  `time` - new conversion time
  `broadcastEntityEvent` - whether this conversion time mutation should broadcast the org.bukkit.`EntityEffect.ZOMBIE_TRANSFORM` entity event to the world. If false, no entity event is published, preventing for example the org.bukkit.`Sound.ENTITY_ZOMBIE_VILLAGER_CURE` from playing.