diff options
Diffstat (limited to 'src/main/java/at/hannibal2/skyhanni/data')
| -rw-r--r-- | src/main/java/at/hannibal2/skyhanni/data/EntityData.kt | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/main/java/at/hannibal2/skyhanni/data/EntityData.kt b/src/main/java/at/hannibal2/skyhanni/data/EntityData.kt index c4e5fd7e7..d2f81a6d8 100644 --- a/src/main/java/at/hannibal2/skyhanni/data/EntityData.kt +++ b/src/main/java/at/hannibal2/skyhanni/data/EntityData.kt @@ -7,6 +7,7 @@ import at.hannibal2.skyhanni.events.LorenzTickEvent import at.hannibal2.skyhanni.events.LorenzWorldChangeEvent import at.hannibal2.skyhanni.events.SecondPassedEvent import at.hannibal2.skyhanni.events.entity.EntityDisplayNameEvent +import at.hannibal2.skyhanni.events.entity.EntityHealthDisplayEvent import at.hannibal2.skyhanni.events.minecraft.packet.PacketReceivedEvent import at.hannibal2.skyhanni.skyhannimodule.SkyHanniModule import at.hannibal2.skyhanni.utils.EntityUtils @@ -32,6 +33,7 @@ object EntityData { private val maxHealthMap = mutableMapOf<EntityLivingBase, Int>() private val nametagCache = TimeLimitedCache<Entity, ChatComponentText>(50.milliseconds) + private val healthDisplayCache = TimeLimitedCache<String, String>(50.milliseconds) @SubscribeEvent fun onTick(event: LorenzTickEvent) { @@ -103,4 +105,12 @@ object EntityData { event.postAndCatch() event.chatComponent } + + @JvmStatic + fun getHealthDisplay(text: String) = healthDisplayCache.getOrPut(text) { + val event = EntityHealthDisplayEvent(text) + event.postAndCatch() + event.text + } + } |
