Take 2 at fixing generic issues

This commit is contained in:
Auxilor
2022-03-01 22:16:09 +00:00
parent 02ad6f7810
commit 3c3e34eda3
4 changed files with 8 additions and 16 deletions

View File

@@ -353,7 +353,8 @@ object RangedBowAttackGoalFactory : EntityGoalFactory<EntityGoalRangedBowAttack>
)
}
private fun <T> PathfinderMob.tryCastForThis(): T? where T : Monster, T : RangedAttackMob = this.tryCast()
@Suppress("UNCHECKED_CAST")
private fun <T> PathfinderMob.tryCastForThis(): T? where T : Monster, T : RangedAttackMob = this as? T
}
object RangedCrossbowAttackGoalFactory : EntityGoalFactory<EntityGoalRangedCrossbowAttack> {
@@ -365,7 +366,8 @@ object RangedCrossbowAttackGoalFactory : EntityGoalFactory<EntityGoalRangedCross
)
}
private fun <T> PathfinderMob.tryCastForThis(): T? where T : Monster, T : RangedAttackMob, T : CrossbowAttackMob = this.tryCast()
@Suppress("UNCHECKED_CAST")
private fun <T> PathfinderMob.tryCastForThis(): T? where T : Monster, T : RangedAttackMob, T : CrossbowAttackMob = this as? T
}
object RestrictSunGoalFactory : EntityGoalFactory<EntityGoalRestrictSun> {

View File

@@ -4,7 +4,6 @@ import com.github.benmanes.caffeine.cache.Caffeine
import com.github.benmanes.caffeine.cache.LoadingCache
import net.minecraft.world.entity.AgeableMob
import net.minecraft.world.entity.LivingEntity
import net.minecraft.world.entity.PathfinderMob
import net.minecraft.world.entity.TamableAnimal
import net.minecraft.world.entity.ambient.AmbientCreature
import net.minecraft.world.entity.animal.Animal
@@ -75,8 +74,3 @@ fun <T : org.bukkit.entity.LivingEntity> Class<T>.toNMSClass(): Class<out Living
fun LivingEntity.toBukkitEntity(): org.bukkit.entity.LivingEntity? =
CraftEntity.getEntity(Bukkit.getServer() as CraftServer, this) as? org.bukkit.entity.LivingEntity
fun <T> PathfinderMob.tryCast(): T? {
@Suppress("UNCHECKED_CAST")
return this as? T
}

View File

@@ -353,7 +353,8 @@ object RangedBowAttackGoalFactory : EntityGoalFactory<EntityGoalRangedBowAttack>
)
}
private fun <T> PathfinderMob.tryCastForThis(): T? where T : Monster, T : RangedAttackMob = this.tryCast()
@Suppress("UNCHECKED_CAST")
private fun <T> PathfinderMob.tryCastForThis(): T? where T : Monster, T : RangedAttackMob = this as? T
}
object RangedCrossbowAttackGoalFactory : EntityGoalFactory<EntityGoalRangedCrossbowAttack> {
@@ -365,7 +366,8 @@ object RangedCrossbowAttackGoalFactory : EntityGoalFactory<EntityGoalRangedCross
)
}
private fun <T> PathfinderMob.tryCastForThis(): T? where T : Monster, T : RangedAttackMob, T : CrossbowAttackMob = this.tryCast()
@Suppress("UNCHECKED_CAST")
private fun <T> PathfinderMob.tryCastForThis(): T? where T : Monster, T : RangedAttackMob, T : CrossbowAttackMob = this as? T
}
object RestrictSunGoalFactory : EntityGoalFactory<EntityGoalRestrictSun> {

View File

@@ -4,7 +4,6 @@ import com.github.benmanes.caffeine.cache.Caffeine
import com.github.benmanes.caffeine.cache.LoadingCache
import net.minecraft.world.entity.AgeableMob
import net.minecraft.world.entity.LivingEntity
import net.minecraft.world.entity.PathfinderMob
import net.minecraft.world.entity.TamableAnimal
import net.minecraft.world.entity.ambient.AmbientCreature
import net.minecraft.world.entity.animal.Animal
@@ -75,8 +74,3 @@ fun <T : org.bukkit.entity.LivingEntity> Class<T>.toNMSClass(): Class<out Living
fun LivingEntity.toBukkitEntity(): org.bukkit.entity.LivingEntity? =
CraftEntity.getEntity(Bukkit.getServer() as CraftServer, this) as? org.bukkit.entity.LivingEntity
fun <T> PathfinderMob.tryCast(): T? {
@Suppress("UNCHECKED_CAST")
return this as? T
}