net.minecraft.entity.passive

## Class EntityVillager

- java.lang.Object
- - net.minecraft.entity.Entity
  - - net.minecraft.entity.EntityLivingBase
    - - net.minecraft.entity.EntityLiving
      - - net.minecraft.entity.EntityCreature
        - - net.minecraft.entity.EntityAgeable
          - - net.minecraft.entity.passive.EntityVillager

- All Implemented Interfaces:
    IMerchant, INpc, IAnimals

      public class EntityVillager
      extends EntityAgeable
      implements IMerchant, INpc

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static Map` | `blacksmithSellingList` Selling list of Blacksmith items.
    `static Map` | `villagerStockList` a villagers recipe list is intialized off this list ; the 2 params are min/max amount they will trade for 1 emerald

    - ### Fields inherited from class net.minecraft.entity.EntityCreature

      `field_110179_h, field_110181_i`

    - ### Fields inherited from class net.minecraft.entity.EntityLiving

      `experienceValue, livingSoundTime, targetTasks, tasks`

    - ### Fields inherited from class net.minecraft.entity.EntityLivingBase

      `arrowHitTimer, attackedAtYaw, attackTime, cameraPitch, deathTime, field_70769_ao, field_70770_ap, hurtTime, isSwingInProgress, jumpMovementFactor, limbSwing, limbSwingAmount, maxHurtResistantTime, maxHurtTime, moveForward, moveStrafing, prevCameraPitch, prevHealth, prevLimbSwingAmount, prevRenderYawOffset, prevRotationYawHead, prevSwingProgress, renderYawOffset, rotationYawHead, swingProgress, swingProgressInt`

    - ### Fields inherited from class net.minecraft.entity.Entity

      `addedToChunk, boundingBox, capturedDrops, captureDrops, chunkCoordX, chunkCoordY, chunkCoordZ, dimension, distanceWalkedModified, distanceWalkedOnStepModified, entityCollisionReduction, entityId, fallDistance, field_70135_K, fireResistance, forceSpawn, height, hurtResistantTime, ignoreFrustumCheck, isAirBorne, isCollided, isCollidedHorizontally, isCollidedVertically, isDead, lastTickPosX, lastTickPosY, lastTickPosZ, motionX, motionY, motionZ, myEntitySize, noClip, onGround, posX, posY, posZ, prevDistanceWalkedModified, preventEntitySpawning, prevPosX, prevPosY, prevPosZ, prevRotationPitch, prevRotationYaw, renderDistanceWeight, riddenByEntity, ridingEntity, rotationPitch, rotationYaw, serverPosX, serverPosY, serverPosZ, stepHeight, ticksExisted, timeUntilPortal, velocityChanged, width, worldObj, yOffset, ySize`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `EntityVillager(World par1World)`
    `EntityVillager(World par1World, int par2)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static void` | `addBlacksmithItem(MerchantRecipeList par0MerchantRecipeList, int par1, Random par2Random, float par3)`
    `static void` | `addMerchantItem(MerchantRecipeList par0MerchantRecipeList, int par1, Random par2Random, float par3)` each recipie takes a random stack from villagerStockList and offers it for 1 emerald
    `boolean` | `allowLeashing()`
    `EntityAgeable` | `createChild(EntityAgeable par1EntityAgeable)`
    `void` | `func_110297_a_(ItemStack par1ItemStack)`
    `void` | `func_82187_q()`
    `EntityVillager` | `func_90012_b(EntityAgeable par1EntityAgeable)`
    `EntityPlayer` | `getCustomer()`
    `int` | `getProfession()`
    `MerchantRecipeList` | `getRecipes(EntityPlayer par1EntityPlayer)`
    `void` | `handleHealthUpdate(byte par1)`
    `boolean` | `interact(EntityPlayer par1EntityPlayer)` Called when a player interacts with a mob.
    `boolean` | `isAIEnabled()` Returns true if the newer Entity AI code should be run
    `boolean` | `isMating()`
    `boolean` | `isPlaying()`
    `boolean` | `isTrading()`
    `void` | `onDeath(DamageSource par1DamageSource)` Called when the mob's health reaches 0.
    `EntityLivingData` | `onSpawnWithEgg(EntityLivingData par1EntityLivingData)`
    `void` | `readEntityFromNBT(NBTTagCompound par1NBTTagCompound)` (abstract) Protected helper method to read subclass entity data from NBT.
    `void` | `setCustomer(EntityPlayer par1EntityPlayer)`
    `void` | `setMating(boolean par1)`
    `void` | `setPlaying(boolean par1)`
    `void` | `setProfession(int par1)`
    `void` | `setRecipes(MerchantRecipeList par1MerchantRecipeList)`
    `void` | `setRevengeTarget(EntityLivingBase par1EntityLivingBase)`
    `void` | `useRecipe(MerchantRecipe par1MerchantRecipe)`
    `void` | `writeEntityToNBT(NBTTagCompound par1NBTTagCompound)` (abstract) Protected helper method to write subclass entity data to NBT.

    - ### Methods inherited from class net.minecraft.entity.EntityAgeable

      `addGrowth, getGrowingAge, isChild, onLivingUpdate, setGrowingAge, setScaleForAge`

    - ### Methods inherited from class net.minecraft.entity.EntityCreature

      `detachHome, func_110173_bK, func_110174_bM, func_110176_b, getBlockPathWeight, getCanSpawnHere, getEntityToAttack, getHomePosition, hasHome, hasPath, setHomeArea, setPathToEntity, setTarget`

    - ### Methods inherited from class net.minecraft.entity.EntityLiving

      `canAttackClass, canBeSteered, canPickUpLoot, clearLeashed, eatGrassBonus, faceEntity, func_110163_bv, func_130225_q, getAlwaysRenderNameTag, getAlwaysRenderNameTagForRender, getArmorItemForSlot, getArmorPosition, getAttackTarget, getCurrentItemOrArmor, getCustomNameTag, getEntityName, getEntitySenses, getHeldItem, getJumpHelper, getLastActiveItems, getLeashed, getLeashedToEntity, getLookHelper, getMaxSafePointTries, getMaxSpawnedInChunk, getMoveHelper, getNavigator, getRenderSizeModifier, getTalkInterval, getVerticalFaceSpeed, hasCustomNameTag, interactFirst, isNoDespawnRequired, onEntityUpdate, onUpdate, playLivingSound, setAIMoveSpeed, setAlwaysRenderNameTag, setAttackTarget, setCanPickUpLoot, setCurrentItemOrArmor, setCustomNameTag, setEquipmentDropChance, setLeashedToEntity, setMoveForward, spawnExplosionParticle`

    - ### Methods inherited from class net.minecraft.entity.EntityLivingBase

      `addPotionEffect, attackEntityAsMob, attackEntityFrom, canBeCollidedWith, canBePushed, canBreatheUnderwater, canEntityBeSeen, clearActivePotions, curePotionEffects, dismountEntity, func_110142_aN, func_142015_aE, func_94060_bK, getAbsorptionAmount, getActivePotionEffect, getActivePotionEffects, getAge, getAIMoveSpeed, getAITarget, getArrowCountInEntity, getAttributeMap, getCreatureAttribute, getEntityAttribute, getEyeHeight, getHealth, getItemIcon, getLastAttacker, getLastAttackerTime, getLook, getLookVec, getMaxHealth, getPosition, getRNG, getRotationYawHead, getSwingProgress, getTeam, getTotalArmorValue, heal, isClientWorld, isEntityAlive, isEntityUndead, isOnLadder, isOnSameTeam, isOnTeam, isPlayerSleeping, isPotionActive, isPotionActive, isPotionApplicable, knockBack, moveEntityWithHeading, onItemPickup, performHurtAnimation, rayTrace, removePotionEffect, removePotionEffectClient, renderBrokenItemStack, setAbsorptionAmount, setArrowCountInEntity, setHealth, setJumping, setLastAttacker, setPositionAndRotation2, setPositionAndUpdate, setRotationYawHead, setSprinting, shouldRiderFaceForward, swingItem, updateRidden`

    - ### Methods inherited from class net.minecraft.entity.Entity

      `addEntityCrashInfo, addToPlayerScore, addVelocity, applyEntityCollision, canAttackWithItem, canRenderOnFire, canRiderInteract, copyDataFrom, copyLocationAndAnglesFrom, doesEntityNotTriggerPressurePlate, dropItem, dropItemWithOffset, entityDropItem, equals, extinguish, getAir, getBlockExplosionResistance, getBoundingBox, getBrightness, getBrightnessForRender, getCollisionBorderSize, getCollisionBox, getDataWatcher, getDistance, getDistanceSq, getDistanceSqToEntity, getDistanceToEntity, getEntityData, getExtendedProperties, getMaxInPortalTime, getMountedYOffset, getParts, getPersistentID, getPickedResult, getPortalCooldown, getShadowSize, getTeleportDirection, getTranslatedEntityName, getUniqueID, getYOffset, handleLavaMovement, handleWaterMovement, hashCode, hitByEntity, isBurning, isCreatureType, isEating, isEntityEqual, isEntityInsideOpaqueBlock, isEntityInvulnerable, isImmuneToFire, isInRangeToRenderDist, isInRangeToRenderVec3D, isInsideOfMaterial, isInvisible, isInvisibleToPlayer, isInWater, isOffsetPositionInLiquid, isPushedByWater, isRiding, isSneaking, isSprinting, isWet, mountEntity, moveEntity, moveFlying, onChunkLoad, onCollideWithPlayer, onKillEntity, onStruckByLightning, playSound, readFromNBT, registerExtendedProperties, resetEntityId, setAir, setAngles, setDead, setEating, setFire, setInPortal, setInvisible, setInWeb, setLocationAndAngles, setPosition, setPositionAndRotation, setSneaking, setVelocity, setWorld, shouldDismountInWater, shouldExplodeBlock, shouldRenderInPass, shouldRiderSit, toString, travelToDimension, updateRiderPosition, writeMountToNBT, writeToNBT, writeToNBTOptional`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### villagerStockList

          public static final Map villagerStockList

      a villagers recipe list is intialized off this list ; the 2 params are min/max amount they will trade for 1 emerald

    - #### blacksmithSellingList

          public static final Map blacksmithSellingList

      Selling list of Blacksmith items. negative numbers mean 1 emerald for n items, positive numbers are n emeralds for 1 item

  - ### Constructor Detail

    - #### EntityVillager

          public EntityVillager(World par1World)

    - #### EntityVillager

          public EntityVillager(World par1World,
                        int par2)

  - ### Method Detail

    - #### isAIEnabled

          public boolean isAIEnabled()

      Returns true if the newer Entity AI code should be run

    - #### interact

          public boolean interact(EntityPlayer par1EntityPlayer)

      Called when a player interacts with a mob. e.g. gets milk from a cow, gets into the saddle on a pig.
      Overrides:
        `interact` in class `EntityAgeable`

    - #### writeEntityToNBT

          public void writeEntityToNBT(NBTTagCompound par1NBTTagCompound)

      (abstract) Protected helper method to write subclass entity data to NBT.
      Overrides:
        `writeEntityToNBT` in class `EntityAgeable`

    - #### readEntityFromNBT

          public void readEntityFromNBT(NBTTagCompound par1NBTTagCompound)

      (abstract) Protected helper method to read subclass entity data from NBT.
      Overrides:
        `readEntityFromNBT` in class `EntityAgeable`

    - #### setProfession

          public void setProfession(int par1)

    - #### getProfession

          public int getProfession()

    - #### isMating

          public boolean isMating()

    - #### setMating

          public void setMating(boolean par1)

    - #### setPlaying

          public void setPlaying(boolean par1)

    - #### isPlaying

          public boolean isPlaying()

    - #### setRevengeTarget

          public void setRevengeTarget(EntityLivingBase par1EntityLivingBase)

      Overrides:
        `setRevengeTarget` in class `EntityLivingBase`

    - #### onDeath

          public void onDeath(DamageSource par1DamageSource)

      Called when the mob's health reaches 0.
      Overrides:
        `onDeath` in class `EntityLivingBase`

    - #### setCustomer

          public void setCustomer(EntityPlayer par1EntityPlayer)

      Specified by:
        `setCustomer` in interface `IMerchant`

    - #### getCustomer

          public EntityPlayer getCustomer()

      Specified by:
        `getCustomer` in interface `IMerchant`

    - #### isTrading

          public boolean isTrading()

    - #### useRecipe

          public void useRecipe(MerchantRecipe par1MerchantRecipe)

      Specified by:
        `useRecipe` in interface `IMerchant`

    - #### func_110297_a_

          public void func_110297_a_(ItemStack par1ItemStack)

      Specified by:
        `func_110297_a_` in interface `IMerchant`

    - #### getRecipes

          public MerchantRecipeList getRecipes(EntityPlayer par1EntityPlayer)

      Specified by:
        `getRecipes` in interface `IMerchant`

    - #### setRecipes

          public void setRecipes(MerchantRecipeList par1MerchantRecipeList)

      Specified by:
        `setRecipes` in interface `IMerchant`

    - #### addMerchantItem

          public static void addMerchantItem(MerchantRecipeList par0MerchantRecipeList,
                             int par1,
                             Random par2Random,
                             float par3)

      each recipie takes a random stack from villagerStockList and offers it for 1 emerald

    - #### addBlacksmithItem

          public static void addBlacksmithItem(MerchantRecipeList par0MerchantRecipeList,
                               int par1,
                               Random par2Random,
                               float par3)

    - #### handleHealthUpdate

          public void handleHealthUpdate(byte par1)

      Overrides:
        `handleHealthUpdate` in class `EntityLivingBase`

    - #### onSpawnWithEgg

          public EntityLivingData onSpawnWithEgg(EntityLivingData par1EntityLivingData)

      Overrides:
        `onSpawnWithEgg` in class `EntityLiving`

    - #### func_82187_q

          public void func_82187_q()

    - #### func_90012_b

          public EntityVillager func_90012_b(EntityAgeable par1EntityAgeable)

    - #### allowLeashing

          public boolean allowLeashing()

      Overrides:
        `allowLeashing` in class `EntityLiving`

    - #### createChild

          public EntityAgeable createChild(EntityAgeable par1EntityAgeable)

      Specified by:
        `createChild` in class `EntityAgeable`