aboutsummaryrefslogtreecommitdiff
path: root/src/main/kotlin/features/texturepack/BakedModelExtra.kt
blob: 6305748c3d5da413904015bbb139b524d9ea5155 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package moe.nea.firmament.features.texturepack

import net.fabricmc.fabric.api.renderer.v1.model.WrapperBakedModel as WrapperBakedModelFabric
import net.minecraft.client.render.model.BakedModel
import net.minecraft.client.render.model.WrapperBakedModel
import moe.nea.firmament.util.ErrorUtil

interface BakedModelExtra {
	companion object {
		@JvmStatic
		fun cast(originalModel: BakedModel): BakedModelExtra? {
			var p = originalModel
			for (i in 0..256) {
				p = when (p) {
					is BakedModelExtra -> return p
					is WrapperBakedModel -> p.wrapped
					is WrapperBakedModelFabric -> WrapperBakedModelFabric.unwrap(p)
					else -> break
				}
			}
			ErrorUtil.softError("Could not find a baked model for $originalModel")
			return null
		}
	}

	var tintOverrides_firmament: TintOverrides?

	fun getHeadModel_firmament(): BakedModel?
	fun setHeadModel_firmament(headModel: BakedModel?)
}