net.minecraft.util.DamageSource#isUnblockable ( )源码实例Demo

下面列出了net.minecraft.util.DamageSource#isUnblockable ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。

源代码1 项目: Kettle   文件: CraftDamageSource.java
public static DamageSource copyOf(final DamageSource original) {
    CraftDamageSource newSource = new CraftDamageSource(original.damageType);

    // Check ignoresArmor
    if (original.isUnblockable()) {
        newSource.setDamageBypassesArmor();
    }

    // Check magic
    if (original.isMagicDamage()) {
        newSource.setMagicDamage();
    }

    // Check fire
    if (original.isExplosion()) {
        newSource.setExplosion();
    }

    return newSource;
}
 
源代码2 项目: Cyberware   文件: ItemHeartUpgrade.java
protected float applyArmorCalculations(EntityLivingBase e, DamageSource source, float damage)
{
    if (!source.isUnblockable())
    {
        damage = CombatRules.getDamageAfterAbsorb(damage, (float)e.getTotalArmorValue(), (float)e.getEntityAttribute(SharedMonsterAttributes.ARMOR_TOUGHNESS).getAttributeValue());
    }

    return damage;
}
 
源代码3 项目: AdvancedRocketry   文件: ItemSpaceArmor.java
@Override
public ArmorProperties getProperties(EntityLivingBase player,
		ItemStack armor, DamageSource source, double damage, int slot) {
	if(!source.isUnblockable())
		return new ArmorProperties(0, 5, 1);
	return new ArmorProperties(0, 0, 0);
}
 
源代码4 项目: SimplyJetpacks   文件: ItemPack.java
@Override
public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) {
    T pack = this.getPack(armor);
    if (pack != null && pack.isArmored && !source.isUnblockable()) {
        if (pack.isFluxBased && source.damageType.equals("flux")) {
            return new ArmorProperties(0, 0.5D, Integer.MAX_VALUE);
        }
        int energyPerDamage = this.getFuelPerDamage(armor, pack);
        int maxAbsorbed = energyPerDamage > 0 ? 25 * (this.getFuelStored(armor) / energyPerDamage) : 0;
        return new ArmorProperties(0, 0.85D * (pack.armorReduction / 20.0D), maxAbsorbed);
    }
    return new ArmorProperties(0, 1, 0);
}
 
源代码5 项目: Electro-Magic-Tools   文件: ItemElectricGoggles.java
@Override
public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) {
    if (source.isUnblockable()) {
        return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(0, 0.0D, 0);
    } else {
        double absorptionRatio = getBaseAbsorptionRatio() * getDamageAbsorptionRatio();
        int energyPerDamage = getEnergyPerDamage();
        double damageLimit = energyPerDamage <= 0 ? 0 : (25 * ElectricItem.manager.getCharge(armor)) / energyPerDamage;
        return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(0, absorptionRatio, (int) damageLimit);
    }
}
 
源代码6 项目: Electro-Magic-Tools   文件: ItemNanoWing.java
@Override
public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) {
    if (source.isUnblockable()) {
        return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(0, 0.0D, 3);
    } else {
        double absorptionRatio = getBaseAbsorptionRatio() * getDamageAbsorptionRatio();
        int energyPerDamage = getEnergyPerDamage();
        double damageLimit = energyPerDamage <= 0 ? 0 : (25 * ElectricItem.manager.getCharge(armor)) / energyPerDamage;
        return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(3, absorptionRatio, (int) damageLimit);
    }
}
 
@Override
public ArmorProperties getProperties(EntityLivingBase player, ItemStack armor, DamageSource source, double damage, int slot) {
    if (source.isUnblockable()) {
        return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(0, 0.0D, 3);
    } else {
        double absorptionRatio = getBaseAbsorptionRatio() * getDamageAbsorptionRatio();
        int energyPerDamage = getEnergyPerDamage();
        double damageLimit = energyPerDamage <= 0 ? 0 : (25 * ElectricItem.manager.getCharge(armor)) / energyPerDamage;
        return new net.minecraftforge.common.ISpecialArmor.ArmorProperties(3, absorptionRatio, (int) damageLimit);
    }
}
 
源代码8 项目: EnderZoo   文件: EntityDireSlime.java
@Override
protected float applyArmorCalculations(DamageSource p_70655_1_, float p_70655_2_) {
    if (!p_70655_1_.isUnblockable()) {
      return Math.min(Math.max(p_70655_2_ - 3 - this.getSlimeSize(), this.getSlimeSize()) / 2, p_70655_2_);
    }
    return p_70655_2_;
}