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


Java DamageSource.getTrueSource方法代码示例

本文整理汇总了Java中net.minecraft.util.DamageSource.getTrueSource方法的典型用法代码示例。如果您正苦于以下问题:Java DamageSource.getTrueSource方法的具体用法?Java DamageSource.getTrueSource怎么用?Java DamageSource.getTrueSource使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在net.minecraft.util.DamageSource的用法示例。


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

示例1: attackEntityFrom

import net.minecraft.util.DamageSource; //导入方法依赖的package包/类
@Override
public boolean attackEntityFrom(DamageSource source, float amount)
{
	Entity entity = source.getTrueSource();
	boolean takenDamage = super.attackEntityFrom(source, amount);

	if (takenDamage && entity != null)
	{
		this.playSound(ModSoundEvents.ENTITY_FAKE_FADE, 1.0F, ((rand.nextFloat() - rand.nextFloat()) * 0.1F) + 1.0F);
		this.spawnExplosionParticle();
		this.spawnExplosionParticle(); // TODO - examine why this is being fired twice - twice as many particles?
		this.setDead();
	}

	return takenDamage;
}
 
开发者ID:crazysnailboy,项目名称:Halloween,代码行数:17,代码来源:EntityFakeHusk.java

示例2: attackEntityFrom

import net.minecraft.util.DamageSource; //导入方法依赖的package包/类
@Override
public boolean attackEntityFrom(DamageSource source, float amount) {
	if (this.isEntityInvulnerable(source))
		return false;
	else if (super.attackEntityFrom(source, amount)) {
		if (source == DamageSource.DROWN || source == DamageSource.LAVA) {
			this.superJump = true;
			this.jump();
		}
		Entity entity = source.getTrueSource();
		if (entity instanceof EntityPlayerMP)
			this.bossInfo.addPlayer((EntityPlayerMP) entity);
		this.rage += amount / 100f;
		if (source instanceof TF2DamageSource && ((TF2DamageSource) source).getCritical() == 2
				&& !((TF2DamageSource) source).getWeapon().isEmpty()
				&& ((TF2DamageSource) source).getWeapon().getItem() instanceof ItemKnife)
			this.playSound(TF2Sounds.MOB_SAXTON_STAB, 2.5F, 1f);
		return this.getRidingEntity() != entity && this.getRidingEntity() != entity ? true : true;

	} else
		return false;
}
 
开发者ID:rafradek,项目名称:Mods,代码行数:23,代码来源:EntitySaxtonHale.java

示例3: attackEntityFrom

import net.minecraft.util.DamageSource; //导入方法依赖的package包/类
@Override
public boolean attackEntityFrom(DamageSource source, float amount) {
	if (source == DamageSource.DROWN || source == DamageSource.LAVA || source == DamageSource.ON_FIRE)
		return false;
	if (source instanceof TF2DamageSource) {
		if (source.getTrueSource()==this)
			return false;
		if (((TF2DamageSource) source).getCritical() > 0) {
			amount *= 0.7f;
		}
		if (!((TF2DamageSource) source).getWeapon().isEmpty()
				&& ((TF2DamageSource) source).getWeapon().getItem() instanceof ItemMinigun)
			amount *= 0.36f;
	}
	if (super.attackEntityFrom(source, amount*damageMult)) {
		if (source.getTrueSource() != null && source.getTrueSource() instanceof EntityPlayer)
			this.attackers.add((EntityPlayer) source.getTrueSource());

		return true;
	}
	return false;
}
 
开发者ID:rafradek,项目名称:Mods,代码行数:23,代码来源:EntityTF2Boss.java

示例4: attackEntityFrom

import net.minecraft.util.DamageSource; //导入方法依赖的package包/类
public boolean attackEntityFrom(DamageSource source, float damage){
	if (this.isEntityInvulnerable(source))
       {
           return false;
       }
	else if(source.getTrueSource() != null && source.getTrueSource() instanceof EntityLivingBase &&
			!TF2Util.isOnSameTeam(source.getTrueSource(), this.shootingEntity)&& !(source.isExplosion() || source.isFireDamage())){
		if (source instanceof TF2DamageSource) {
			damage *= Math.max(1f,TF2Attribute.getModifier("Destroy Projectiles", ((TF2DamageSource)source).getWeapon(), 0, (EntityLivingBase) source.getTrueSource()));
		}
		this.health -= damage;
		if (this.health <= 0)
			this.setDead();
		return true;
	}
	return false;
}
 
开发者ID:rafradek,项目名称:Mods,代码行数:18,代码来源:EntityProjectileBase.java

示例5: onEntityDamage

import net.minecraft.util.DamageSource; //导入方法依赖的package包/类
@SubscribeEvent
public void onEntityDamage(LivingHurtEvent event) {
	DamageSource source = event.getSource();

	Entity attacker = source.getTrueSource();
	if ((attacker instanceof EntityLivingBase) && ((EntityLivingBase) attacker).getCreatureAttribute() == EnumCreatureAttribute.UNDEAD) {
		event.setAmount(event.getAmount() * 0.95F);
	}
}
 
开发者ID:Um-Mitternacht,项目名称:Bewitchment,代码行数:10,代码来源:ItemSilverArmor.java

示例6: onHurt

import net.minecraft.util.DamageSource; //导入方法依赖的package包/类
@SubscribeEvent
public void onHurt(LivingHurtEvent ev) {
    DamageSource source = ev.getSource();
    Entity root = source.getTrueSource();
    if (root instanceof EntityLivingBase) {
        EntityLivingBase cause = (EntityLivingBase) root;
        EntityLivingBase hurt = ev.getEntityLiving();
        if (EmpoweredEnchantment.appliedTo(hurt)) {
            EmpoweredEnchantment.doArmor(hurt, cause);
        }
    }
}
 
开发者ID:Randores,项目名称:Randores2,代码行数:13,代码来源:EmpoweredArmorListener.java

示例7: damageEntity

import net.minecraft.util.DamageSource; //导入方法依赖的package包/类
/**
 * When a treater is hurt by a player,
 * The treater will send a chat message to that player
 */
@Override
protected void damageEntity(DamageSource damageSource, float damageAmount)
{
	super.damageEntity(damageSource, damageAmount);
	if (damageSource.getTrueSource() instanceof EntityPlayer)
	{
		EntityPlayer player = (EntityPlayer)damageSource.getTrueSource();
		this.chatItUp(player, EnumTreaterMessage.HURTING);
	}
}
 
开发者ID:crazysnailboy,项目名称:Halloween,代码行数:15,代码来源:EntityTreater.java

示例8: onDeath

import net.minecraft.util.DamageSource; //导入方法依赖的package包/类
@Override
public void onDeath(DamageSource s) {
	if (s.getTrueSource() != null && s.getTrueSource() instanceof EntityPlayerMP && !TF2Util.isOnSameTeam(this, s.getTrueSource())) {
		EntityPlayerMP player=(EntityPlayerMP) s.getTrueSource();
		if(s.getTrueSource().getTeam() != null) {
			player.addStat(TF2Achievements.KILLED_MERC);
			if(player.getStatFile().readStat(TF2Achievements.KILLED_MERC)>=5 && player.getStatFile().readStat(TF2Achievements.CONTRACT_DAY)==0/*player.getCapability(TF2weapons.PLAYER_CAP, null).nextContractDay == -1*/)
				player.addStat(TF2Achievements.CONTRACT_DAY, (int) (this.world.getWorldTime()/24000+1));
		}
		//player.addStat(TF2Achievements.FIRST_ENCOUNTER);
		
	}
	super.onDeath(s);
}
 
开发者ID:rafradek,项目名称:Mods,代码行数:15,代码来源:EntityTF2Character.java

示例9: attackEntityFrom

import net.minecraft.util.DamageSource; //导入方法依赖的package包/类
/**
 * Called when the entity is attacked.
 */
@Override
public boolean attackEntityFrom(DamageSource source, float amount) {
	if (this.recentlyHit > 0 && source == DamageSource.MAGIC)
		this.recentlyHit=Math.max(20, this.recentlyHit);
	if (this.isEntityInvulnerable(source))
		return false;
	else if (super.attackEntityFrom(source, amount)) {
		Entity entity = source.getTrueSource();
		return this.getRidingEntity() != entity && this.getRidingEntity() != entity ? true : true;
	} else
		return false;
}
 
开发者ID:rafradek,项目名称:Mods,代码行数:16,代码来源:EntityTF2Character.java

示例10: attackEntityFrom

import net.minecraft.util.DamageSource; //导入方法依赖的package包/类
@Override
public boolean attackEntityFrom(DamageSource source, float amount)
{
	// if the haunter wasn't damaged by an entity, or was damaged by a mob, do nothing
	Entity entity = source.getTrueSource();
	if (entity == null || entity instanceof EntityMob)
	{
		return false;
	}

	// check if the haunter took damage
	boolean takenDamage = super.attackEntityFrom(source, amount);

	// if the haunter took damage from a living entity...
	if (takenDamage && entity instanceof EntityLivingBase)
	{
		// spawn explosion particles
		this.spawnExplosionParticle();

		// if the haunter's run out of health
		if (this.getHealth() <= 0.0F)
		{
			// clear the attack target
			this.setAttackTarget(null);
			this.setCycleVisibility(51); // this.cycleVisibility = 51;
		}
		// otherwise (if the haunter hasn't run out of health)
		else
		{
			// set the attack target to the entity which caused it damage
			this.setAttackTarget((EntityLivingBase)entity);

			// if cycleVisibility is less than 85 (it's maximum), set it to 85
			if (this.getCycleVisibility() < 85) // if (this.cycleVisibility < 85)
			{
				this.setCycleVisibility(85); // this.cycleVisibility = 85;
				// this.setTransparencyState(EnumTransparencyState.OPAQUE); // this.transparencyState = EnumTransparencyState.OPAQUE;
			}

			// strafe left or right randomly
			this.setMoveStrafing(this.rand.nextInt(2) == 0 ? 1.5F : -1.5F);
		}
	}

	return takenDamage;
}
 
开发者ID:crazysnailboy,项目名称:Halloween,代码行数:47,代码来源:EntityHaunter.java


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