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

49 lines
1.5 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 {
2025-03-12 20:12:01 -04:00
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;
}
2018-09-13 12:03:28 -04:00
}