本文整理汇总了Java中net.minecraft.util.DamageSource.isExplosion方法的典型用法代码示例。如果您正苦于以下问题:Java DamageSource.isExplosion方法的具体用法?Java DamageSource.isExplosion怎么用?Java DamageSource.isExplosion使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类net.minecraft.util.DamageSource
的用法示例。
在下文中一共展示了DamageSource.isExplosion方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: attackEntityFrom
import net.minecraft.util.DamageSource; //导入方法依赖的package包/类
/**
* Called when the entity is attacked.
*/
public boolean attackEntityFrom(DamageSource source, float amount)
{
if (!this.isMoving() && !source.isMagicDamage() && source.getSourceOfDamage() instanceof EntityLivingBase)
{
EntityLivingBase entitylivingbase = (EntityLivingBase)source.getSourceOfDamage();
if (!source.isExplosion())
{
entitylivingbase.attackEntityFrom(DamageSource.causeThornsDamage(this), 2.0F);
}
}
if (this.wander != null)
{
this.wander.makeUpdate();
}
return super.attackEntityFrom(source, amount);
}
示例2: onAttack
import net.minecraft.util.DamageSource; //导入方法依赖的package包/类
@Override
public void onAttack(LivingAttackEvent event, DamageSource source, EntityLivingBase affected, int amplifier) {
if (amplifier >= 3) {
if (!source.isExplosion()) {
BrewStorageHandler.removeActiveBrew(affected, this);
affected.world.createExplosion(source.getImmediateSource(), affected.posX, affected.posY + 1.2D, affected.posZ, amplifier + 3, true);
}
}
if (amplifier == 2) {
if (!source.isExplosion()) {
BrewStorageHandler.removeActiveBrew(affected, this);
affected.world.createExplosion(source.getImmediateSource(), affected.posX, affected.posY + 0.7D, affected.posZ, amplifier + 2, true);
}
}
if (!source.isExplosion()) {
BrewStorageHandler.removeActiveBrew(affected, this);
affected.world.createExplosion(source.getImmediateSource(), affected.posX, affected.posY + 0.5D, affected.posZ, amplifier + 1, true);
}
}
示例3: attackEntityFrom
import net.minecraft.util.DamageSource; //导入方法依赖的package包/类
/**
* Called when the entity is attacked.
*/
public boolean attackEntityFrom(DamageSource source, float amount)
{
if (this.isEntityInvulnerable(source))
{
return false;
}
else if (this.getEntityItem() != null && this.getEntityItem().getItem() == Items.nether_star && source.isExplosion())
{
return false;
}
else
{
this.setBeenAttacked();
this.health = (int)((float)this.health - amount);
if (this.health <= 0)
{
this.setDead();
}
return false;
}
}
示例4: attackEntityFromPart
import net.minecraft.util.DamageSource; //导入方法依赖的package包/类
public boolean attackEntityFromPart(EntityDragonPart dragonPart, DamageSource source, float p_70965_3_)
{
if (dragonPart != this.dragonPartHead)
{
p_70965_3_ = p_70965_3_ / 4.0F + 1.0F;
}
float f = this.rotationYaw * (float)Math.PI / 180.0F;
float f1 = MathHelper.sin(f);
float f2 = MathHelper.cos(f);
this.targetX = this.posX + (double)(f1 * 5.0F) + (double)((this.rand.nextFloat() - 0.5F) * 2.0F);
this.targetY = this.posY + (double)(this.rand.nextFloat() * 3.0F) + 1.0D;
this.targetZ = this.posZ - (double)(f2 * 5.0F) + (double)((this.rand.nextFloat() - 0.5F) * 2.0F);
this.target = null;
if (source.getEntity() instanceof EntityPlayer || source.isExplosion())
{
this.attackDragonFrom(source, p_70965_3_);
}
return true;
}
示例5: attackEntityFrom
import net.minecraft.util.DamageSource; //导入方法依赖的package包/类
/**
* Called when the entity is attacked.
*/
public boolean attackEntityFrom(DamageSource source, float amount)
{
if (this.isEntityInvulnerable(source))
{
return false;
}
else if (!source.isExplosion() && this.getDisplayedItem() != null)
{
if (!this.worldObj.isRemote)
{
this.dropItemOrSelf(source.getEntity(), false);
this.setDisplayedItem((ItemStack)null);
}
return true;
}
else
{
return super.attackEntityFrom(source, amount);
}
}
示例6: 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;
}
示例7: attackEntityFrom
import net.minecraft.util.DamageSource; //导入方法依赖的package包/类
/**
* Called when the entity is attacked.
*/
public boolean attackEntityFrom(DamageSource source, float amount)
{
if (!this.func_175472_n() && !source.isMagicDamage() && source.getSourceOfDamage() instanceof EntityLivingBase)
{
EntityLivingBase entitylivingbase = (EntityLivingBase)source.getSourceOfDamage();
if (!source.isExplosion())
{
entitylivingbase.attackEntityFrom(DamageSource.causeThornsDamage(this), 2.0F);
entitylivingbase.playSound("damage.thorns", 0.5F, 1.0F);
}
}
this.wander.makeUpdate();
return super.attackEntityFrom(source, amount);
}
示例8: attackEntityFrom
import net.minecraft.util.DamageSource; //导入方法依赖的package包/类
/**
* Called when the entity is attacked.
*/
public boolean attackEntityFrom(DamageSource source, float amount)
{
if (this.isEntityInvulnerable(source))
{
return false;
}
else if (!source.isExplosion() && this.getDisplayedItem() != null)
{
if (!this.worldObj.isRemote)
{
this.dropItemOrSelf(source.getEntity(), false);
this.playSound(SoundEvents.ENTITY_ITEMFRAME_REMOVE_ITEM, 1.0F, 1.0F);
this.setDisplayedItem((ItemStack)null);
}
return true;
}
else
{
return super.attackEntityFrom(source, amount);
}
}
示例9: killMinecart
import net.minecraft.util.DamageSource; //导入方法依赖的package包/类
public void killMinecart(DamageSource p_94095_1_)
{
super.killMinecart(p_94095_1_);
if (!p_94095_1_.isExplosion() && this.worldObj.getGameRules().getBoolean("doEntityDrops"))
{
this.entityDropItem(new ItemStack(Blocks.furnace, 1), 0.0F);
}
}
示例10: isPoweredCreeper
import net.minecraft.util.DamageSource; //导入方法依赖的package包/类
private boolean isPoweredCreeper(DamageSource source) {
if (source.isExplosion() && source instanceof EntityDamageSource) {
Entity entity = ((EntityDamageSource) source).getEntity();
if (entity != null && entity instanceof EntityCreeper)
return ((EntityCreeper) entity).getPowered();
}
return false;
}
示例11: killMinecart
import net.minecraft.util.DamageSource; //导入方法依赖的package包/类
public void killMinecart(DamageSource p_94095_1_)
{
super.killMinecart(p_94095_1_);
double d0 = this.motionX * this.motionX + this.motionZ * this.motionZ;
if (!p_94095_1_.isExplosion() && this.worldObj.getGameRules().getBoolean("doEntityDrops"))
{
this.entityDropItem(new ItemStack(Blocks.tnt, 1), 0.0F);
}
if (p_94095_1_.isFireDamage() || p_94095_1_.isExplosion() || d0 >= 0.009999999776482582D)
{
this.explodeCart(d0);
}
}
示例12: calcModifierDamage
import net.minecraft.util.DamageSource; //导入方法依赖的package包/类
/**
* Calculates the damage protection of the enchantment based on level and damage source passed.
*/
public int calcModifierDamage(int level, DamageSource source)
{
if (source.canHarmInCreative())
{
return 0;
}
else
{
float f = (float)(6 + level * level) / 3.0F;
return this.protectionType == 0 ? MathHelper.floor_float(f * 0.75F) : (this.protectionType == 1 && source.isFireDamage() ? MathHelper.floor_float(f * 1.25F) : (this.protectionType == 2 && source == DamageSource.fall ? MathHelper.floor_float(f * 2.5F) : (this.protectionType == 3 && source.isExplosion() ? MathHelper.floor_float(f * 1.5F) : (this.protectionType == 4 && source.isProjectile() ? MathHelper.floor_float(f * 1.5F) : 0))));
}
}
示例13: killMinecart
import net.minecraft.util.DamageSource; //导入方法依赖的package包/类
public void killMinecart(DamageSource source)
{
super.killMinecart(source);
if (!source.isExplosion() && this.world.getGameRules().getBoolean("doEntityDrops"))
{
this.entityDropItem(new ItemStack(Blocks.FURNACE, 1), 0.0F);
}
}
示例14: attackEntityFromPart
import net.minecraft.util.DamageSource; //导入方法依赖的package包/类
public boolean attackEntityFromPart(EntityDragonPart dragonPart, DamageSource source, float damage)
{
damage = this.phaseManager.getCurrentPhase().getAdjustedDamage(dragonPart, source, damage);
if (dragonPart != this.dragonPartHead)
{
damage = damage / 4.0F + Math.min(damage, 1.0F);
}
if (damage < 0.01F)
{
return false;
}
else
{
if (source.getEntity() instanceof EntityPlayer || source.isExplosion())
{
float f = this.getHealth();
this.attackDragonFrom(source, damage);
if (this.getHealth() <= 0.0F && !this.phaseManager.getCurrentPhase().getIsStationary())
{
this.setHealth(1.0F);
this.phaseManager.setPhase(PhaseList.DYING);
}
if (this.phaseManager.getCurrentPhase().getIsStationary())
{
this.sittingDamageReceived = (int)((float)this.sittingDamageReceived + (f - this.getHealth()));
if ((float)this.sittingDamageReceived > 0.25F * this.getMaxHealth())
{
this.sittingDamageReceived = 0;
this.phaseManager.setPhase(PhaseList.TAKEOFF);
}
}
}
return true;
}
}
示例15: calcModifierDamage
import net.minecraft.util.DamageSource; //导入方法依赖的package包/类
/**
* Calculates the damage protection of the enchantment based on level and damage source passed.
*/
public int calcModifierDamage(int level, DamageSource source)
{
return source.canHarmInCreative() ? 0 : (this.protectionType == EnchantmentProtection.Type.ALL ? level : (this.protectionType == EnchantmentProtection.Type.FIRE && source.isFireDamage() ? level * 2 : (this.protectionType == EnchantmentProtection.Type.FALL && source == DamageSource.fall ? level * 3 : (this.protectionType == EnchantmentProtection.Type.EXPLOSION && source.isExplosion() ? level * 2 : (this.protectionType == EnchantmentProtection.Type.PROJECTILE && source.isProjectile() ? level * 2 : 0)))));
}