summaryrefslogtreecommitdiff
path: root/src/main/kotlin/util/minecrat/infer.kt
blob: dc89392e2970f134290e8209730b05049e63abf3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
@file:OptIn(ExperimentalContracts::class)

package moe.nea.ultranotifier.util.minecrat

import moe.nea.ultranotifier.datamodel.HasCategorizedChatLine
import moe.nea.ultranotifier.event.ChattyHudLine
import net.minecraft.client.gui.hud.ChatHud
import kotlin.contracts.ExperimentalContracts
import kotlin.contracts.contract

interface AccessorChatHud {
	val lineHeight_ultranotifier: Int
}

fun ChatHud.accessor(): AccessorChatHud {
	contract {
		returns() implies (this@accessor is AccessorChatHud)
	}
	return this as AccessorChatHud
}

val ChattyHudLine.category get() = (this as HasCategorizedChatLine).categorizedChatLine_ultraNotifier