diff options
Diffstat (limited to 'src/main/kotlin/com/ambientaddons/features/misc/BonzoMask.kt')
-rw-r--r-- | src/main/kotlin/com/ambientaddons/features/misc/BonzoMask.kt | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/src/main/kotlin/com/ambientaddons/features/misc/BonzoMask.kt b/src/main/kotlin/com/ambientaddons/features/misc/BonzoMask.kt new file mode 100644 index 0000000..db45e93 --- /dev/null +++ b/src/main/kotlin/com/ambientaddons/features/misc/BonzoMask.kt @@ -0,0 +1,60 @@ +package com.ambientaddons.features.misc + +import AmbientAddons.Companion.config +import AmbientAddons.Companion.mc +import com.ambientaddons.events.ItemOverlayEvent +import com.ambientaddons.utils.Extensions.skyblockID +import com.ambientaddons.utils.Extensions.stripControlCodes +import com.ambientaddons.utils.SkyBlock +import com.ambientaddons.utils.RenderUtils +import net.minecraftforge.client.event.ClientChatReceivedEvent +import net.minecraftforge.fml.common.eventhandler.SubscribeEvent + +object BonzoMask { + private var spiritMaskProc = 0L + private var bonzoMaskProc = 0L + private var fraggedBonzoMaskProc = 0L + + private const val secondWindString = "Second Wind Activated! Your Spirit Mask saved your life!" + private const val bonzoString = "Your Bonzo's Mask saved your life!" + private const val fraggedBonzoString = "Your ⚚ Bonzo's Mask saved your life!" + + @SubscribeEvent + fun onChat(event: ClientChatReceivedEvent) { + if (!SkyBlock.inSkyblock) return + val didMaskProc = when (event.message.unformattedText.stripControlCodes()) { + secondWindString -> { + spiritMaskProc = System.currentTimeMillis() + true + } + bonzoString -> { + bonzoMaskProc = System.currentTimeMillis() + true + } + fraggedBonzoString -> { + fraggedBonzoMaskProc = System.currentTimeMillis() + true + } + else -> false + } + if (config.maskWarning && didMaskProc) { + mc.ingameGUI.displayTitle("§cMask!", null, 5, 20, 5) + } + } + + @SubscribeEvent + fun onRenderItemOverlay(event: ItemOverlayEvent) { + if (!SkyBlock.inSkyblock) return + val durability = when (event.item?.skyblockID) { + "BONZO_MASK" -> (System.currentTimeMillis() - bonzoMaskProc) / 180000.0 + "STARRED_BONZO_MASK" -> (System.currentTimeMillis() - fraggedBonzoMaskProc) / 180000.0 + "SPIRIT_MASK" -> (System.currentTimeMillis() - spiritMaskProc) / 30000.0 + else -> 1.0 + } + if (durability < 1.0) { + RenderUtils.renderDurabilityBar(event.x, event.y, durability) + } + } + + +}
\ No newline at end of file |