Compare commits

...
Author SHA1 Message Date
tmetcalfe89 a12f1c80e7 added isWild as a condition for posers 2024-10-30 15:34:22 -07:00
2 changed files with 13 additions and 0 deletions
@@ -17,6 +17,7 @@ import com.cobblemon.mod.common.util.isDusk
import com.cobblemon.mod.common.util.isStandingOnRedSand
import com.cobblemon.mod.common.util.isStandingOnSand
import com.cobblemon.mod.common.util.isStandingOnSandOrRedSand
import com.cobblemon.mod.common.util.isWild
import com.google.gson.JsonDeserializationContext
import com.google.gson.JsonDeserializer
import com.google.gson.JsonElement
@@ -72,6 +73,12 @@ class PoseAdapter(
if (mustBeDusk != null) {
conditionsList.add { mustBeDusk == it.getEntity()?.isDusk() }
}
val mustBeWild = json.get("isWild")?.asBoolean
if (mustBeWild != null) {
conditionsList.add {
mustBeWild == it.getEntity()?.isWild()
}
}
conditionsList.addAll(poseConditionReader(json))
@@ -8,6 +8,7 @@
package com.cobblemon.mod.common.util
import com.cobblemon.mod.common.entity.pokemon.PokemonEntity
import com.google.common.collect.ImmutableMap
import com.mojang.serialization.Dynamic
import com.mojang.serialization.DynamicOps
@@ -208,6 +209,11 @@ fun Entity.isDusk(): Boolean {
return time in 12000..13000
}
fun Entity.isWild(): Boolean {
if (this !is PokemonEntity) return false
return this.ownerUUID == null
}
fun Entity.isStandingOnSand(): Boolean {
val sandDepth = 2 // Define the depth you want to check
for (a in 1..sandDepth) {