From 5109b67de20943d865395e08692f232f7e791d05 Mon Sep 17 00:00:00 2001 From: Sollace Date: Thu, 28 Mar 2024 16:23:42 +0000 Subject: [PATCH] Revert seaponies back to normal if we're not able to respawn them underwater --- .../com/minelittlepony/unicopia/entity/player/Pony.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/java/com/minelittlepony/unicopia/entity/player/Pony.java b/src/main/java/com/minelittlepony/unicopia/entity/player/Pony.java index 0c78666f..10efd22d 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/player/Pony.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/player/Pony.java @@ -388,6 +388,13 @@ public class Pony extends Living implements Copyable, Update boolean mustAvoidAir = getCompositeRace().includes(Race.SEAPONY) && !sw.getFluidState(getOrigin()).isIn(FluidTags.WATER); if (mustAvoidSun || mustAvoidAir) { SpawnLocator.selectSpawnPosition(sw, entity, mustAvoidAir, mustAvoidSun); + if ((mustAvoidAir && !sw.getFluidState(getOrigin()).isIn(FluidTags.WATER)) + || (mustAvoidSun && MeteorlogicalUtil.isPositionExposedToSun(sw, getOrigin()))) { + Race suppressedRace = getSuppressedRace(); + if (suppressedRace != Race.UNSET) { + setSpecies(suppressedRace); + } + } } } ticksSunImmunity = INITIAL_SUN_IMMUNITY;