diff --git a/src/main/java/ru/betterend/entity/EntityEndFish.java b/src/main/java/ru/betterend/entity/EntityEndFish.java index f72779f0..27f74725 100644 --- a/src/main/java/ru/betterend/entity/EntityEndFish.java +++ b/src/main/java/ru/betterend/entity/EntityEndFish.java @@ -4,6 +4,7 @@ import java.util.List; import java.util.Random; import net.minecraft.block.Blocks; +import net.minecraft.entity.EntityData; import net.minecraft.entity.EntityType; import net.minecraft.entity.ItemEntity; import net.minecraft.entity.LivingEntity; @@ -22,12 +23,16 @@ import net.minecraft.sound.SoundEvent; import net.minecraft.sound.SoundEvents; import net.minecraft.util.math.BlockPos; import net.minecraft.util.math.Box; +import net.minecraft.world.LocalDifficulty; import net.minecraft.world.ServerWorldAccess; import net.minecraft.world.World; +import ru.betterend.registry.EndBiomes; import ru.betterend.registry.EndItems; public class EntityEndFish extends SchoolingFishEntity { - public static final int VARIANTS = 5; + public static final int VARIANTS_NORMAL = 5; + public static final int VARIANTS_SULPHUR = 3; + public static final int VARIANTS = VARIANTS_NORMAL + VARIANTS_SULPHUR; private static final TrackedData VARIANT = DataTracker.registerData(EntityEndFish.class, TrackedDataHandlerRegistry.BYTE); private static final TrackedData SCALE = DataTracker.registerData(EntityEndFish.class, TrackedDataHandlerRegistry.BYTE); @@ -35,10 +40,20 @@ public class EntityEndFish extends SchoolingFishEntity { super(entityType, world); } + @Override + public EntityData initialize(ServerWorldAccess world, LocalDifficulty difficulty, SpawnReason spawnReason, EntityData entityData, CompoundTag entityTag) { + EntityData data = super.initialize(world, difficulty, spawnReason, entityData, entityTag); + if (EndBiomes.getFromBiome(world.getBiome(getBlockPos())) == EndBiomes.SULPHUR_SPRINGS) { + this.dataTracker.set(VARIANT, (byte) (random.nextInt(VARIANTS_SULPHUR) + VARIANTS_NORMAL)); + } + this.calculateDimensions(); + return data; + } + @Override protected void initDataTracker() { super.initDataTracker(); - this.dataTracker.startTracking(VARIANT, (byte) this.getRandom().nextInt(VARIANTS)); + this.dataTracker.startTracking(VARIANT, (byte) this.getRandom().nextInt(VARIANTS_NORMAL)); this.dataTracker.startTracking(SCALE, (byte) this.getRandom().nextInt(16)); } diff --git a/src/main/java/ru/betterend/world/biome/BiomeSulphurSprings.java b/src/main/java/ru/betterend/world/biome/BiomeSulphurSprings.java index eb0d5cce..8b1421f6 100644 --- a/src/main/java/ru/betterend/world/biome/BiomeSulphurSprings.java +++ b/src/main/java/ru/betterend/world/biome/BiomeSulphurSprings.java @@ -1,6 +1,7 @@ package ru.betterend.world.biome; import net.minecraft.entity.EntityType; +import ru.betterend.registry.EndEntities; import ru.betterend.registry.EndFeatures; import ru.betterend.registry.EndParticles; import ru.betterend.world.surface.SurfaceBuilders; @@ -21,6 +22,8 @@ public class BiomeSulphurSprings extends EndBiome { .addFeature(EndFeatures.HYDRALUX) .addFeature(EndFeatures.CHARNIA_ORANGE) .addFeature(EndFeatures.CHARNIA_RED) + .addMobSpawn(EndEntities.END_FISH, 50, 3, 8) + .addMobSpawn(EndEntities.CUBOZOA, 50, 3, 8) .addMobSpawn(EntityType.ENDERMAN, 50, 1, 4)); } } diff --git a/src/main/resources/assets/betterend/textures/entity/end_fish/end_fish_5.png b/src/main/resources/assets/betterend/textures/entity/end_fish/end_fish_5.png new file mode 100644 index 00000000..94b41e53 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/entity/end_fish/end_fish_5.png differ diff --git a/src/main/resources/assets/betterend/textures/entity/end_fish/end_fish_5_glow.png b/src/main/resources/assets/betterend/textures/entity/end_fish/end_fish_5_glow.png new file mode 100644 index 00000000..381f6613 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/entity/end_fish/end_fish_5_glow.png differ diff --git a/src/main/resources/assets/betterend/textures/entity/end_fish/end_fish_6.png b/src/main/resources/assets/betterend/textures/entity/end_fish/end_fish_6.png new file mode 100644 index 00000000..475ef5a2 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/entity/end_fish/end_fish_6.png differ diff --git a/src/main/resources/assets/betterend/textures/entity/end_fish/end_fish_6_glow.png b/src/main/resources/assets/betterend/textures/entity/end_fish/end_fish_6_glow.png new file mode 100644 index 00000000..2a0c9ca5 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/entity/end_fish/end_fish_6_glow.png differ diff --git a/src/main/resources/assets/betterend/textures/entity/end_fish/end_fish_7.png b/src/main/resources/assets/betterend/textures/entity/end_fish/end_fish_7.png new file mode 100644 index 00000000..b836a558 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/entity/end_fish/end_fish_7.png differ diff --git a/src/main/resources/assets/betterend/textures/entity/end_fish/end_fish_7_glow.png b/src/main/resources/assets/betterend/textures/entity/end_fish/end_fish_7_glow.png new file mode 100644 index 00000000..a0d27eb3 Binary files /dev/null and b/src/main/resources/assets/betterend/textures/entity/end_fish/end_fish_7_glow.png differ