From 3255eacd18c4de19f334d33a46ac21ea2870138a Mon Sep 17 00:00:00 2001 From: Sollace Date: Mon, 28 Mar 2022 19:34:55 +0200 Subject: [PATCH] Fixed sun blindness being incorrectly applied on the client when changing dimensions. Closes #55 --- .../unicopia/entity/effect/SunBlindnessStatusEffect.java | 2 +- .../com/minelittlepony/unicopia/entity/player/Pony.java | 9 +++++---- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/main/java/com/minelittlepony/unicopia/entity/effect/SunBlindnessStatusEffect.java b/src/main/java/com/minelittlepony/unicopia/entity/effect/SunBlindnessStatusEffect.java index 54324ebf..3776b6bd 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/effect/SunBlindnessStatusEffect.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/effect/SunBlindnessStatusEffect.java @@ -51,7 +51,7 @@ public class SunBlindnessStatusEffect extends StatusEffect { public static boolean hasSunExposure(LivingEntity entity) { - if (entity.hasNetherPortalCooldown()) { // TODO: test this. Entities shouldn't get sun blindness when existing a portal + if (entity.hasNetherPortalCooldown()) { return false; } 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 f0c23a71..b3dad401 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/player/Pony.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/player/Pony.java @@ -356,15 +356,16 @@ public class Pony extends Living implements Transmittable, Copieab if (getSpecies() == Race.BAT) { if (SunBlindnessStatusEffect.hasSunExposure(entity)) { + System.out.println("Sun exposure " + entity); if (ticksInSun < 200) { ticksInSun++; } if (ticksInSun == 1) { - entity.addStatusEffect(new StatusEffectInstance(UEffects.SUN_BLINDNESS, SunBlindnessStatusEffect.MAX_DURATION * 10, 1, true, false)); - UCriteria.LOOK_INTO_SUN.trigger(entity); - - if (isClient() && isClientPlayer()) { + if (!isClient()) { + entity.addStatusEffect(new StatusEffectInstance(UEffects.SUN_BLINDNESS, SunBlindnessStatusEffect.MAX_DURATION * 10, 1, true, false)); + UCriteria.LOOK_INTO_SUN.trigger(entity); + } else if (isClientPlayer()) { InteractionManager.instance().playLoopingSound(entity, InteractionManager.SOUND_EARS_RINGING); } }