# Uses of Interface
org.bukkit.entity.AbstractVillager

Packages that use AbstractVillager
Package
Description
com.destroystokyo.paper.entity.ai
io.papermc.paper.event.player
org.bukkit.entity
Interfaces for non-voxel objects that can exist in a `world`, including all players, monsters, projectiles, etc.
org.bukkit.event.entity
`Events` relating to `entities`, excluding some directly referencing some more specific entity types.

## Uses of AbstractVillager in com.destroystokyo.paper.entity.ai

Fields in com.destroystokyo.paper.entity.ai with type parameters of type AbstractVillager
Modifier and Type
Field
Description
`static final GoalKey<AbstractVillager>`
VanillaGoal.`LOOK_AT_TRADING_PLAYER`
`static final GoalKey<AbstractVillager>`
VanillaGoal.`TRADE_WITH_PLAYER`

## Uses of AbstractVillager in io.papermc.paper.event.player

Methods in io.papermc.paper.event.player that return AbstractVillager
Modifier and Type
Method
Description
`@NotNull AbstractVillager`
PlayerTradeEvent.`getVillager()`
Gets the Villager or Wandering trader associated with this event
Constructors in io.papermc.paper.event.player with parameters of type AbstractVillager
Modifier
Constructor
Description
``
`PlayerTradeEvent(@NotNull Player player, @NotNull AbstractVillager villager, @NotNull MerchantRecipe trade, boolean rewardExp, boolean increaseTradeUses)`

## Uses of AbstractVillager in org.bukkit.entity

Subinterfaces of AbstractVillager in org.bukkit.entity
Modifier and Type
Interface
Description
`interface`
`Villager`
Represents a villager NPC
`interface`
`WanderingTrader`
Represents a wandering trader NPC

## Uses of AbstractVillager in org.bukkit.event.entity

Methods in org.bukkit.event.entity that return AbstractVillager
Modifier and Type
Method
Description
`@NotNull AbstractVillager`
VillagerAcquireTradeEvent.`getEntity()`
`@NotNull AbstractVillager`
VillagerReplenishTradeEvent.`getEntity()`
Constructors in org.bukkit.event.entity with parameters of type AbstractVillager
Modifier
Constructor
Description
``
`VillagerAcquireTradeEvent(@NotNull AbstractVillager what, @NotNull MerchantRecipe recipe)`
``
`VillagerReplenishTradeEvent(@NotNull AbstractVillager what, @NotNull MerchantRecipe recipe)`