From 438be524b18b7eedae38cf96adb9a8b0d07b6404 Mon Sep 17 00:00:00 2001 From: dragoncommands <35853220+dragonflame86@users.noreply.github.com> Date: Sat, 8 Jun 2024 00:19:08 -0400 Subject: [PATCH] Bootlegged tuna variants atm Added: - Variants to YellowfinTunaEntity --- .../aquatic/entity/fish/HybridAquaticFishEntity.kt | 14 +++++++------- .../fish/HybridAquaticSchoolingFishEntity.kt | 5 +++-- .../aquatic/entity/fish/YellowfinTunaEntity.kt | 6 +++++- 3 files changed, 15 insertions(+), 10 deletions(-) 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 c5f4de0e9..7c72a0130 100644 --- a/src/main/kotlin/dev/hybridlabs/aquatic/entity/fish/HybridAquaticFishEntity.kt +++ b/src/main/kotlin/dev/hybridlabs/aquatic/entity/fish/HybridAquaticFishEntity.kt @@ -256,16 +256,16 @@ open class HybridAquaticFishEntity( dataTracker.set(VARIANT_DATA, value) } - var variant: FishVariant? - get() = variants[""] + private var variantKey: String + get() = dataTracker.get(VARIANT) private set(value) { - variants + dataTracker.set(VARIANT, value) } - var variantKey: String - get() = dataTracker.get(VARIANT) + var variant: FishVariant? + get() = variants[""] private set(value) { - dataTracker.set(VARIANT, value) + variants } // endregion @@ -475,7 +475,7 @@ open class HybridAquaticFishEntity( @Suppress("UNUSED") data class FishVariant( - val variantName : String, + var variantName : String, val spawnCondition: (WorldAccess, SpawnReason, BlockPos, Random ) -> Boolean ) { companion object { diff --git a/src/main/kotlin/dev/hybridlabs/aquatic/entity/fish/HybridAquaticSchoolingFishEntity.kt b/src/main/kotlin/dev/hybridlabs/aquatic/entity/fish/HybridAquaticSchoolingFishEntity.kt index ef8491598..fc5bb8abe 100644 --- a/src/main/kotlin/dev/hybridlabs/aquatic/entity/fish/HybridAquaticSchoolingFishEntity.kt +++ b/src/main/kotlin/dev/hybridlabs/aquatic/entity/fish/HybridAquaticSchoolingFishEntity.kt @@ -18,8 +18,9 @@ open class HybridAquaticSchoolingFishEntity( override val prey: TagKey>, override val predator: TagKey>, private var leader: HybridAquaticSchoolingFishEntity? = null, - private var groupSize: Int = 1 -) : HybridAquaticFishEntity(type, world, emptyMap(), HybridAquaticEntityTags.NONE, HybridAquaticEntityTags.NONE) { + private var groupSize: Int = 1, + private val variants: Map = hashMapOf() +) : HybridAquaticFishEntity(type, world, variants, HybridAquaticEntityTags.NONE, HybridAquaticEntityTags.NONE) { override fun initGoals() { super.initGoals() diff --git a/src/main/kotlin/dev/hybridlabs/aquatic/entity/fish/YellowfinTunaEntity.kt b/src/main/kotlin/dev/hybridlabs/aquatic/entity/fish/YellowfinTunaEntity.kt index 8610d4c5d..66100a977 100644 --- a/src/main/kotlin/dev/hybridlabs/aquatic/entity/fish/YellowfinTunaEntity.kt +++ b/src/main/kotlin/dev/hybridlabs/aquatic/entity/fish/YellowfinTunaEntity.kt @@ -5,10 +5,14 @@ import net.minecraft.entity.EntityType import net.minecraft.entity.attribute.DefaultAttributeContainer import net.minecraft.entity.attribute.EntityAttributes import net.minecraft.entity.mob.WaterCreatureEntity +import net.minecraft.registry.tag.BiomeTags import net.minecraft.world.World class YellowfinTunaEntity(entityType: EntityType, world: World) : - HybridAquaticSchoolingFishEntity(entityType, world, HybridAquaticEntityTags.TUNA_PREY, HybridAquaticEntityTags.TUNA_PREDATOR) { + HybridAquaticSchoolingFishEntity(entityType, world, HybridAquaticEntityTags.TUNA_PREY, HybridAquaticEntityTags.TUNA_PREDATOR, variants = hashMapOf( + "bluefin" to FishVariant.biomeVariant("bluefin", BiomeTags.IS_END), + "yellowfin" to FishVariant.biomeVariant("yellowfin", BiomeTags.IS_NETHER) + )) { override fun initGoals() { super.initGoals() goalSelector.add(5, FishJumpGoal(this, 10))