Java Code Examples for net.minecraft.entity.passive.EntityVillager

The following are top voted examples for showing how to use net.minecraft.entity.passive.EntityVillager. These examples are extracted from open source projects. You can vote up the examples you like and your votes will be used in our system to generate more good examples.
Example 1
Project: VillagerInventory   File: VillagerInventoryMod.java   View source code 6 votes vote down vote up
@SubscribeEvent
public static void onEntityDeath(LivingDeathEvent event)
{
	// if villager death drops are enabled, if the newly dead entity is a villager, and that villager was killed by a player...
	if ((ModConfiguration.enableDeathDrops) && (event.getEntityLiving() instanceof EntityVillager) && (event.getSource().getTrueSource() instanceof EntityPlayerMP))
	{
		// iterate through the itemstacks in the villager's inventory
		InventoryBasic inventory = ((EntityVillager)event.getEntityLiving()).getVillagerInventory();
		for (int i = 0; i < inventory.getSizeInventory(); i++)
		{
			// remove the stack from the inventory and spawn it in the world
			ItemStack stack = inventory.getStackInSlot(i);
			if (stack != ItemStack.EMPTY)
			{
				event.getEntityLiving().entityDropItem(stack, 0.0F);
			}
		}
	}
}
 
Example 2
Project: DecompiledMinecraft   File: EntityZombie.java   View source code 6 votes vote down vote up
/**
 * Convert this zombie into a villager.
 */
protected void convertToVillager()
{
    EntityVillager entityvillager = new EntityVillager(this.worldObj);
    entityvillager.copyLocationAndAnglesFrom(this);
    entityvillager.onInitialSpawn(this.worldObj.getDifficultyForLocation(new BlockPos(entityvillager)), (IEntityLivingData)null);
    entityvillager.setLookingForHome();

    if (this.isChild())
    {
        entityvillager.setGrowingAge(-24000);
    }

    this.worldObj.removeEntity(this);
    entityvillager.setNoAI(this.isAIDisabled());

    if (this.hasCustomName())
    {
        entityvillager.setCustomNameTag(this.getCustomNameTag());
        entityvillager.setAlwaysRenderNameTag(this.getAlwaysRenderNameTag());
    }

    this.worldObj.spawnEntityInWorld(entityvillager);
    entityvillager.addPotionEffect(new PotionEffect(Potion.confusion.id, 200, 0));
    this.worldObj.playAuxSFXAtEntity((EntityPlayer)null, 1017, new BlockPos((int)this.posX, (int)this.posY, (int)this.posZ), 0);
}
 
Example 3
Project: connor41-etfuturum2   File: EntityZombieVillager.java   View source code 6 votes vote down vote up
@Override
protected void convertToVillager() {
	EntityVillager villager = new EntityVillager(worldObj);
	villager.copyLocationAndAnglesFrom(this);
	villager.onSpawnWithEgg((IEntityLivingData) null);
	villager.setLookingForHome();
	villager.setProfession(getType());

	if (isChild())
		villager.setGrowingAge(-24000);

	worldObj.removeEntity(this);
	worldObj.spawnEntityInWorld(villager);
	villager.addPotionEffect(new PotionEffect(Potion.confusion.id, 200, 0));
	worldObj.playAuxSFXAtEntity(null, 1017, (int) posX, (int) posY, (int) posZ, 0);
}
 
Example 4
Project: DecompiledMinecraft   File: EntityAILookAtVillager.java   View source code 6 votes vote down vote up
/**
 * Returns whether the EntityAIBase should begin execution.
 */
public boolean shouldExecute()
{
    if (!this.theGolem.worldObj.isDaytime())
    {
        return false;
    }
    else if (this.theGolem.getRNG().nextInt(8000) != 0)
    {
        return false;
    }
    else
    {
        this.theVillager = (EntityVillager)this.theGolem.worldObj.findNearestEntityWithinAABB(EntityVillager.class, this.theGolem.getEntityBoundingBox().expand(6.0D, 2.0D, 6.0D), this.theGolem);
        return this.theVillager != null;
    }
}
 
Example 5
Project: DecompiledMinecraft   File: EntityZombie.java   View source code 6 votes vote down vote up
/**
 * Convert this zombie into a villager.
 */
protected void convertToVillager()
{
    EntityVillager entityvillager = new EntityVillager(this.worldObj);
    entityvillager.copyLocationAndAnglesFrom(this);
    entityvillager.onInitialSpawn(this.worldObj.getDifficultyForLocation(new BlockPos(entityvillager)), (IEntityLivingData)null);
    entityvillager.setLookingForHome();

    if (this.isChild())
    {
        entityvillager.setGrowingAge(-24000);
    }

    this.worldObj.removeEntity(this);
    entityvillager.setNoAI(this.isAIDisabled());

    if (this.hasCustomName())
    {
        entityvillager.setCustomNameTag(this.getCustomNameTag());
        entityvillager.setAlwaysRenderNameTag(this.getAlwaysRenderNameTag());
    }

    this.worldObj.spawnEntityInWorld(entityvillager);
    entityvillager.addPotionEffect(new PotionEffect(Potion.confusion.id, 200, 0));
    this.worldObj.playAuxSFXAtEntity((EntityPlayer)null, 1017, new BlockPos((int)this.posX, (int)this.posY, (int)this.posZ), 0);
}
 
Example 6
Project: DecompiledMinecraft   File: RenderVillager.java   View source code 6 votes vote down vote up
/**
 * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
 */
protected ResourceLocation getEntityTexture(EntityVillager entity)
{
    switch (entity.getProfession())
    {
        case 0:
            return farmerVillagerTextures;

        case 1:
            return librarianVillagerTextures;

        case 2:
            return priestVillagerTextures;

        case 3:
            return smithVillagerTextures;

        case 4:
            return butcherVillagerTextures;

        default:
            return villagerTextures;
    }
}
 
Example 7
Project: DecompiledMinecraft   File: RenderVillager.java   View source code 6 votes vote down vote up
/**
 * Allows the render to do any OpenGL state modifications necessary before the model is rendered. Args:
 * entityLiving, partialTickTime
 */
protected void preRenderCallback(EntityVillager entitylivingbaseIn, float partialTickTime)
{
    float f = 0.9375F;

    if (entitylivingbaseIn.getGrowingAge() < 0)
    {
        f = (float)((double)f * 0.5D);
        this.shadowSize = 0.25F;
    }
    else
    {
        this.shadowSize = 0.5F;
    }

    GlStateManager.scale(f, f, f);
}
 
Example 8
Project: BaseClient   File: StructureVillagePieces.java   View source code 6 votes vote down vote up
protected void spawnVillagers(World worldIn, StructureBoundingBox p_74893_2_, int p_74893_3_, int p_74893_4_, int p_74893_5_, int p_74893_6_)
{
    if (this.villagersSpawned < p_74893_6_)
    {
        for (int i = this.villagersSpawned; i < p_74893_6_; ++i)
        {
            int j = this.getXWithOffset(p_74893_3_ + i, p_74893_5_);
            int k = this.getYWithOffset(p_74893_4_);
            int l = this.getZWithOffset(p_74893_3_ + i, p_74893_5_);

            if (!p_74893_2_.isVecInside(new BlockPos(j, k, l)))
            {
                break;
            }

            ++this.villagersSpawned;
            EntityVillager entityvillager = new EntityVillager(worldIn);
            entityvillager.setLocationAndAngles((double)j + 0.5D, (double)k, (double)l + 0.5D, 0.0F, 0.0F);
            entityvillager.onInitialSpawn(worldIn.getDifficultyForLocation(new BlockPos(entityvillager)), (IEntityLivingData)null);
            entityvillager.setProfession(this.func_180779_c(i, entityvillager.getProfession()));
            worldIn.spawnEntityInWorld(entityvillager);
        }
    }
}
 
Example 9
Project: BaseClient   File: RenderVillager.java   View source code 6 votes vote down vote up
/**
 * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
 */
protected ResourceLocation getEntityTexture(EntityVillager entity)
{
    switch (entity.getProfession())
    {
        case 0:
            return farmerVillagerTextures;

        case 1:
            return librarianVillagerTextures;

        case 2:
            return priestVillagerTextures;

        case 3:
            return smithVillagerTextures;

        case 4:
            return butcherVillagerTextures;

        default:
            return villagerTextures;
    }
}
 
Example 10
Project: EMC   File: IEntity.java   View source code 6 votes vote down vote up
public Color getEntityColor() {
	if ((entity instanceof EntityAnimal)) {
		return Color.white;
	}
	if ((entity instanceof EntityMob)) {
		return Color.red;
	}
	if ((entity instanceof EntitySlime)) {
		return Color.green;
	}
	if ((entity instanceof EntityVillager)) {
		return new Color(245, 245, 220);
	}
	if ((entity instanceof EntityBat)) {
		return Color.BLACK;
	}
	if ((entity instanceof EntitySquid)) {
		return Color.PINK;
	}
	return Color.white;
}
 
Example 11
Project: CustomWorldGen   File: EntityAILookAtVillager.java   View source code 6 votes vote down vote up
/**
 * Returns whether the EntityAIBase should begin execution.
 */
public boolean shouldExecute()
{
    if (!this.theGolem.worldObj.isDaytime())
    {
        return false;
    }
    else if (this.theGolem.getRNG().nextInt(8000) != 0)
    {
        return false;
    }
    else
    {
        this.theVillager = (EntityVillager)this.theGolem.worldObj.findNearestEntityWithinAABB(EntityVillager.class, this.theGolem.getEntityBoundingBox().expand(6.0D, 2.0D, 6.0D), this.theGolem);
        return this.theVillager != null;
    }
}
 
Example 12
Project: BaseClient   File: EntityZombie.java   View source code 6 votes vote down vote up
/**
 * Convert this zombie into a villager.
 */
protected void convertToVillager()
{
    EntityVillager entityvillager = new EntityVillager(this.worldObj);
    entityvillager.copyLocationAndAnglesFrom(this);
    entityvillager.onInitialSpawn(this.worldObj.getDifficultyForLocation(new BlockPos(entityvillager)), (IEntityLivingData)null);
    entityvillager.setLookingForHome();

    if (this.isChild())
    {
        entityvillager.setGrowingAge(-24000);
    }

    this.worldObj.removeEntity(this);
    entityvillager.setNoAI(this.isAIDisabled());

    if (this.hasCustomName())
    {
        entityvillager.setCustomNameTag(this.getCustomNameTag());
        entityvillager.setAlwaysRenderNameTag(this.getAlwaysRenderNameTag());
    }

    this.worldObj.spawnEntityInWorld(entityvillager);
    entityvillager.addPotionEffect(new PotionEffect(Potion.confusion.id, 200, 0));
    this.worldObj.playAuxSFXAtEntity((EntityPlayer)null, 1017, new BlockPos((int)this.posX, (int)this.posY, (int)this.posZ), 0);
}
 
Example 13
Project: BaseClient   File: RenderVillager.java   View source code 6 votes vote down vote up
/**
 * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
 */
protected ResourceLocation getEntityTexture(EntityVillager entity)
{
    switch (entity.getProfession())
    {
        case 0:
            return farmerVillagerTextures;

        case 1:
            return librarianVillagerTextures;

        case 2:
            return priestVillagerTextures;

        case 3:
            return smithVillagerTextures;

        case 4:
            return butcherVillagerTextures;

        default:
            return villagerTextures;
    }
}
 
Example 14
Project: Backmemed   File: RenderVillager.java   View source code 6 votes vote down vote up
/**
 * Returns the location of an entity's texture. Doesn't seem to be called unless you call Render.bindEntityTexture.
 */
protected ResourceLocation getEntityTexture(EntityVillager entity)
{
    switch (entity.getProfession())
    {
        case 0:
            return FARMER_VILLAGER_TEXTURES;

        case 1:
            return LIBRARIAN_VILLAGER_TEXTURES;

        case 2:
            return PRIEST_VILLAGER_TEXTURES;

        case 3:
            return SMITH_VILLAGER_TEXTURES;

        case 4:
            return BUTCHER_VILLAGER_TEXTURES;

        case 5:
        default:
            return VILLAGER_TEXTURES;
    }
}
 
Example 15
Project: BaseClient   File: StructureVillagePieces.java   View source code 6 votes vote down vote up
protected void spawnVillagers(World worldIn, StructureBoundingBox p_74893_2_, int p_74893_3_, int p_74893_4_, int p_74893_5_, int p_74893_6_)
{
    if (this.villagersSpawned < p_74893_6_)
    {
        for (int i = this.villagersSpawned; i < p_74893_6_; ++i)
        {
            int j = this.getXWithOffset(p_74893_3_ + i, p_74893_5_);
            int k = this.getYWithOffset(p_74893_4_);
            int l = this.getZWithOffset(p_74893_3_ + i, p_74893_5_);

            if (!p_74893_2_.isVecInside(new BlockPos(j, k, l)))
            {
                break;
            }

            ++this.villagersSpawned;
            EntityVillager entityvillager = new EntityVillager(worldIn);
            entityvillager.setLocationAndAngles((double)j + 0.5D, (double)k, (double)l + 0.5D, 0.0F, 0.0F);
            entityvillager.onInitialSpawn(worldIn.getDifficultyForLocation(new BlockPos(entityvillager)), (IEntityLivingData)null);
            entityvillager.setProfession(this.func_180779_c(i, entityvillager.getProfession()));
            worldIn.spawnEntityInWorld(entityvillager);
        }
    }
}
 
Example 16
Project: BaseClient   File: RenderVillager.java   View source code 6 votes vote down vote up
/**
 * Allows the render to do any OpenGL state modifications necessary before the model is rendered. Args:
 * entityLiving, partialTickTime
 */
protected void preRenderCallback(EntityVillager entitylivingbaseIn, float partialTickTime)
{
    float f = 0.9375F;

    if (entitylivingbaseIn.getGrowingAge() < 0)
    {
        f = (float)((double)f * 0.5D);
        this.shadowSize = 0.25F;
    }
    else
    {
        this.shadowSize = 0.5F;
    }

    GlStateManager.scale(f, f, f);
}
 
Example 17
Project: BaseClient   File: EntityAILookAtVillager.java   View source code 6 votes vote down vote up
/**
 * Returns whether the EntityAIBase should begin execution.
 */
public boolean shouldExecute()
{
    if (!this.theGolem.worldObj.isDaytime())
    {
        return false;
    }
    else if (this.theGolem.getRNG().nextInt(8000) != 0)
    {
        return false;
    }
    else
    {
        this.theVillager = (EntityVillager)this.theGolem.worldObj.findNearestEntityWithinAABB(EntityVillager.class, this.theGolem.getEntityBoundingBox().expand(6.0D, 2.0D, 6.0D), this.theGolem);
        return this.theVillager != null;
    }
}
 
Example 18
Project: Backmemed   File: RenderVillager.java   View source code 6 votes vote down vote up
/**
 * Allows the render to do state modifications necessary before the model is rendered.
 */
protected void preRenderCallback(EntityVillager entitylivingbaseIn, float partialTickTime)
{
    float f = 0.9375F;

    if (entitylivingbaseIn.getGrowingAge() < 0)
    {
        f = (float)((double)f * 0.5D);
        this.shadowSize = 0.25F;
    }
    else
    {
        this.shadowSize = 0.5F;
    }

    GlStateManager.scale(f, f, f);
}
 
Example 19
Project: pnc-repressurized   File: IntegratorPressureChamber.java   View source code 5 votes vote down vote up
private void handleVillagers(int x, int y, List<IWidget> locatedTextures) {
        locatedTextures.add(new LocatedEntity(EntityVillager.class, x + 70, y + 95, 2F));

        LocatedEntity locatedEntity = new LocatedEntity(EntityVillager.class, x + 215, y + 125, 2F);
        EntityVillager villager = (EntityVillager) locatedEntity.entity;
//        villager.setProfession(ConfigHandler.general.villagerMechanicID);
        locatedTextures.add(locatedEntity);
    }
 
Example 20
Project: EmergentVillages   File: SpawnHandler.java   View source code 5 votes vote down vote up
@SubscribeEvent
public static void entitySpawned(EntityJoinWorldEvent event){
	// This only runs server side
	if(event.getWorld().isRemote)return;
	if(EntityVillager.class.isInstance(event.getEntity())
			&& !event.getEntity().getEntityData().getBoolean(tagName)){
		if(ConfigHandler.LOGGING){
			LogManager.getLogger().log(Level.INFO, "A villager spawned at x" + event.getEntity().posX + "z" + event.getEntity().posZ + " and has been added to the data list.");
		}
		// set this to true to inform future calls of this code that this villager has been handled.
		event.getEntity().getEntityData().setBoolean(tagName, true);
		// have to use the MathHelper workaround because chunkX and chunkZ are 0 on spawn
		NBTDataHandler.incrementVillagersSpawnedForChunk(event.getWorld().provider.getDimension(), MathHelper.floor(event.getEntity().posX / 16.0D), MathHelper.floor(event.getEntity().posZ / 16.0D));
	}
}
 
Example 21
Project: ClientAPI   File: EntityFilters.java   View source code 5 votes vote down vote up
/**
 * Checks if the specified entity is a passive
 *
 * @param e The entity
 * @return Whether or not the entity is a passive
 */
public static boolean isPassive(Entity e) {
    if (e instanceof EntityPigZombie)
        return !isAngry((EntityPigZombie) e);

    if (e instanceof EntityIronGolem)
        return !isAngry((EntityIronGolem) e);

    if (e instanceof EntityPolarBear)
        return !isAngry((EntityPolarBear) e);

    if (e instanceof EntityAnimal)
        return true;

    if (e instanceof EntitySquid)
        return true;

    if (e instanceof EntityBat)
        return true;

    if (e instanceof EntityVillager)
        return true;

    if (e instanceof EntitySnowman)
        return true;

    return false;
}
 
Example 22
Project: Soot   File: VillagerAntimonyHandler.java   View source code 5 votes vote down vote up
public void replaceList(IMerchant merchant, MerchantRecipeList list)
{
    if(merchant instanceof EntityVillager)
    {
        replaceTradeList((EntityVillager) merchant,list);
    }
    else
    {
        merchant.setRecipes(list);
    }
}
 
Example 23
Project: Soot   File: VillagerAntimonyHandler.java   View source code 5 votes vote down vote up
public static void replaceTradeList(EntityVillager villager, MerchantRecipeList newlist) {
    if (buyingList == null)
        buyingList = ReflectionHelper.findField(EntityVillager.class, "buyingList", "field_70963_i");

    if (villager != null) {
        try {
            buyingList.set(villager, newlist);
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
    }
}
 
Example 24
Project: Industrial-Foregoing   File: VillagerTradeExchangerTile.java   View source code 5 votes vote down vote up
@Override
protected void initializeInventories() {
    super.initializeInventories();
    villager = this.addSimpleInventory(1, "villager", EnumDyeColor.BROWN, "Villager Mob Imprisonment Tool", new BoundingRectangle(145, 61, 18, 18),
            (stack, integer) -> stack.getItem() instanceof MobImprisonmentToolItem && ItemRegistry.mobImprisonmentToolItem.containsEntity(stack) && ItemRegistry.mobImprisonmentToolItem.getEntityFromStack(stack, this.world, false) instanceof EntityVillager,
            (stack, integer) -> true, false, null);
    input = this.addSimpleInventory(1, "input", EnumDyeColor.BLUE, "Trade input", new BoundingRectangle(52, 61, 18, 18),
            (stack, integer) -> true, (stack, integer) -> false, false, null);
    output = this.addSimpleInventory(1, "output", EnumDyeColor.ORANGE, "Trade output", new BoundingRectangle(112, 61, 18, 18),
            (stack, integer) -> false, (stack, integer) -> true, false, null);

}
 
Example 25
Project: harshencastle   File: HandlerVillagerSpawn.java   View source code 5 votes vote down vote up
@SubscribeEvent
public void onChunkPopulated(PopulateChunkEvent.Post event)
{
	EntityVillager villager = new EntityVillager(event.getWorld(), VillagerRegistry.getId(HarshenVillagers.VALOR));
	BlockPos pos = event.getWorld().getTopSolidOrLiquidBlock(new BlockPos(event.getChunkX() * 16 + event.getRand().nextInt(16), 0, event.getChunkZ() * 16 + event.getRand().nextInt(16)));
	villager.setLocationAndAngles(pos.getX(), pos.getY(), pos.getZ(), villager.rotationYaw, villager.rotationPitch);
	if(event.isHasVillageGenerated())
		if(event.getRand().nextFloat() < 0.1f)
			event.getWorld().spawnEntity(villager);
}
 
Example 26
Project: BetterThanWeagles   File: VillagerTradeItemForItem.java   View source code 5 votes vote down vote up
public VillagerTradeItemForItem(ItemStack buyingItem, EntityVillager.PriceInfo buyingPrice, ItemStack sellingItem, EntityVillager.PriceInfo sellingPrice)
{
	this.buyingItemStack = buyingItem;
	this.buyingPriceInfo = buyingPrice;
	this.sellingItemStack = sellingItem;
	this.sellingPriceInfo = sellingPrice;
}
 
Example 27
Project: VillagerInventory   File: VillagerInventoryMod.java   View source code 5 votes vote down vote up
@SubscribeEvent
public static void onPlayerEntityInteract(PlayerInteractEvent.EntityInteract event)
{
	// if the villager inventory gui is enabled, if the entity being interacted with is a villager, and if the player is sneaking...
	if ((ModConfiguration.enableInventoryGui) && (event.getTarget() instanceof EntityVillager) && (EntityUtils.getFlag(event.getEntityPlayer(), 2)))
	{
		// if opening the gui requires the player to not be holding anything, check to ensure that the player isn't holding anything
		if (!ModConfiguration.requireEmptyHand || (ModConfiguration.requireEmptyHand && event.getEntityPlayer().inventory.getCurrentItem().isEmpty()))
		{
			// if the event is running on the server
			if (!event.getWorld().isRemote)
			{
				// cast the entity to type EntityVillager
				EntityVillager villager = (EntityVillager)event.getTarget();

				// get the entity id of the villager
				int entityId = villager.getEntityId();

				// and read it's profession and career from it's nbt data
				NBTTagCompound compound = new NBTTagCompound();
				villager.writeEntityToNBT(compound);
				int professionId = compound.getInteger("Profession");
				int careerId = compound.getInteger("Career");

				// send a message to the client to tell it what the villager's career is
				NETWORK.sendTo(new VillagerCareerMessage(entityId, careerId), (EntityPlayerMP)event.getEntityPlayer());

				// open the inventory gui
				FMLNetworkHandler.openGui(event.getEntityPlayer(), VillagerInventoryMod.INSTANCE, ModGuiHandler.GUI_VILLAGER_INVENTORY, event.getWorld(), entityId, professionId, careerId);
			}

			// cancel the event which would show the trading gui
			event.setCanceled(true);
		}
	}
}
 
Example 28
Project: VillagerInventory   File: ContainerVillagerInventory.java   View source code 5 votes vote down vote up
public ContainerVillagerInventory(IInventory playerInventory, final InventoryBasic villagerInventoryIn, final EntityVillager villager, EntityPlayer player)
{
	this.villagerInventory = villagerInventoryIn;
	this.villager = villager;

	this.villagerInventory.setCustomName(this.villager.getDisplayName().getUnformattedText());


	villagerInventoryIn.openInventory(player);

	// villager inventory slots
	int offsetX = 17;
	int offsetY = 20;
	for (int col = 0; col < 8; col++)
	{
		this.addSlotToContainer(new Slot(villagerInventoryIn, col, offsetX + col * 18, offsetY));
	}

	// player inventory
	offsetX = 8;
	offsetY = 51;
	for (int row = 0; row < 3; row++)
	{
		for (int col = 0; col < 9; col++)
		{
			this.addSlotToContainer(new Slot(playerInventory, col + row * 9 + 9, offsetX + col * 18, offsetY + row * 18));
		}
	}

	// player hotbar inventory
	offsetY = 109;
	for (int col = 0; col < 9; col++)
	{
		this.addSlotToContainer(new Slot(playerInventory, col, offsetX + col * 18, offsetY));
	}

}
 
Example 29
Project: CustomWorldGen   File: VillagerRegistry.java   View source code 5 votes vote down vote up
public static void onSetProfession(EntityVillager entity, VillagerProfession prof)
{
    int network = INSTANCE.professions.getId(prof);
    if (network == -1 || prof != INSTANCE.professions.getObjectById(network))
    {
        throw new RuntimeException("Attempted to set villager profession to unregistered profession: " + network + " " + prof);
    }

    if (network != entity.getProfession())
        entity.setProfession(network);
}
 
Example 30
Project: ForgeHax   File: FriendlyMob.java   View source code 5 votes vote down vote up
@Override
public boolean isMobType(Entity entity) {
    return entity.isCreatureType(EnumCreatureType.CREATURE, false)
            || entity.isCreatureType(EnumCreatureType.AMBIENT, false)
            || entity.isCreatureType(EnumCreatureType.WATER_CREATURE, false)
            || entity instanceof EntityVillager
            || entity instanceof EntityGolem;
}
 
Example 31
Project: connor41-etfuturum2   File: ServerEventHandler.java   View source code 5 votes vote down vote up
@SubscribeEvent
public void entityStruckByLightning(EntityStruckByLightningEvent event) {
	if (EtFuturum.enableVillagerTurnsIntoWitch && event.entity instanceof EntityVillager) {
		EntityVillager villager = (EntityVillager) event.entity;
		if (!villager.worldObj.isRemote) {
			EntityWitch witch = new EntityWitch(villager.worldObj);
			witch.copyLocationAndAnglesFrom(villager);
			witch.onSpawnWithEgg(null);
			villager.worldObj.spawnEntityInWorld(witch);
			villager.setDead();
		}
	}
}
 
Example 32
Project: CustomWorldGen   File: EntityZombie.java   View source code 5 votes vote down vote up
/**
 * This method gets called when the entity kills another one.
 */
public void onKillEntity(EntityLivingBase entityLivingIn)
{
    super.onKillEntity(entityLivingIn);

    if ((this.worldObj.getDifficulty() == EnumDifficulty.NORMAL || this.worldObj.getDifficulty() == EnumDifficulty.HARD) && entityLivingIn instanceof EntityVillager)
    {
        if (this.worldObj.getDifficulty() != EnumDifficulty.HARD && this.rand.nextBoolean())
        {
            return;
        }

        EntityVillager entityvillager = (EntityVillager)entityLivingIn;
        EntityZombie entityzombie = new EntityZombie(this.worldObj);
        entityzombie.copyLocationAndAnglesFrom(entityLivingIn);
        this.worldObj.removeEntity(entityLivingIn);
        entityzombie.onInitialSpawn(this.worldObj.getDifficultyForLocation(new BlockPos(entityzombie)), new EntityZombie.GroupData(false, true));
        entityzombie.setVillagerType(entityvillager.getProfessionForge());
        entityzombie.setChild(entityLivingIn.isChild());
        entityzombie.setNoAI(entityvillager.isAIDisabled());

        if (entityvillager.hasCustomName())
        {
            entityzombie.setCustomNameTag(entityvillager.getCustomNameTag());
            entityzombie.setAlwaysRenderNameTag(entityvillager.getAlwaysRenderNameTag());
        }

        this.worldObj.spawnEntityInWorld(entityzombie);
        this.worldObj.playEvent((EntityPlayer)null, 1026, new BlockPos((int)this.posX, (int)this.posY, (int)this.posZ), 0);
    }
}
 
Example 33
Project: DecompiledMinecraft   File: EntityAIVillagerMate.java   View source code 5 votes vote down vote up
private void giveBirth()
{
    EntityVillager entityvillager = this.villagerObj.createChild(this.mate);
    this.mate.setGrowingAge(6000);
    this.villagerObj.setGrowingAge(6000);
    this.mate.setIsWillingToMate(false);
    this.villagerObj.setIsWillingToMate(false);
    entityvillager.setGrowingAge(-24000);
    entityvillager.setLocationAndAngles(this.villagerObj.posX, this.villagerObj.posY, this.villagerObj.posZ, 0.0F, 0.0F);
    this.worldObj.spawnEntityInWorld(entityvillager);
    this.worldObj.setEntityState(entityvillager, (byte)12);
}
 
Example 34
Project: CustomWorldGen   File: Village.java   View source code 5 votes vote down vote up
private void updateNumVillagers()
{
    List<EntityVillager> list = this.worldObj.<EntityVillager>getEntitiesWithinAABB(EntityVillager.class, new AxisAlignedBB((double)(this.center.getX() - this.villageRadius), (double)(this.center.getY() - 4), (double)(this.center.getZ() - this.villageRadius), (double)(this.center.getX() + this.villageRadius), (double)(this.center.getY() + 4), (double)(this.center.getZ() + this.villageRadius)));
    this.numVillagers = list.size();

    if (this.numVillagers == 0)
    {
        this.playerReputation.clear();
    }
}
 
Example 35
Project: CustomWorldGen   File: EntityZombie.java   View source code 5 votes vote down vote up
/**
 * Convert this zombie into a villager.
 */
protected void convertToVillager()
{
    EntityVillager entityvillager = new EntityVillager(this.worldObj);
    entityvillager.copyLocationAndAnglesFrom(this);
    entityvillager.onInitialSpawn(this.worldObj.getDifficultyForLocation(new BlockPos(entityvillager)), (IEntityLivingData)null);
    entityvillager.setLookingForHome();

    if (this.isChild())
    {
        entityvillager.setGrowingAge(-24000);
    }

    this.worldObj.removeEntity(this);
    entityvillager.setNoAI(this.isAIDisabled());
    if (this.getVillagerTypeForge() != null)
        entityvillager.setProfession(this.getVillagerTypeForge());
    else
        entityvillager.setProfession(0);

    if (this.hasCustomName())
    {
        entityvillager.setCustomNameTag(this.getCustomNameTag());
        entityvillager.setAlwaysRenderNameTag(this.getAlwaysRenderNameTag());
    }

    this.worldObj.spawnEntityInWorld(entityvillager);
    entityvillager.addPotionEffect(new PotionEffect(MobEffects.NAUSEA, 200, 0));
    this.worldObj.playEvent((EntityPlayer)null, 1027, new BlockPos((int)this.posX, (int)this.posY, (int)this.posZ), 0);
}
 
Example 36
Project: DecompiledMinecraft   File: EntityZombie.java   View source code 5 votes vote down vote up
protected void applyEntityAI()
{
    this.tasks.addTask(4, new EntityAIAttackOnCollide(this, EntityVillager.class, 1.0D, true));
    this.tasks.addTask(4, new EntityAIAttackOnCollide(this, EntityIronGolem.class, 1.0D, true));
    this.tasks.addTask(6, new EntityAIMoveThroughVillage(this, 1.0D, false));
    this.targetTasks.addTask(1, new EntityAIHurtByTarget(this, true, new Class[] {EntityPigZombie.class}));
    this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityPlayer.class, true));
    this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityVillager.class, false));
    this.targetTasks.addTask(2, new EntityAINearestAttackableTarget(this, EntityIronGolem.class, true));
}
 
Example 37
Project: DecompiledMinecraft   File: EntityZombie.java   View source code 5 votes vote down vote up
/**
 * This method gets called when the entity kills another one.
 */
public void onKillEntity(EntityLivingBase entityLivingIn)
{
    super.onKillEntity(entityLivingIn);

    if ((this.worldObj.getDifficulty() == EnumDifficulty.NORMAL || this.worldObj.getDifficulty() == EnumDifficulty.HARD) && entityLivingIn instanceof EntityVillager)
    {
        if (this.worldObj.getDifficulty() != EnumDifficulty.HARD && this.rand.nextBoolean())
        {
            return;
        }

        EntityLiving entityliving = (EntityLiving)entityLivingIn;
        EntityZombie entityzombie = new EntityZombie(this.worldObj);
        entityzombie.copyLocationAndAnglesFrom(entityLivingIn);
        this.worldObj.removeEntity(entityLivingIn);
        entityzombie.onInitialSpawn(this.worldObj.getDifficultyForLocation(new BlockPos(entityzombie)), (IEntityLivingData)null);
        entityzombie.setVillager(true);

        if (entityLivingIn.isChild())
        {
            entityzombie.setChild(true);
        }

        entityzombie.setNoAI(entityliving.isAIDisabled());

        if (entityliving.hasCustomName())
        {
            entityzombie.setCustomNameTag(entityliving.getCustomNameTag());
            entityzombie.setAlwaysRenderNameTag(entityliving.getAlwaysRenderNameTag());
        }

        this.worldObj.spawnEntityInWorld(entityzombie);
        this.worldObj.playAuxSFXAtEntity((EntityPlayer)null, 1016, new BlockPos((int)this.posX, (int)this.posY, (int)this.posZ), 0);
    }
}
 
Example 38
Project: DecompiledMinecraft   File: Village.java   View source code 5 votes vote down vote up
private void updateNumVillagers()
{
    List<EntityVillager> list = this.worldObj.<EntityVillager>getEntitiesWithinAABB(EntityVillager.class, new AxisAlignedBB((double)(this.center.getX() - this.villageRadius), (double)(this.center.getY() - 4), (double)(this.center.getZ() - this.villageRadius), (double)(this.center.getX() + this.villageRadius), (double)(this.center.getY() + 4), (double)(this.center.getZ() + this.villageRadius)));
    this.numVillagers = list.size();

    if (this.numVillagers == 0)
    {
        this.playerReputation.clear();
    }
}
 
Example 39
Project: Backmemed   File: EntityAIVillagerInteract.java   View source code 5 votes vote down vote up
/**
 * Execute a one shot task or start executing a continuous task
 */
public void startExecuting()
{
    super.startExecuting();

    if (this.villager.canAbondonItems() && this.closestEntity instanceof EntityVillager && ((EntityVillager)this.closestEntity).wantsMoreFood())
    {
        this.interactionDelay = 10;
    }
    else
    {
        this.interactionDelay = 0;
    }
}
 
Example 40
Project: Backmemed   File: StructureVillagePieces.java   View source code 5 votes vote down vote up
protected void spawnVillagers(World worldIn, StructureBoundingBox structurebb, int x, int y, int z, int count)
{
    if (this.villagersSpawned < count)
    {
        for (int i = this.villagersSpawned; i < count; ++i)
        {
            int j = this.getXWithOffset(x + i, z);
            int k = this.getYWithOffset(y);
            int l = this.getZWithOffset(x + i, z);

            if (!structurebb.isVecInside(new BlockPos(j, k, l)))
            {
                break;
            }

            ++this.villagersSpawned;

            if (this.isZombieInfested)
            {
                EntityZombieVillager entityzombievillager = new EntityZombieVillager(worldIn);
                entityzombievillager.setLocationAndAngles((double)j + 0.5D, (double)k, (double)l + 0.5D, 0.0F, 0.0F);
                entityzombievillager.onInitialSpawn(worldIn.getDifficultyForLocation(new BlockPos(entityzombievillager)), (IEntityLivingData)null);
                entityzombievillager.func_190733_a(this.chooseProfession(i, 0));
                entityzombievillager.enablePersistence();
                worldIn.spawnEntityInWorld(entityzombievillager);
            }
            else
            {
                EntityVillager entityvillager = new EntityVillager(worldIn);
                entityvillager.setLocationAndAngles((double)j + 0.5D, (double)k, (double)l + 0.5D, 0.0F, 0.0F);
                entityvillager.setProfession(this.chooseProfession(i, worldIn.rand.nextInt(6)));
                entityvillager.func_190672_a(worldIn.getDifficultyForLocation(new BlockPos(entityvillager)), (IEntityLivingData)null, false);
                worldIn.spawnEntityInWorld(entityvillager);
            }
        }
    }
}