From fcabc9f3e34f4b7b6d9a5fef2ee59b09c581a279 Mon Sep 17 00:00:00 2001 From: Auxilor Date: Fri, 19 Mar 2021 19:45:50 +0000 Subject: [PATCH] Added %health% placeholder to show entity health in name --- .../java/com/willfp/ecobosses/bosses/EcoBoss.java | 11 +++++++++++ .../src/main/resources/bosses/illusioner.yml | 2 +- .../src/main/resources/bosses/steel_golem.yml | 2 +- .../src/main/resources/bosses/tarantula.yml | 2 +- 4 files changed, 14 insertions(+), 3 deletions(-) diff --git a/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/bosses/EcoBoss.java b/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/bosses/EcoBoss.java index 0951fe2..e01becd 100644 --- a/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/bosses/EcoBoss.java +++ b/eco-core/core-plugin/src/main/java/com/willfp/ecobosses/bosses/EcoBoss.java @@ -499,6 +499,16 @@ public class EcoBoss extends PluginDependent { ); } + this.getPlugin().getRunnableFactory().create(runnable -> { + String name = entity.getCustomName(); + assert name != null; + + entity.setCustomName(name.replace("%health%", StringUtils.internalToString(entity.getHealth()))); + if (entity.isDead()) { + runnable.cancel(); + } + }).runTaskTimer(0, 1); + if (this.isBossbarEnabled()) { createBossBar(entity); } @@ -529,6 +539,7 @@ public class EcoBoss extends PluginDependent { this.getPlugin().getRunnableFactory().create(runnable -> { if (!entity.isDead()) { + bossBar.setTitle(entity.getCustomName()); bossBar.setProgress(entity.getHealth() / entity.getAttribute(Attribute.GENERIC_MAX_HEALTH).getValue()); } else { bossBar.getPlayers().forEach(bossBar::removePlayer); diff --git a/eco-core/core-plugin/src/main/resources/bosses/illusioner.yml b/eco-core/core-plugin/src/main/resources/bosses/illusioner.yml index dfcec7e..8b82c57 100644 --- a/eco-core/core-plugin/src/main/resources/bosses/illusioner.yml +++ b/eco-core/core-plugin/src/main/resources/bosses/illusioner.yml @@ -1,6 +1,6 @@ enabled: true -name: "&9Illusioner" # Display name +name: "&9Illusioner &7| &c%health%♥" # Display name base-mob: custom_illusioner # Any existing mob - custom_illusioner is also accepted (like in the old Illusioner plugin) bossbar: diff --git a/eco-core/core-plugin/src/main/resources/bosses/steel_golem.yml b/eco-core/core-plugin/src/main/resources/bosses/steel_golem.yml index bc32132..d290e3b 100644 --- a/eco-core/core-plugin/src/main/resources/bosses/steel_golem.yml +++ b/eco-core/core-plugin/src/main/resources/bosses/steel_golem.yml @@ -1,6 +1,6 @@ enabled: true -name: "&8Steel Golem" # Display name +name: "&8Steel Golem &7| &c%health%♥" # Display name base-mob: iron_golem # Any existing mob - custom_illusioner is also accepted (like in the old Illusioner plugin) bossbar: diff --git a/eco-core/core-plugin/src/main/resources/bosses/tarantula.yml b/eco-core/core-plugin/src/main/resources/bosses/tarantula.yml index bc638ab..49e9a69 100644 --- a/eco-core/core-plugin/src/main/resources/bosses/tarantula.yml +++ b/eco-core/core-plugin/src/main/resources/bosses/tarantula.yml @@ -1,6 +1,6 @@ enabled: true -name: "&4Tarantula" # Display name +name: "&4Tarantula &7| &c%health%♥" # Display name base-mob: cave_spider # Any existing mob - custom_illusioner is also accepted (like in the old Illusioner plugin) bossbar: