aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/com/ambientaddons/features/misc/BonzoMask.kt
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/kotlin/com/ambientaddons/features/misc/BonzoMask.kt')
-rw-r--r--src/main/kotlin/com/ambientaddons/features/misc/BonzoMask.kt60
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