diff --git a/src/main/kotlin/dev/hybridlabs/aquatic/entity/SpawnRestrictionRegistry.kt b/src/main/kotlin/dev/hybridlabs/aquatic/entity/SpawnRestrictionRegistry.kt index f749bed74..780442921 100644 --- a/src/main/kotlin/dev/hybridlabs/aquatic/entity/SpawnRestrictionRegistry.kt +++ b/src/main/kotlin/dev/hybridlabs/aquatic/entity/SpawnRestrictionRegistry.kt @@ -1,8 +1,8 @@ package dev.hybridlabs.aquatic.entity import dev.hybridlabs.aquatic.entity.cephalopod.HybridAquaticCephalopodEntity -import dev.hybridlabs.aquatic.entity.crustacean.HybridAquaticCrustaceanEntity import dev.hybridlabs.aquatic.entity.critter.HybridAquaticCritterEntity +import dev.hybridlabs.aquatic.entity.crustacean.HybridAquaticCrustaceanEntity import dev.hybridlabs.aquatic.entity.fish.HybridAquaticFishEntity import dev.hybridlabs.aquatic.entity.jellyfish.HybridAquaticJellyfishEntity import dev.hybridlabs.aquatic.entity.shark.HybridAquaticSharkEntity @@ -84,6 +84,7 @@ object SpawnRestrictionRegistry { HybridAquaticEntityTypes.COMPASS_JELLYFISH, HybridAquaticEntityTypes.LIONS_MANE_JELLYFISH, HybridAquaticEntityTypes.NOMURA_JELLYFISH, + HybridAquaticEntityTypes.BARREL_JELLYFISH, ).forEach { registerJelly(it) } setOf( @@ -169,7 +170,7 @@ object SpawnRestrictionRegistry { } private fun registerCritter(entityType: EntityType) { - registerLandWaterCreature(entityType, HybridAquaticCritterEntity::canSpawn) + registerWaterCreature(entityType, HybridAquaticCritterEntity::canSpawn) } private fun registerWaterCreature(entityType: EntityType, predicate: SpawnPredicate) { diff --git a/src/main/kotlin/dev/hybridlabs/aquatic/entity/fish/HybridAquaticFishEntity.kt b/src/main/kotlin/dev/hybridlabs/aquatic/entity/fish/HybridAquaticFishEntity.kt index 52703b533..17ad89667 100644 --- a/src/main/kotlin/dev/hybridlabs/aquatic/entity/fish/HybridAquaticFishEntity.kt +++ b/src/main/kotlin/dev/hybridlabs/aquatic/entity/fish/HybridAquaticFishEntity.kt @@ -430,6 +430,7 @@ open class HybridAquaticFishEntity( ): Boolean { return pos.y <= world.seaLevel - 32 && world.getBaseLightLevel(pos, 0) == 0 && + world.getFluidState(pos.down()).isIn(FluidTags.WATER) && world.getBlockState(pos).isOf(Blocks.WATER) } diff --git a/src/main/kotlin/dev/hybridlabs/aquatic/entity/jellyfish/HybridAquaticJellyfishEntity.kt b/src/main/kotlin/dev/hybridlabs/aquatic/entity/jellyfish/HybridAquaticJellyfishEntity.kt index 942c21d93..217e00272 100644 --- a/src/main/kotlin/dev/hybridlabs/aquatic/entity/jellyfish/HybridAquaticJellyfishEntity.kt +++ b/src/main/kotlin/dev/hybridlabs/aquatic/entity/jellyfish/HybridAquaticJellyfishEntity.kt @@ -1,7 +1,6 @@ package dev.hybridlabs.aquatic.entity.jellyfish import dev.hybridlabs.aquatic.goals.StayInWaterGoal -import net.minecraft.block.Blocks import net.minecraft.entity.* import net.minecraft.entity.ai.control.AquaticMoveControl import net.minecraft.entity.ai.control.YawAdjustingLookControl @@ -389,8 +388,9 @@ open class HybridAquaticJellyfishEntity( val bottomY = world.seaLevel - 24 return pos.y in bottomY..topY && + world.getFluidState(pos).isIn(FluidTags.WATER) && world.getFluidState(pos.down()).isIn(FluidTags.WATER) && - world.getBlockState(pos.up()).isOf(Blocks.WATER) + world.getFluidState(pos.up()).isIn(FluidTags.WATER) } fun canUndergroundSpawn( @@ -402,8 +402,9 @@ open class HybridAquaticJellyfishEntity( ): Boolean { return pos.y <= world.seaLevel - 32 && world.getBaseLightLevel(pos, 0) == 0 && + world.getFluidState(pos).isIn(FluidTags.WATER) && world.getFluidState(pos.down()).isIn(FluidTags.WATER) && - world.getBlockState(pos).isOf(Blocks.WATER) + world.getFluidState(pos.up()).isIn(FluidTags.WATER) } fun getScaleAdjustment(jellyfish : HybridAquaticJellyfishEntity, adjustment : Float): Float {