Files
CustomNPC-Plus/src/main/java/noppes/npcs/Resistances.java
T

51 lines
1.4 KiB
Java
Raw Normal View History

2018-09-13 12:03:28 -04:00
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;
2021-11-26 04:34:47 -05:00
public boolean disableDamage = false;
2018-09-13 12:03:28 -04:00
public NBTTagCompound writeToNBT() {
NBTTagCompound compound = new NBTTagCompound();
compound.setFloat("Knockback", knockback);
compound.setFloat("Arrow", arrow);
compound.setFloat("Melee", playermelee);
compound.setFloat("Explosion", explosion);
2021-11-26 04:34:47 -05:00
compound.setBoolean("disableDamage", disableDamage);
2018-09-13 12:03:28 -04:00
return compound;
}
public void readToNBT(NBTTagCompound compound) {
knockback = compound.getFloat("Knockback");
arrow = compound.getFloat("Arrow");
playermelee = compound.getFloat("Melee");
explosion = compound.getFloat("Explosion");
2021-11-26 04:34:47 -05:00
disableDamage = compound.getBoolean("disableDamage");
2018-09-13 12:03:28 -04:00
}
public float applyResistance(DamageSource source, float damage) {
2021-11-26 04:34:47 -05:00
if(disableDamage){
return 0;
}
2018-09-13 12:03:28 -04:00
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;
}
}