mirror of
https://github.com/mcMMO-Dev/mcMMO.git
synced 2025-01-18 16:35:25 +01:00
Don't cache mob infomation in the updater task
This commit is contained in:
parent
601297799f
commit
8fd1af4cbf
@ -1,5 +1,6 @@
|
||||
Version 2.1.112
|
||||
Correct locale usage for enum access, now enforces using the english locale to prevent issues with oddball locales for configs/commands
|
||||
Don't cache names in mob health updater task, also; Don't schedule if the entity is already dead
|
||||
|
||||
Version 2.1.111
|
||||
mcMMO is compatible with the following versions of MC: 1.15 / 1.14.4 / 1.14.3 / 1.14.2 / 1.14.1 / 1.14 / 1.13.2
|
||||
|
@ -6,23 +6,20 @@ import org.bukkit.scheduler.BukkitRunnable;
|
||||
|
||||
public class MobHealthDisplayUpdaterTask extends BukkitRunnable {
|
||||
private LivingEntity target;
|
||||
private String oldName;
|
||||
private boolean oldNameVisible;
|
||||
|
||||
public MobHealthDisplayUpdaterTask(LivingEntity target) {
|
||||
if (target.isValid()) {
|
||||
this.target = target;
|
||||
this.oldName = target.getMetadata(mcMMO.customNameKey).get(0).asString();
|
||||
this.oldNameVisible = target.getMetadata(mcMMO.customVisibleKey).get(0).asBoolean();
|
||||
}
|
||||
this.target = target;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void run() {
|
||||
if (target != null && target.isValid()) {
|
||||
target.setCustomNameVisible(oldNameVisible);
|
||||
target.setCustomName(oldName);
|
||||
if (target.hasMetadata(mcMMO.customNameKey)) {
|
||||
target.setCustomName(target.getMetadata(mcMMO.customNameKey).get(0).asString());
|
||||
target.removeMetadata(mcMMO.customNameKey, mcMMO.p);
|
||||
}
|
||||
|
||||
if (target.hasMetadata(mcMMO.customVisibleKey)) {
|
||||
target.setCustomNameVisible(target.getMetadata(mcMMO.customVisibleKey).get(0).asBoolean());
|
||||
target.removeMetadata(mcMMO.customVisibleKey, mcMMO.p);
|
||||
}
|
||||
}
|
||||
|
@ -60,6 +60,11 @@ public final class MobHealthbarUtils {
|
||||
return;
|
||||
}
|
||||
|
||||
// Don't mangle invalid entities, they're not going to be rendered anyways
|
||||
if (!target.isValid()) {
|
||||
return;
|
||||
}
|
||||
|
||||
boolean oldNameVisible = target.isCustomNameVisible();
|
||||
String newName = createHealthDisplay(Config.getInstance().getMobHealthbarDefault(), target, damage);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user