当前位置: 首页>>代码示例>>Java>>正文


Java EntityCreature类代码示例

本文整理汇总了Java中net.minecraft.entity.EntityCreature的典型用法代码示例。如果您正苦于以下问题:Java EntityCreature类的具体用法?Java EntityCreature怎么用?Java EntityCreature使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


EntityCreature类属于net.minecraft.entity包,在下文中一共展示了EntityCreature类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: initializeEntityActivationType

import net.minecraft.entity.EntityCreature; //导入依赖的package包/类
/**
 * Initializes an entities type on construction to specify what group this
 * entity is in for activation ranges.
 *
 * @param entity
 * @return group id
 */
public static byte initializeEntityActivationType(Entity entity)
{
    Chunk chunk = null;
    // Cauldron start - account for entities that dont extend EntityMob, EntityAmbientCreature, EntityCreature
    if ( entity instanceof EntityMob || entity instanceof EntitySlime || entity.isCreatureType(EnumCreatureType.monster, false)) // Cauldron - account for entities that dont extend EntityMob
    {
        return 1; // Monster
    } else if ( entity instanceof EntityCreature || entity instanceof EntityAmbientCreature || entity.isCreatureType(EnumCreatureType.creature, false) 
             || entity.isCreatureType(EnumCreatureType.waterCreature, false) || entity.isCreatureType(EnumCreatureType.ambient, false))
    {
        return 2; // Animal
    // Cauldron end
    } else
    {
        return 3; // Misc
    }
}
 
开发者ID:UraniumMC,项目名称:Uranium,代码行数:25,代码来源:ActivationRange.java

示例2: onDrops

import net.minecraft.entity.EntityCreature; //导入依赖的package包/类
@SubscribeEvent
public void onDrops(LivingDropsEvent event) {
	World world = event.getEntity().getEntityWorld();

	if (world.isRemote || !(event.getEntity() instanceof EntityCreature)) {
		return;
	}

	if (event.getSource() == null || event.getSource().getTrueSource() == null){
		return;
	}

	if (!(event.getSource().getTrueSource() instanceof EntityPlayer)) {
		return;
	}

	if (event.getEntity().getTags().contains(NemesisSystem.TAG_NEMESIS)) {
		handleNemesisDrops(event.getDrops(), (EntityCreature) event.getEntity());
	}
}
 
开发者ID:ToroCraft,项目名称:NemesisSystem,代码行数:21,代码来源:DeathHandler.java

示例3: buffMobInAroundNemeses

import net.minecraft.entity.EntityCreature; //导入依赖的package包/类
private void buffMobInAroundNemeses(World world, EntityCreature entity) {
	if (!(entity instanceof EntityMob)) {
		return;
	}

	if (entity.getTags().contains(NemesisSystem.TAG_BUFF_MOB_REINFORCEMENT)) {
		return;
	}

	List<NemesisEntry> nemeses = NemesisRegistryProvider.get(world).list();
	sortByHighestLevel(nemeses);

	for (NemesisEntry nemesis : nemeses) {
		if (buffEntity(entity, nemesis)) {
			return;
		}
	}
}
 
开发者ID:ToroCraft,项目名称:NemesisSystem,代码行数:19,代码来源:SpawnHandler.java

示例4: handleNemesisDeath

import net.minecraft.entity.EntityCreature; //导入依赖的package包/类
private static void handleNemesisDeath(EntityCreature nemesisEntity, Entity attacker) {
	NemesisEntry nemesis = NemesisUtil.loadNemesisFromEntity(nemesisEntity);

	if (nemesis == null) {
		return;
	}

	if (attacker == null || !(attacker instanceof EntityLivingBase)) {
		return;
	}

	NemesisActions.demote(nemesisEntity.world, nemesis, attacker.getName());

	NemesisUtil.findNemesisBodyGuards(nemesisEntity.world, nemesis.getId(), nemesisEntity.getPosition())
			.forEach((EntityCreature guard) -> {
				guard.setAttackTarget(null);
				guard.getTags().add(TAG_RONIN);
			});
}
 
开发者ID:ToroCraft,项目名称:NemesisSystem,代码行数:20,代码来源:DeathHandler.java

示例5: EntityAIFindEntityNearest

import net.minecraft.entity.EntityCreature; //导入依赖的package包/类
public EntityAIFindEntityNearest(EntityLiving p_i45884_1_, Class <? extends EntityLivingBase > p_i45884_2_)
{
    this.field_179442_b = p_i45884_1_;
    this.field_179439_f = p_i45884_2_;

    if (p_i45884_1_ instanceof EntityCreature)
    {
        field_179444_a.warn("Use NearestAttackableTargetGoal.class for PathfinerMob mobs!");
    }

    this.field_179443_c = new Predicate<EntityLivingBase>()
    {
        public boolean apply(EntityLivingBase p_apply_1_)
        {
            double d0 = EntityAIFindEntityNearest.this.func_179438_f();

            if (p_apply_1_.isSneaking())
            {
                d0 *= 0.800000011920929D;
            }

            return p_apply_1_.isInvisible() ? false : ((double)p_apply_1_.getDistanceToEntity(EntityAIFindEntityNearest.this.field_179442_b) > d0 ? false : EntityAITarget.isSuitableTarget(EntityAIFindEntityNearest.this.field_179442_b, p_apply_1_, false, true));
        }
    };
    this.field_179440_d = new EntityAINearestAttackableTarget.Sorter(p_i45884_1_);
}
 
开发者ID:SkidJava,项目名称:BaseClient,代码行数:27,代码来源:EntityAIFindEntityNearest.java

示例6: onDeath

import net.minecraft.entity.EntityCreature; //导入依赖的package包/类
@SubscribeEvent
public void onDeath(LivingDeathEvent event) {

	World world = event.getEntity().getEntityWorld();

	if (world.isRemote) {
		return;
	}

	Entity slayer = event.getSource().getTrueSource();

	if (event.getEntity() instanceof EntityPlayer && slayer instanceof EntityCreature) {
		handlePlayerDeath((EntityPlayer) event.getEntity(), (EntityCreature) slayer);
		return;
	}

	if (!(event.getEntity() instanceof EntityCreature)) {
		return;
	}

	if (event.getEntity().getTags().contains(NemesisSystem.TAG_NEMESIS)) {
		handleNemesisDeath((EntityCreature) event.getEntity(), slayer);
	}
}
 
开发者ID:ToroCraft,项目名称:NemesisSystem,代码行数:25,代码来源:DeathHandler.java

示例7: alertOthers

import net.minecraft.entity.EntityCreature; //导入依赖的package包/类
protected void alertOthers()
{
    double d0 = this.getTargetDistance();

    for (EntityCreature entitycreature : this.taskOwner.worldObj.getEntitiesWithinAABB(this.taskOwner.getClass(), (new AxisAlignedBB(this.taskOwner.posX, this.taskOwner.posY, this.taskOwner.posZ, this.taskOwner.posX + 1.0D, this.taskOwner.posY + 1.0D, this.taskOwner.posZ + 1.0D)).expand(d0, 10.0D, d0)))
    {
        if (this.taskOwner != entitycreature && entitycreature.getAttackTarget() == null && (!(this.taskOwner instanceof EntityTameable) || ((EntityTameable)this.taskOwner).getOwner() == ((EntityTameable)entitycreature).getOwner()) && !entitycreature.isOnSameTeam(this.taskOwner.getAITarget()))
        {
            boolean flag = false;

            for (Class<?> oclass : this.targetClasses)
            {
                if (entitycreature.getClass() == oclass)
                {
                    flag = true;
                    break;
                }
            }

            if (!flag)
            {
                this.setEntityAttackTarget(entitycreature, this.taskOwner.getAITarget());
            }
        }
    }
}
 
开发者ID:F1r3w477,项目名称:CustomWorldGen,代码行数:27,代码来源:EntityAIHurtByTarget.java

示例8: EntityAIFindEntityNearest

import net.minecraft.entity.EntityCreature; //导入依赖的package包/类
public EntityAIFindEntityNearest(EntityLiving mobIn, Class <? extends EntityLivingBase > p_i45884_2_)
{
    this.mob = mobIn;
    this.classToCheck = p_i45884_2_;

    if (mobIn instanceof EntityCreature)
    {
        LOGGER.warn("Use NearestAttackableTargetGoal.class for PathfinerMob mobs!");
    }

    this.predicate = new Predicate<EntityLivingBase>()
    {
        public boolean apply(@Nullable EntityLivingBase p_apply_1_)
        {
            double d0 = EntityAIFindEntityNearest.this.getFollowRange();

            if (p_apply_1_.isSneaking())
            {
                d0 *= 0.800000011920929D;
            }

            return p_apply_1_.isInvisible() ? false : ((double)p_apply_1_.getDistanceToEntity(EntityAIFindEntityNearest.this.mob) > d0 ? false : EntityAITarget.isSuitableTarget(EntityAIFindEntityNearest.this.mob, p_apply_1_, false, true));
        }
    };
    this.sorter = new EntityAINearestAttackableTarget.Sorter(mobIn);
}
 
开发者ID:F1r3w477,项目名称:CustomWorldGen,代码行数:27,代码来源:EntityAIFindEntityNearest.java

示例9: EntityAIMoveThroughVillage

import net.minecraft.entity.EntityCreature; //导入依赖的package包/类
public EntityAIMoveThroughVillage(EntityCreature theEntityIn, double movementSpeedIn, boolean isNocturnalIn)
{
    this.theEntity = theEntityIn;
    this.movementSpeed = movementSpeedIn;
    this.isNocturnal = isNocturnalIn;
    this.setMutexBits(1);

    if (!(theEntityIn.getNavigator() instanceof PathNavigateGround))
    {
        throw new IllegalArgumentException("Unsupported mob for MoveThroughVillageGoal");
    }
}
 
开发者ID:SkidJava,项目名称:BaseClient,代码行数:13,代码来源:EntityAIMoveThroughVillage.java

示例10: EntityAIMoveToBlock

import net.minecraft.entity.EntityCreature; //导入依赖的package包/类
public EntityAIMoveToBlock(EntityCreature creature, double speedIn, int length)
{
    this.theEntity = creature;
    this.movementSpeed = speedIn;
    this.searchLength = length;
    this.setMutexBits(5);
}
 
开发者ID:sudofox,项目名称:Backmemed,代码行数:8,代码来源:EntityAIMoveToBlock.java

示例11: onAttacked

import net.minecraft.entity.EntityCreature; //导入依赖的package包/类
@SubscribeEvent
public void onAttacked(LivingHurtEvent event) {
	World world = event.getEntity().getEntityWorld();

	if (world.isRemote || !(event.getEntity() instanceof EntityCreature)) {
		return;
	}

	if (event.getEntity().getTags().contains(NemesisSystem.TAG_NEMESIS)) {
		orderGuardsToAttackAggressor((EntityCreature) event.getEntity(), event.getSource().getTrueSource());
	}
}
 
开发者ID:ToroCraft,项目名称:NemesisSystem,代码行数:13,代码来源:AttackHandler.java

示例12: EntityAIWander

import net.minecraft.entity.EntityCreature; //导入依赖的package包/类
public EntityAIWander(EntityCreature creatureIn, double speedIn, int chance)
{
    this.entity = creatureIn;
    this.speed = speedIn;
    this.executionChance = chance;
    this.setMutexBits(1);
}
 
开发者ID:SkidJava,项目名称:BaseClient,代码行数:8,代码来源:EntityAIWander.java

示例13: setTarget

import net.minecraft.entity.EntityCreature; //导入依赖的package包/类
public void setTarget(LivingEntity target) {
    EntityCreature entity = getHandle();
    if (target == null) {
        entity.entityToAttack = null;
    } else if (target instanceof CraftLivingEntity) {
        entity.entityToAttack = ((CraftLivingEntity) target).getHandle();
        entity.pathToEntity = entity.worldObj.getPathEntityToEntity(entity, entity.entityToAttack, 16.0F, true, false, false, true);
    }
}
 
开发者ID:UraniumMC,项目名称:Uranium,代码行数:10,代码来源:CraftCreature.java

示例14: EntityAIAttackMelee

import net.minecraft.entity.EntityCreature; //导入依赖的package包/类
public EntityAIAttackMelee(EntityCreature creature, double speedIn, boolean useLongMemory)
{
    this.attacker = creature;
    this.worldObj = creature.worldObj;
    this.speedTowardsTarget = speedIn;
    this.longMemory = useLongMemory;
    this.setMutexBits(3);
}
 
开发者ID:F1r3w477,项目名称:CustomWorldGen,代码行数:9,代码来源:EntityAIAttackMelee.java

示例15: EntityAIFleeSun

import net.minecraft.entity.EntityCreature; //导入依赖的package包/类
public EntityAIFleeSun(EntityCreature theCreatureIn, double movementSpeedIn)
{
    this.theCreature = theCreatureIn;
    this.movementSpeed = movementSpeedIn;
    this.theWorld = theCreatureIn.worldObj;
    this.setMutexBits(1);
}
 
开发者ID:SkidJava,项目名称:BaseClient,代码行数:8,代码来源:EntityAIFleeSun.java


注:本文中的net.minecraft.entity.EntityCreature类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。