Files
CustomNPC-Plus/src/main/java/noppes/npcs/Resistances.java
T
KAMKEEL 24790b7952 Add Disabling All Damage
Cleaned Up some Lang Code
Added Disabling All Damage to Stats
Moved Disable Damage from Resistances to Stats
Added Disable Damage Message
2021-11-26 04:34:47 -05:00

52 lines
1.4 KiB
Java

package noppes.npcs;
import net.minecraft.nbt.NBTTagCompound;
import net.minecraft.util.DamageSource;
public class Resistances {
public float knockback = 1f;
public float arrow = 1f;
public float playermelee = 1f;
public float explosion = 1f;
public boolean disableDamage = false;
public NBTTagCompound writeToNBT() {
NBTTagCompound compound = new NBTTagCompound();
compound.setFloat("Knockback", knockback);
compound.setFloat("Arrow", arrow);
compound.setFloat("Melee", playermelee);
compound.setFloat("Explosion", explosion);
compound.setBoolean("disableDamage", disableDamage);
return compound;
}
public void readToNBT(NBTTagCompound compound) {
knockback = compound.getFloat("Knockback");
arrow = compound.getFloat("Arrow");
playermelee = compound.getFloat("Melee");
explosion = compound.getFloat("Explosion");
disableDamage = compound.getBoolean("disableDamage");
}
public float applyResistance(DamageSource source, float damage) {
if(disableDamage){
return 0;
}
if(source.damageType.equals("arrow") || source.damageType.equals("thrown")){
damage *= (2 - arrow);
}
else if(source.damageType.equals("player") || source.damageType.equals("mob")){
damage *= (2 - playermelee);
}
else if(source.damageType.equals("explosion") || source.damageType.equals("explosion.player")){
damage *= (2 - explosion);
}
return damage;
}
}