diff options
| author | Linnea Gräf <nea@nea.moe> | 2025-11-17 19:55:02 +0100 |
|---|---|---|
| committer | Linnea Gräf <nea@nea.moe> | 2025-11-17 19:55:02 +0100 |
| commit | c93a04a001b0f66b2724d46b04b6d1ed49a08d07 (patch) | |
| tree | 5869ca70acc482ef0362f27785c3d3f1cbb9ffae /src/texturePacks/java/moe/nea/firmament/features/texturepack/HeadModelChooser.kt | |
| parent | af9893b59407c69d31ebd2ed513f0396ab4d2dc9 (diff) | |
| download | Firmament-c93a04a001b0f66b2724d46b04b6d1ed49a08d07.tar.gz Firmament-c93a04a001b0f66b2724d46b04b6d1ed49a08d07.tar.bz2 Firmament-c93a04a001b0f66b2724d46b04b6d1ed49a08d07.zip | |
refactor: port to mojmaps
Diffstat (limited to 'src/texturePacks/java/moe/nea/firmament/features/texturepack/HeadModelChooser.kt')
| -rw-r--r-- | src/texturePacks/java/moe/nea/firmament/features/texturepack/HeadModelChooser.kt | 60 |
1 files changed, 30 insertions, 30 deletions
diff --git a/src/texturePacks/java/moe/nea/firmament/features/texturepack/HeadModelChooser.kt b/src/texturePacks/java/moe/nea/firmament/features/texturepack/HeadModelChooser.kt index 8b97a4b..03496aa 100644 --- a/src/texturePacks/java/moe/nea/firmament/features/texturepack/HeadModelChooser.kt +++ b/src/texturePacks/java/moe/nea/firmament/features/texturepack/HeadModelChooser.kt @@ -3,18 +3,18 @@ package moe.nea.firmament.features.texturepack import com.google.gson.JsonObject import com.mojang.serialization.MapCodec import com.mojang.serialization.codecs.RecordCodecBuilder -import net.minecraft.client.item.ItemModelManager -import net.minecraft.client.render.item.ItemRenderState -import net.minecraft.client.render.item.model.BasicItemModel -import net.minecraft.client.render.item.model.ItemModel -import net.minecraft.client.render.item.model.ItemModelTypes -import net.minecraft.client.render.model.ResolvableModel -import net.minecraft.client.world.ClientWorld -import net.minecraft.entity.LivingEntity -import net.minecraft.item.ItemDisplayContext -import net.minecraft.item.ItemStack -import net.minecraft.util.HeldItemContext -import net.minecraft.util.Identifier +import net.minecraft.client.renderer.item.ItemModelResolver +import net.minecraft.client.renderer.item.ItemStackRenderState +import net.minecraft.client.renderer.item.BlockModelWrapper +import net.minecraft.client.renderer.item.ItemModel +import net.minecraft.client.renderer.item.ItemModels +import net.minecraft.client.resources.model.ResolvableModel +import net.minecraft.client.multiplayer.ClientLevel +import net.minecraft.world.entity.LivingEntity +import net.minecraft.world.item.ItemDisplayContext +import net.minecraft.world.item.ItemStack +import net.minecraft.world.entity.ItemOwner +import net.minecraft.resources.ResourceLocation object HeadModelChooser { val IS_CHOOSING_HEAD_MODEL = ThreadLocal.withInitial { false } @@ -24,20 +24,20 @@ object HeadModelChooser { fun isExplicitHeadModel_Firmament(): Boolean companion object{ @JvmStatic - fun cast(state: ItemRenderState) = state as HasExplicitHeadModelMarker + fun cast(state: ItemStackRenderState) = state as HasExplicitHeadModelMarker } } data class Baked(val head: ItemModel, val regular: ItemModel) : ItemModel { override fun update( - state: ItemRenderState, - stack: ItemStack?, - resolver: ItemModelManager?, - displayContext: ItemDisplayContext, - world: ClientWorld?, - heldItemContext: HeldItemContext?, - seed: Int + state: ItemStackRenderState, + stack: ItemStack?, + resolver: ItemModelResolver?, + displayContext: ItemDisplayContext, + world: ClientLevel?, + heldItemContext: ItemOwner?, + seed: Int ) { val instance = if (IS_CHOOSING_HEAD_MODEL.get()) { @@ -51,23 +51,23 @@ object HeadModelChooser { } data class Unbaked( - val head: ItemModel.Unbaked, - val regular: ItemModel.Unbaked, + val head: ItemModel.Unbaked, + val regular: ItemModel.Unbaked, ) : ItemModel.Unbaked { - override fun getCodec(): MapCodec<out ItemModel.Unbaked> { + override fun type(): MapCodec<out ItemModel.Unbaked> { return CODEC } - override fun bake(context: ItemModel.BakeContext): ItemModel { + override fun bake(context: ItemModel.BakingContext): ItemModel { return Baked( head.bake(context), regular.bake(context) ) } - override fun resolve(resolver: ResolvableModel.Resolver) { - head.resolve(resolver) - regular.resolve(resolver) + override fun resolveDependencies(resolver: ResolvableModel.Resolver) { + head.resolveDependencies(resolver) + regular.resolveDependencies(resolver) } companion object { @@ -75,15 +75,15 @@ object HeadModelChooser { fun fromLegacyJson(jsonObject: JsonObject, unbakedModel: ItemModel.Unbaked): ItemModel.Unbaked { val model = jsonObject["firmament:head_model"] ?: return unbakedModel val modelUrl = model.asJsonPrimitive.asString - val headModel = BasicItemModel.Unbaked(Identifier.of(modelUrl), listOf()) + val headModel = BlockModelWrapper.Unbaked(ResourceLocation.parse(modelUrl), listOf()) return Unbaked(headModel, unbakedModel) } val CODEC = RecordCodecBuilder.mapCodec { it.group( - ItemModelTypes.CODEC.fieldOf("head") + ItemModels.CODEC.fieldOf("head") .forGetter(Unbaked::head), - ItemModelTypes.CODEC.fieldOf("regular") + ItemModels.CODEC.fieldOf("regular") .forGetter(Unbaked::regular), ).apply(it, ::Unbaked) } |
