net.minecraft.entity.passive

## Class EntityVillager

- java.lang.Object
- - net.minecraft.entity.Entity
  - - 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 INpc, IMerchant

- - ### 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.EntityLiving

      `arrowHitTimer, attackedAtYaw, attackTime, cameraPitch, carryoverDamage, deathTime, experienceValue, field_70730_aX, field_70731_aW, field_70769_ao, field_70770_ap, hurtTime, isJumping, isSwingInProgress, jumpMovementFactor, landMovementFactor, limbSwing, limbYaw, livingSoundTime, maxHurtResistantTime, maxHurtTime, pickUpLootProability, prevCameraPitch, prevHealth, prevLimbYaw, prevRenderYawOffset, prevRotationYawHead, prevSwingProgress, renderYawOffset, rotationYawHead, swingProgress, swingProgressInt, tasks`

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

      `addedToChunk, boundingBox, capturedDrops, captureDrops, chunkCoordX, chunkCoordY, chunkCoordZ, cloakUrl, dimension, distanceWalkedModified, entityCollisionReduction, entityId, fallDistance, field_70135_K, field_82151_R, field_98038_p, fireResistance, 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, skinUrl, 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
    `EntityAgeable` | `createChild(EntityAgeable par1EntityAgeable)`
    `void` | `func_82187_q()`
    `EntityVillager` | `func_90012_b(EntityAgeable par1EntityAgeable)`
    `EntityPlayer` | `getCustomer()`
    `int` | `getMaxHealth()`
    `int` | `getProfession()`
    `MerchantRecipeList` | `getRecipes(EntityPlayer par1EntityPlayer)`
    `String` | `getTexture()`
    `void` | `handleHealthUpdate(byte par1)`
    `void` | `initCreature()` Initialize this creature.
    `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.
    `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(EntityLiving par1EntityLiving)`
    `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

      `func_98054_a, getGrowingAge, isChild, onLivingUpdate, setGrowingAge`

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

      `getBlockPathWeight, getCanSpawnHere, getEntityToAttack, getSpeedModifier, hasPath, setPathToEntity, setTarget`

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

      `addPotionEffect, attackEntityAsMob, attackEntityFrom, canAttackClass, canBeCollidedWith, canBePushed, canBeSteered, canBreatheUnderwater, canEntityBeSeen, clearActivePotions, curePotionEffects, detachHome, eatGrassBonus, faceEntity, func_82143_as, func_82159_b, func_94056_bM, func_94057_bL, func_94058_c, func_94059_bO, func_94060_bK, func_94061_f, func_94062_bN, func_96120_a, func_98052_bS, func_98053_h, getActivePotionEffect, getActivePotionEffects, getAge, getAIMoveSpeed, getAITarget, getArmorItemForSlot, getArrowCountInEntity, getAttackTarget, getCreatureAttribute, getCurrentArmor, getCurrentItemOrArmor, getEntityName, getEntitySenses, getEyeHeight, getHealth, getHeldItem, getHomePosition, getItemIcon, getJumpHelper, getLastActiveItems, getLastAttackingEntity, getLook, getLookHelper, getLookVec, getMaximumHomeDistance, getMaxSpawnedInChunk, getMoveHelper, getNavigator, getPosition, getRenderSizeModifier, getRNG, getRotationYawHead, getSwingProgress, getTalkInterval, getTotalArmorValue, getVerticalFaceSpeed, hasHome, heal, isBlocking, isEntityAlive, isEntityUndead, isOnLadder, isPlayerSleeping, isPotionActive, isPotionActive, isPotionApplicable, isWithinHomeDistance, isWithinHomeDistanceCurrentPosition, knockBack, moveEntityWithHeading, onEntityUpdate, onItemPickup, onUpdate, performHurtAnimation, playLivingSound, rayTrace, removePotionEffect, removePotionEffectClient, renderBrokenItemStack, setAIMoveSpeed, setArrowCountInEntity, setAttackTarget, setCurrentItemOrArmor, setEntityHealth, setHomeArea, setJumping, setLastAttackingEntity, setMoveForward, setPositionAndRotation2, setPositionAndUpdate, setRotationYawHead, shouldRiderFaceForward, spawnExplosionParticle, swingItem, updateRidden`

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

      `addEntityID, addToPlayerScore, addVelocity, applyEntityCollision, canAttackWithItem, canRenderOnFire, copyDataFrom, doesEntityNotTriggerPressurePlate, dropItem, dropItemWithOffset, entityDropItem, equals, extinguish, func_82146_a, func_82148_at, func_82149_j, func_85029_a, func_85031_j, func_96090_ax, func_96091_a, func_96092_aw, func_98034_c, func_98035_c, getAir, getBoundingBox, getBrightness, getBrightnessForRender, getCollisionBorderSize, getCollisionBox, getDataWatcher, getDistance, getDistanceSq, getDistanceSqToEntity, getDistanceToEntity, getEntityData, getHasActivePotion, getMaxInPortalTime, getMountedYOffset, getParts, getPersistentID, getPickedResult, getPortalCooldown, getShadowSize, getYOffset, handleLavaMovement, handleWaterMovement, hashCode, isBurning, isCreatureType, isEating, isEntityEqual, isEntityInsideOpaqueBlock, isEntityInvulnerable, isImmuneToFire, isInRangeToRenderDist, isInRangeToRenderVec3D, isInsideOfMaterial, isInWater, isOffsetPositionInLiquid, isRiding, isSneaking, isSprinting, isWet, mountEntity, moveEntity, moveFlying, onCollideWithPlayer, onKillEntity, onStruckByLightning, playSound, readFromNBT, resetEntityId, setAir, setAngles, setDead, setEating, setFire, setHasActivePotion, setInPortal, setInWeb, setLocationAndAngles, setPosition, setPositionAndRotation, setSneaking, setSprinting, setVelocity, setWorld, shouldRenderInPass, shouldRiderSit, toString, travelToDimension, unmountEntity, updateCloak, updateRiderPosition, writeToNBT`

    - ### 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`

    - #### getMaxHealth

          public int getMaxHealth()

      Specified by:
        `getMaxHealth` in class `EntityLiving`

    - #### 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`

    - #### getTexture

          public String getTexture()

      Overrides:
        `getTexture` in class `EntityLiving`

    - #### 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(EntityLiving par1EntityLiving)

      Overrides:
        `setRevengeTarget` in class `EntityLiving`

    - #### onDeath

          public void onDeath(DamageSource par1DamageSource)

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

    - #### 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`

    - #### 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 `EntityLiving`

    - #### initCreature

          public void initCreature()

      Initialize this creature.
      Overrides:
        `initCreature` in class `EntityLiving`

    - #### func_82187_q

          public void func_82187_q()

    - #### func_90012_b

          public EntityVillager func_90012_b(EntityAgeable par1EntityAgeable)

    - #### createChild

          public EntityAgeable createChild(EntityAgeable par1EntityAgeable)

      Specified by:
        `createChild` in class `EntityAgeable`