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/predicates | |
| 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/predicates')
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 |
