aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/util/accessors/castAccessor.kt
blob: 0ac85a28626d7fdb663110a027b763cd208dd09c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@file:OptIn(ExperimentalContracts::class)

package moe.nea.firmament.util.accessors

import kotlin.contracts.ExperimentalContracts
import kotlin.contracts.contract
import net.minecraft.client.gui.screens.inventory.AbstractContainerScreen
import moe.nea.firmament.mixins.accessor.AccessorHandledScreen


inline fun AbstractContainerScreen<*>.castAccessor(): AccessorHandledScreen {
	contract {
		returns() implies (this@castAccessor is AccessorHandledScreen)
	}
	return this as AccessorHandledScreen
}