diff options
| author | Linnea Gräf <nea@nea.moe> | 2025-11-15 23:42:26 +0100 |
|---|---|---|
| committer | Linnea Gräf <nea@nea.moe> | 2025-11-15 23:42:26 +0100 |
| commit | 5632c1d50bb0319886fb6acd54df92bf01491532 (patch) | |
| tree | 6f9adb070df25a4406cfa7713714f9e348f7445e /src/texturePacks/java | |
| parent | 4d8399ff4d769def62e6a8241327c4f2dac47e71 (diff) | |
| download | Firmament-5632c1d50bb0319886fb6acd54df92bf01491532.tar.gz Firmament-5632c1d50bb0319886fb6acd54df92bf01491532.tar.bz2 Firmament-5632c1d50bb0319886fb6acd54df92bf01491532.zip | |
snapshot: full 1.21.10 build (- REI; fuck private discord builds)
Diffstat (limited to 'src/texturePacks/java')
5 files changed, 13 insertions, 9 deletions
diff --git a/src/texturePacks/java/moe/nea/firmament/features/texturepack/CustomSkyBlockTextures.kt b/src/texturePacks/java/moe/nea/firmament/features/texturepack/CustomSkyBlockTextures.kt index bb205e7..b837a3c 100644 --- a/src/texturePacks/java/moe/nea/firmament/features/texturepack/CustomSkyBlockTextures.kt +++ b/src/texturePacks/java/moe/nea/firmament/features/texturepack/CustomSkyBlockTextures.kt @@ -98,7 +98,7 @@ object CustomSkyBlockTextures { } fun getSkullTexture(profile: ProfileComponent): Identifier? { - val id = getSkullId(profile.properties["textures"].firstOrNull() ?: return null) ?: return null + val id = getSkullId(profile.gameProfile.properties["textures"].firstOrNull() ?: return null) ?: return null return Identifier.of("firmskyblock", "textures/placedskull/$id.png") } 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 3e8cc4e..8b97a4b 100644 --- a/src/texturePacks/java/moe/nea/firmament/features/texturepack/HeadModelChooser.kt +++ b/src/texturePacks/java/moe/nea/firmament/features/texturepack/HeadModelChooser.kt @@ -13,6 +13,7 @@ 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 object HeadModelChooser { @@ -28,13 +29,14 @@ object HeadModelChooser { } data class Baked(val head: ItemModel, val regular: ItemModel) : ItemModel { + override fun update( state: ItemRenderState, stack: ItemStack?, resolver: ItemModelManager?, displayContext: ItemDisplayContext, world: ClientWorld?, - user: LivingEntity?, + heldItemContext: HeldItemContext?, seed: Int ) { val instance = @@ -44,7 +46,7 @@ object HeadModelChooser { } else { regular } - instance.update(state, stack, resolver, displayContext, world, user, seed) + instance.update(state, stack, resolver, displayContext, world, heldItemContext, seed) } } diff --git a/src/texturePacks/java/moe/nea/firmament/features/texturepack/PredicateModel.kt b/src/texturePacks/java/moe/nea/firmament/features/texturepack/PredicateModel.kt index e6b5bcf..a3926a8 100644 --- a/src/texturePacks/java/moe/nea/firmament/features/texturepack/PredicateModel.kt +++ b/src/texturePacks/java/moe/nea/firmament/features/texturepack/PredicateModel.kt @@ -14,6 +14,7 @@ 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 moe.nea.firmament.features.texturepack.predicates.AndPredicate @@ -33,15 +34,15 @@ class PredicateModel { resolver: ItemModelManager?, displayContext: ItemDisplayContext?, world: ClientWorld?, - user: LivingEntity?, + heldItemContext: HeldItemContext?, seed: Int ) { val model = overrides - .findLast { it.predicate.test(stack, user) } + .findLast { it.predicate.test(stack, heldItemContext?.entity) } ?.model ?: fallback - model.update(state, stack, resolver, displayContext, world, user, seed) + model.update(state, stack, resolver, displayContext, world, heldItemContext, seed) } } diff --git a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/GenericComponentPredicate.kt b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/GenericComponentPredicate.kt index 71392ef..74fd0d6 100644 --- a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/GenericComponentPredicate.kt +++ b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/GenericComponentPredicate.kt @@ -16,6 +16,7 @@ import moe.nea.firmament.features.texturepack.FirmamentModelPredicate import moe.nea.firmament.features.texturepack.FirmamentModelPredicateParser import moe.nea.firmament.util.MC import moe.nea.firmament.util.mc.NbtPrism +import moe.nea.firmament.util.mc.unsafeNbt data class GenericComponentPredicate<T>( val componentType: ComponentType<T>, @@ -30,7 +31,7 @@ data class GenericComponentPredicate<T>( val component = stack.get(componentType) ?: return false // TODO: cache this val nbt = - if (component is NbtComponent) component.nbt + if (component is NbtComponent) component.unsafeNbt else codec.encodeStart(NbtOps.INSTANCE, component) .resultOrPartial().getOrNull() ?: return false return path.access(nbt).any { matcher.matches(it) } diff --git a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/SkullPredicate.kt b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/SkullPredicate.kt index f17582d..935fe7a 100644 --- a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/SkullPredicate.kt +++ b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/SkullPredicate.kt @@ -36,13 +36,13 @@ class SkullPredicate( override fun test(stack: ItemStack, holder: LivingEntity?): Boolean { if (!stack.isOf(Items.PLAYER_HEAD)) return false val profile = stack.get(DataComponentTypes.PROFILE) ?: return false - val textureProperty = profile.properties["textures"].firstOrNull() + val textureProperty = profile.gameProfile.properties["textures"].firstOrNull() val textureMode = lazy(LazyThreadSafetyMode.NONE) { decodeProfileTextureProperty(textureProperty ?: return@lazy null) } when { profileId != null - && profileId != profile.uuid.getOrNull() -> + && profileId != profile.gameProfile.id -> return false textureValue != null |
