aboutsummaryrefslogtreecommitdiff
path: root/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates
diff options
context:
space:
mode:
authorLinnea Gräf <nea@nea.moe>2025-11-17 19:55:02 +0100
committerLinnea Gräf <nea@nea.moe>2025-11-17 19:55:02 +0100
commitc93a04a001b0f66b2724d46b04b6d1ed49a08d07 (patch)
tree5869ca70acc482ef0362f27785c3d3f1cbb9ffae /src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates
parentaf9893b59407c69d31ebd2ed513f0396ab4d2dc9 (diff)
downloadFirmament-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/predicates')
-rw-r--r--src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/AlwaysPredicate.kt2
-rw-r--r--src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/AndPredicate.kt4
-rw-r--r--src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/CastPredicate.kt8
-rw-r--r--src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/DisplayNamePredicate.kt2
-rw-r--r--src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/ExtraAttributesPredicate.kt52
-rw-r--r--src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/GenericComponentPredicate.kt36
-rw-r--r--src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/ItemPredicate.kt18
-rw-r--r--src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/LorePredicate.kt2
-rw-r--r--src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/NotPredicate.kt2
-rw-r--r--src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/OrPredicate.kt2
-rw-r--r--src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/PetPredicate.kt2
-rw-r--r--src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/PullingPredicate.kt8
-rw-r--r--src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/SkullPredicate.kt16
13 files changed, 77 insertions, 77 deletions
diff --git a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/AlwaysPredicate.kt b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/AlwaysPredicate.kt
index 7e0ddb1..f32b673 100644
--- a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/AlwaysPredicate.kt
+++ b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/AlwaysPredicate.kt
@@ -4,7 +4,7 @@ package moe.nea.firmament.features.texturepack.predicates
import com.google.gson.JsonElement
import moe.nea.firmament.features.texturepack.FirmamentModelPredicate
import moe.nea.firmament.features.texturepack.FirmamentModelPredicateParser
-import net.minecraft.item.ItemStack
+import net.minecraft.world.item.ItemStack
object AlwaysPredicate : FirmamentModelPredicate {
override fun test(stack: ItemStack): Boolean {
diff --git a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/AndPredicate.kt b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/AndPredicate.kt
index 70eb814..c2ed24f 100644
--- a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/AndPredicate.kt
+++ b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/AndPredicate.kt
@@ -3,11 +3,11 @@ package moe.nea.firmament.features.texturepack.predicates
import com.google.gson.JsonArray
import com.google.gson.JsonElement
import com.google.gson.JsonObject
-import net.minecraft.entity.LivingEntity
+import net.minecraft.world.entity.LivingEntity
import moe.nea.firmament.features.texturepack.CustomModelOverrideParser
import moe.nea.firmament.features.texturepack.FirmamentModelPredicate
import moe.nea.firmament.features.texturepack.FirmamentModelPredicateParser
-import net.minecraft.item.ItemStack
+import net.minecraft.world.item.ItemStack
class AndPredicate(val children: Array<FirmamentModelPredicate>) : FirmamentModelPredicate {
override fun test(stack: ItemStack, holder: LivingEntity?): Boolean {
diff --git a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/CastPredicate.kt b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/CastPredicate.kt
index 321f87c..b54dd5d 100644
--- a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/CastPredicate.kt
+++ b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/CastPredicate.kt
@@ -1,9 +1,9 @@
package moe.nea.firmament.features.texturepack.predicates
import com.google.gson.JsonElement
-import net.minecraft.entity.LivingEntity
-import net.minecraft.entity.player.PlayerEntity
-import net.minecraft.item.ItemStack
+import net.minecraft.world.entity.LivingEntity
+import net.minecraft.world.entity.player.Player
+import net.minecraft.world.item.ItemStack
import moe.nea.firmament.features.texturepack.FirmamentModelPredicate
import moe.nea.firmament.features.texturepack.FirmamentModelPredicateParser
@@ -16,7 +16,7 @@ class CastPredicate : FirmamentModelPredicate {
}
override fun test(stack: ItemStack, holder: LivingEntity?): Boolean {
- return (holder as? PlayerEntity)?.fishHook != null && holder.mainHandStack === stack
+ return (holder as? Player)?.fishing != null && holder.mainHandItem === stack
}
override fun test(stack: ItemStack): Boolean {
diff --git a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/DisplayNamePredicate.kt b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/DisplayNamePredicate.kt
index 04c7a2b..0d4fb84 100644
--- a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/DisplayNamePredicate.kt
+++ b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/DisplayNamePredicate.kt
@@ -5,7 +5,7 @@ import com.google.gson.JsonElement
import moe.nea.firmament.features.texturepack.FirmamentModelPredicate
import moe.nea.firmament.features.texturepack.FirmamentModelPredicateParser
import moe.nea.firmament.features.texturepack.StringMatcher
-import net.minecraft.item.ItemStack
+import net.minecraft.world.item.ItemStack
import moe.nea.firmament.util.mc.displayNameAccordingToNbt
data class DisplayNamePredicate(val stringMatcher: StringMatcher) : FirmamentModelPredicate {
diff --git a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/ExtraAttributesPredicate.kt b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/ExtraAttributesPredicate.kt
index 8115739..e94f5c6 100644
--- a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/ExtraAttributesPredicate.kt
+++ b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/ExtraAttributesPredicate.kt
@@ -9,19 +9,19 @@ import kotlin.jvm.optionals.getOrNull
import moe.nea.firmament.features.texturepack.FirmamentModelPredicate
import moe.nea.firmament.features.texturepack.FirmamentModelPredicateParser
import moe.nea.firmament.features.texturepack.StringMatcher
-import net.minecraft.item.ItemStack
-import net.minecraft.nbt.NbtByte
-import net.minecraft.nbt.NbtDouble
-import net.minecraft.nbt.NbtElement
-import net.minecraft.nbt.NbtFloat
-import net.minecraft.nbt.NbtInt
-import net.minecraft.nbt.NbtLong
-import net.minecraft.nbt.NbtShort
+import net.minecraft.world.item.ItemStack
+import net.minecraft.nbt.ByteTag
+import net.minecraft.nbt.DoubleTag
+import net.minecraft.nbt.Tag
+import net.minecraft.nbt.FloatTag
+import net.minecraft.nbt.IntTag
+import net.minecraft.nbt.LongTag
+import net.minecraft.nbt.ShortTag
import moe.nea.firmament.util.extraAttributes
import moe.nea.firmament.util.mc.NbtPrism
fun interface NbtMatcher {
- fun matches(nbt: NbtElement): Boolean
+ fun matches(nbt: Tag): Boolean
object Parser {
fun parse(jsonElement: JsonElement): NbtMatcher? {
@@ -60,7 +60,7 @@ fun interface NbtMatcher {
return parseGenericNumber(
element,
{ it.asInt },
- { (it as? NbtInt)?.intValue() },
+ { (it as? IntTag)?.intValue() },
{ a, b ->
if (a == b) Comparison.EQUAL
else if (a < b) Comparison.LESS_THAN
@@ -73,7 +73,7 @@ fun interface NbtMatcher {
return parseGenericNumber(
element,
{ it.asFloat },
- { (it as? NbtFloat)?.floatValue() },
+ { (it as? FloatTag)?.floatValue() },
{ a, b ->
if (a == b) Comparison.EQUAL
else if (a < b) Comparison.LESS_THAN
@@ -86,7 +86,7 @@ fun interface NbtMatcher {
return parseGenericNumber(
element,
{ it.asDouble },
- { (it as? NbtDouble)?.doubleValue() },
+ { (it as? DoubleTag)?.doubleValue() },
{ a, b ->
if (a == b) Comparison.EQUAL
else if (a < b) Comparison.LESS_THAN
@@ -99,7 +99,7 @@ fun interface NbtMatcher {
return parseGenericNumber(
element,
{ it.asLong },
- { (it as? NbtLong)?.longValue() },
+ { (it as? LongTag)?.longValue() },
{ a, b ->
if (a == b) Comparison.EQUAL
else if (a < b) Comparison.LESS_THAN
@@ -112,7 +112,7 @@ fun interface NbtMatcher {
return parseGenericNumber(
element,
{ it.asShort },
- { (it as? NbtShort)?.shortValue() },
+ { (it as? ShortTag)?.shortValue() },
{ a, b ->
if (a == b) Comparison.EQUAL
else if (a < b) Comparison.LESS_THAN
@@ -125,7 +125,7 @@ fun interface NbtMatcher {
return parseGenericNumber(
element,
{ it.asByte },
- { (it as? NbtByte)?.byteValue() },
+ { (it as? ByteTag)?.byteValue() },
{ a, b ->
if (a == b) Comparison.EQUAL
else if (a < b) Comparison.LESS_THAN
@@ -143,10 +143,10 @@ fun interface NbtMatcher {
}
inline fun <T : Any> parseGenericNumber(
- jsonElement: JsonElement,
- primitiveExtractor: (JsonPrimitive) -> T?,
- crossinline nbtExtractor: (NbtElement) -> T?,
- crossinline compare: (T, T) -> Comparison
+ jsonElement: JsonElement,
+ primitiveExtractor: (JsonPrimitive) -> T?,
+ crossinline nbtExtractor: (Tag) -> T?,
+ crossinline compare: (T, T) -> Comparison
): NbtMatcher? {
if (jsonElement is JsonPrimitive) {
val expected = primitiveExtractor(jsonElement) ?: return null
@@ -184,12 +184,12 @@ fun interface NbtMatcher {
}
class MatchNumberExact(val number: Long) : NbtMatcher {
- override fun matches(nbt: NbtElement): Boolean {
+ override fun matches(nbt: Tag): Boolean {
return when (nbt) {
- is NbtByte -> nbt.byteValue().toLong() == number
- is NbtInt -> nbt.intValue().toLong() == number
- is NbtShort -> nbt.shortValue().toLong() == number
- is NbtLong -> nbt.longValue().toLong() == number
+ is ByteTag -> nbt.byteValue().toLong() == number
+ is IntTag -> nbt.intValue().toLong() == number
+ is ShortTag -> nbt.shortValue().toLong() == number
+ is LongTag -> nbt.longValue().toLong() == number
else -> false
}
}
@@ -197,7 +197,7 @@ fun interface NbtMatcher {
}
class MatchStringExact(val string: String) : NbtMatcher {
- override fun matches(nbt: NbtElement): Boolean {
+ override fun matches(nbt: Tag): Boolean {
return nbt.asString().getOrNull() == string
}
@@ -207,7 +207,7 @@ fun interface NbtMatcher {
}
class MatchString(val string: StringMatcher) : NbtMatcher {
- override fun matches(nbt: NbtElement): Boolean {
+ override fun matches(nbt: Tag): Boolean {
return nbt.asString().map(string::matches).getOrDefault(false)
}
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 74fd0d6..4b0b7cb 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
@@ -4,14 +4,14 @@ import com.google.gson.JsonElement
import com.google.gson.JsonObject
import com.mojang.serialization.Codec
import kotlin.jvm.optionals.getOrNull
-import net.minecraft.component.ComponentType
-import net.minecraft.component.type.NbtComponent
-import net.minecraft.entity.LivingEntity
-import net.minecraft.item.ItemStack
+import net.minecraft.core.component.DataComponentType
+import net.minecraft.world.item.component.CustomData
+import net.minecraft.world.entity.LivingEntity
+import net.minecraft.world.item.ItemStack
import net.minecraft.nbt.NbtOps
-import net.minecraft.registry.RegistryKey
-import net.minecraft.registry.RegistryKeys
-import net.minecraft.util.Identifier
+import net.minecraft.resources.ResourceKey
+import net.minecraft.core.registries.Registries
+import net.minecraft.resources.ResourceLocation
import moe.nea.firmament.features.texturepack.FirmamentModelPredicate
import moe.nea.firmament.features.texturepack.FirmamentModelPredicateParser
import moe.nea.firmament.util.MC
@@ -19,19 +19,19 @@ import moe.nea.firmament.util.mc.NbtPrism
import moe.nea.firmament.util.mc.unsafeNbt
data class GenericComponentPredicate<T>(
- val componentType: ComponentType<T>,
- val codec: Codec<T>,
- val path: NbtPrism,
- val matcher: NbtMatcher,
+ val componentType: DataComponentType<T>,
+ val codec: Codec<T>,
+ val path: NbtPrism,
+ val matcher: NbtMatcher,
) : FirmamentModelPredicate {
- constructor(componentType: ComponentType<T>, path: NbtPrism, matcher: NbtMatcher)
- : this(componentType, componentType.codecOrThrow, path, matcher)
+ constructor(componentType: DataComponentType<T>, path: NbtPrism, matcher: NbtMatcher)
+ : this(componentType, componentType.codecOrThrow(), path, matcher)
override fun test(stack: ItemStack, holder: LivingEntity?): Boolean {
val component = stack.get(componentType) ?: return false
// TODO: cache this
val nbt =
- if (component is NbtComponent) component.unsafeNbt
+ if (component is CustomData) component.unsafeNbt
else codec.encodeStart(NbtOps.INSTANCE, component)
.resultOrPartial().getOrNull() ?: return false
return path.access(nbt).any { matcher.matches(it) }
@@ -45,11 +45,11 @@ data class GenericComponentPredicate<T>(
val matcher = NbtMatcher.Parser.parse(jsonElement.get("match") ?: jsonElement)
?: return null
val component = MC.currentOrDefaultRegistries
- .getOrThrow(RegistryKeys.DATA_COMPONENT_TYPE)
+ .lookupOrThrow(Registries.DATA_COMPONENT_TYPE)
.getOrThrow(
- RegistryKey.of(
- RegistryKeys.DATA_COMPONENT_TYPE,
- Identifier.of(jsonElement.get("component").asString)
+ ResourceKey.create(
+ Registries.DATA_COMPONENT_TYPE,
+ ResourceLocation.parse(jsonElement.get("component").asString)
)
).value()
return GenericComponentPredicate(component, prism, matcher)
diff --git a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/ItemPredicate.kt b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/ItemPredicate.kt
index 4833dc0..e90d9fb 100644
--- a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/ItemPredicate.kt
+++ b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/ItemPredicate.kt
@@ -6,27 +6,27 @@ import com.google.gson.JsonPrimitive
import moe.nea.firmament.features.texturepack.FirmamentModelPredicate
import moe.nea.firmament.features.texturepack.FirmamentModelPredicateParser
import kotlin.jvm.optionals.getOrNull
-import net.minecraft.item.Item
-import net.minecraft.item.ItemStack
-import net.minecraft.registry.RegistryKey
-import net.minecraft.registry.RegistryKeys
-import net.minecraft.util.Identifier
+import net.minecraft.world.item.Item
+import net.minecraft.world.item.ItemStack
+import net.minecraft.resources.ResourceKey
+import net.minecraft.core.registries.Registries
+import net.minecraft.resources.ResourceLocation
import moe.nea.firmament.util.MC
class ItemPredicate(
val item: Item
) : FirmamentModelPredicate {
override fun test(stack: ItemStack): Boolean {
- return stack.isOf(item)
+ return stack.`is`(item)
}
object Parser : FirmamentModelPredicateParser {
override fun parse(jsonElement: JsonElement): ItemPredicate? {
if (jsonElement is JsonPrimitive && jsonElement.isString) {
- val itemKey = RegistryKey.of(RegistryKeys.ITEM,
- Identifier.tryParse(jsonElement.asString)
+ val itemKey = ResourceKey.create(Registries.ITEM,
+ ResourceLocation.tryParse(jsonElement.asString)
?: return null)
- return ItemPredicate(MC.defaultItems.getOptional(itemKey).getOrNull()?.value() ?: return null)
+ return ItemPredicate(MC.defaultItems.get(itemKey).getOrNull()?.value() ?: return null)
}
return null
}
diff --git a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/LorePredicate.kt b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/LorePredicate.kt
index f0b4737..6b2a8b9 100644
--- a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/LorePredicate.kt
+++ b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/LorePredicate.kt
@@ -5,7 +5,7 @@ import com.google.gson.JsonElement
import moe.nea.firmament.features.texturepack.FirmamentModelPredicate
import moe.nea.firmament.features.texturepack.FirmamentModelPredicateParser
import moe.nea.firmament.features.texturepack.StringMatcher
-import net.minecraft.item.ItemStack
+import net.minecraft.world.item.ItemStack
import moe.nea.firmament.util.mc.loreAccordingToNbt
class LorePredicate(val matcher: StringMatcher) : FirmamentModelPredicate {
diff --git a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/NotPredicate.kt b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/NotPredicate.kt
index 4986ad9..d0ad11c 100644
--- a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/NotPredicate.kt
+++ b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/NotPredicate.kt
@@ -6,7 +6,7 @@ import com.google.gson.JsonObject
import moe.nea.firmament.features.texturepack.CustomModelOverrideParser
import moe.nea.firmament.features.texturepack.FirmamentModelPredicate
import moe.nea.firmament.features.texturepack.FirmamentModelPredicateParser
-import net.minecraft.item.ItemStack
+import net.minecraft.world.item.ItemStack
class NotPredicate(val children: Array<FirmamentModelPredicate>) : FirmamentModelPredicate {
override fun test(stack: ItemStack): Boolean {
diff --git a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/OrPredicate.kt b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/OrPredicate.kt
index e3093cd..c32543f 100644
--- a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/OrPredicate.kt
+++ b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/OrPredicate.kt
@@ -7,7 +7,7 @@ import com.google.gson.JsonObject
import moe.nea.firmament.features.texturepack.CustomModelOverrideParser
import moe.nea.firmament.features.texturepack.FirmamentModelPredicate
import moe.nea.firmament.features.texturepack.FirmamentModelPredicateParser
-import net.minecraft.item.ItemStack
+import net.minecraft.world.item.ItemStack
class OrPredicate(val children: Array<FirmamentModelPredicate>) : FirmamentModelPredicate {
override fun test(stack: ItemStack): Boolean {
diff --git a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/PetPredicate.kt b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/PetPredicate.kt
index b30b7c9..9de51d2 100644
--- a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/PetPredicate.kt
+++ b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/PetPredicate.kt
@@ -7,7 +7,7 @@ import moe.nea.firmament.features.texturepack.FirmamentModelPredicate
import moe.nea.firmament.features.texturepack.FirmamentModelPredicateParser
import moe.nea.firmament.features.texturepack.RarityMatcher
import moe.nea.firmament.features.texturepack.StringMatcher
-import net.minecraft.item.ItemStack
+import net.minecraft.world.item.ItemStack
import moe.nea.firmament.repo.ExpLadders
import moe.nea.firmament.util.petData
diff --git a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/PullingPredicate.kt b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/PullingPredicate.kt
index fa46a70..330fe88 100644
--- a/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/PullingPredicate.kt
+++ b/src/texturePacks/java/moe/nea/firmament/features/texturepack/predicates/PullingPredicate.kt
@@ -1,9 +1,9 @@
package moe.nea.firmament.features.texturepack.predicates
import com.google.gson.JsonElement
-import net.minecraft.entity.LivingEntity
-import net.minecraft.item.BowItem
-import net.minecraft.item.ItemStack
+import net.minecraft.world.entity.LivingEntity
+import net.minecraft.world.item.BowItem
+import net.minecraft.world.item.ItemStack
import moe.nea.firmament.features.texturepack.FirmamentModelPredicate
import moe.nea.firmament.features.texturepack.FirmamentModelPredicateParser
@@ -20,7 +20,7 @@ class PullingPredicate(val percentage: Double) : FirmamentModelPredicate {
override fun test(stack: ItemStack, holder: LivingEntity?): Boolean {
if (holder == null) return false
- return BowItem.getPullProgress(holder.itemUseTime) >= percentage
+ return BowItem.getPowerForTime(holder.ticksUsingItem) >= percentage
}
}
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 935fe7a..cbef02e 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
@@ -4,10 +4,10 @@ import com.google.gson.JsonElement
import com.mojang.authlib.minecraft.MinecraftProfileTexture
import java.util.UUID
import kotlin.jvm.optionals.getOrNull
-import net.minecraft.component.DataComponentTypes
-import net.minecraft.entity.LivingEntity
-import net.minecraft.item.ItemStack
-import net.minecraft.item.Items
+import net.minecraft.core.component.DataComponents
+import net.minecraft.world.entity.LivingEntity
+import net.minecraft.world.item.ItemStack
+import net.minecraft.world.item.Items
import moe.nea.firmament.features.texturepack.FirmamentModelPredicate
import moe.nea.firmament.features.texturepack.FirmamentModelPredicateParser
import moe.nea.firmament.features.texturepack.StringMatcher
@@ -34,15 +34,15 @@ 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.gameProfile.properties["textures"].firstOrNull()
+ if (!stack.`is`(Items.PLAYER_HEAD)) return false
+ val profile = stack.get(DataComponents.PROFILE) ?: return false
+ val textureProperty = profile.partialProfile().properties["textures"].firstOrNull()
val textureMode = lazy(LazyThreadSafetyMode.NONE) {
decodeProfileTextureProperty(textureProperty ?: return@lazy null)
}
when {
profileId != null
- && profileId != profile.gameProfile.id ->
+ && profileId != profile.partialProfile().id ->
return false
textureValue != null