9
0
mirror of https://github.com/Auxilor/EcoMobs.git synced 2025-12-20 23:49:22 +00:00

Added null check for all attributes (now ghast as base mob will work), started removing all modifiers from the entity (to avoid random bosses with other modifiers being OP)

This commit is contained in:
_OfTeN_
2021-11-16 20:08:32 +03:00
parent 770ee369e5
commit 97a07f31bf

View File

@@ -150,18 +150,23 @@ public class LivingEcoBoss extends PluginDependent<EcoPlugin> {
movementSpeed.addModifier(new AttributeModifier(entity.getUniqueId(), "ecobosses-movement-multiplier", boss.getMovementSpeedMultiplier() - 1, AttributeModifier.Operation.MULTIPLY_SCALAR_1)); movementSpeed.addModifier(new AttributeModifier(entity.getUniqueId(), "ecobosses-movement-multiplier", boss.getMovementSpeedMultiplier() - 1, AttributeModifier.Operation.MULTIPLY_SCALAR_1));
AttributeInstance maxHealth = entity.getAttribute(Attribute.GENERIC_MAX_HEALTH); AttributeInstance maxHealth = entity.getAttribute(Attribute.GENERIC_MAX_HEALTH);
assert maxHealth != null; if (maxHealth != null) {
maxHealth.getModifiers().clear();
maxHealth.setBaseValue(boss.getMaxHealth()); maxHealth.setBaseValue(boss.getMaxHealth());
entity.setHealth(maxHealth.getValue()); entity.setHealth(maxHealth.getValue());
}
AttributeInstance followRange = entity.getAttribute(Attribute.GENERIC_FOLLOW_RANGE); AttributeInstance followRange = entity.getAttribute(Attribute.GENERIC_FOLLOW_RANGE);
assert followRange != null; if (followRange != null) {
followRange.getModifiers().clear();
followRange.setBaseValue(boss.getFollowRange()); followRange.setBaseValue(boss.getFollowRange());
}
AttributeInstance attackDamage = entity.getAttribute(Attribute.GENERIC_ATTACK_DAMAGE); AttributeInstance attackDamage = entity.getAttribute(Attribute.GENERIC_ATTACK_DAMAGE);
assert attackDamage != null; if (attackDamage != null) {
attackDamage.getModifiers().clear();
attackDamage.setBaseValue(boss.getAttackDamage()); attackDamage.setBaseValue(boss.getAttackDamage());
}
for (OptionedSound sound : boss.getSpawnSounds()) { for (OptionedSound sound : boss.getSpawnSounds()) {
entity.getWorld().playSound(entity.getLocation(), sound.sound(), sound.volume(), sound.pitch()); entity.getWorld().playSound(entity.getLocation(), sound.sound(), sound.volume(), sound.pitch());