import net.runelite.mapping.Export; import net.runelite.mapping.Implements; import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedSignature; @ObfuscatedName("cr") @Implements("HealthBar") public class HealthBar extends Node { @ObfuscatedName("x") @ObfuscatedSignature( signature = "Lke;" ) @Export("ItemDefinition_fontPlain11") public static Font ItemDefinition_fontPlain11; @ObfuscatedName("e") @ObfuscatedSignature( signature = "Lip;" ) @Export("definition") HealthBarDefinition definition; @ObfuscatedName("p") @ObfuscatedSignature( signature = "Lju;" ) @Export("updates") IterableNodeDeque updates; @ObfuscatedSignature( signature = "(Lip;)V" ) HealthBar(HealthBarDefinition var1) { this.updates = new IterableNodeDeque(); this.definition = var1; } @ObfuscatedName("q") @ObfuscatedSignature( signature = "(IIIIB)V", garbageValue = "87" ) @Export("put") void put(int var1, int var2, int var3, int var4) { HealthBarUpdate var5 = null; int var6 = 0; for (HealthBarUpdate var7 = (HealthBarUpdate)this.updates.last(); var7 != null; var7 = (HealthBarUpdate)this.updates.previous()) { ++var6; if (var7.cycle == var1) { var7.set(var1, var2, var3, var4); return; } if (var7.cycle <= var1) { var5 = var7; } } if (var5 == null) { if (var6 < 4) { this.updates.addLast(new HealthBarUpdate(var1, var2, var3, var4)); } } else { IterableNodeDeque.IterableNodeDeque_addBefore(new HealthBarUpdate(var1, var2, var3, var4), var5); if (var6 >= 4) { this.updates.last().remove(); } } } @ObfuscatedName("w") @ObfuscatedSignature( signature = "(IB)Lbu;", garbageValue = "41" ) @Export("get") HealthBarUpdate get(int var1) { HealthBarUpdate var2 = (HealthBarUpdate)this.updates.last(); if (var2 != null && var2.cycle <= var1) { for (HealthBarUpdate var3 = (HealthBarUpdate)this.updates.previous(); var3 != null && var3.cycle <= var1; var3 = (HealthBarUpdate)this.updates.previous()) { var2.remove(); var2 = var3; } if (this.definition.int5 + var2.cycle + var2.cycleOffset > var1) { return var2; } var2.remove(); return null; } return null; } @ObfuscatedName("e") @ObfuscatedSignature( signature = "(I)Z", garbageValue = "-16711936" ) @Export("isEmpty") boolean isEmpty() { return this.updates.isEmpty(); } @ObfuscatedName("w") @ObfuscatedSignature( signature = "(IB)I", garbageValue = "35" ) public static int method1957(int var0) { return var0 >> 11 & 63; } }