diff --git a/src/main/java/com/minelittlepony/unicopia/diet/affliction/ClearLoveSicknessAffliction.java b/src/main/java/com/minelittlepony/unicopia/diet/affliction/ClearLoveSicknessAffliction.java index ab8786a4..4a2105f1 100644 --- a/src/main/java/com/minelittlepony/unicopia/diet/affliction/ClearLoveSicknessAffliction.java +++ b/src/main/java/com/minelittlepony/unicopia/diet/affliction/ClearLoveSicknessAffliction.java @@ -19,6 +19,9 @@ public final class ClearLoveSicknessAffliction implements Affliction { @Override public void afflict(PlayerEntity player, ItemStack stack) { player.heal(stack.isFood() ? stack.getItem().getFoodComponent().getHunger() : 1); + if (player.getWorld().isClient) { + return; + } player.removeStatusEffect(StatusEffects.NAUSEA); player.removeStatusEffect(UEffects.FOOD_POISONING); player.removeStatusEffect(StatusEffects.WEAKNESS); diff --git a/src/main/java/com/minelittlepony/unicopia/diet/affliction/StatusEffectAffliction.java b/src/main/java/com/minelittlepony/unicopia/diet/affliction/StatusEffectAffliction.java index 9bc7adff..c6bdfebd 100644 --- a/src/main/java/com/minelittlepony/unicopia/diet/affliction/StatusEffectAffliction.java +++ b/src/main/java/com/minelittlepony/unicopia/diet/affliction/StatusEffectAffliction.java @@ -42,6 +42,9 @@ public record StatusEffectAffliction(StatusEffect effect, Range seconds, Range a @Override public void afflict(PlayerEntity player, ItemStack stack) { + if (player.getWorld().isClient) { + return; + } if (chance > 0 && player.getWorld().random.nextInt(chance) > 0) { return; } diff --git a/src/main/java/com/minelittlepony/unicopia/entity/effect/FoodPoisoningStatusEffect.java b/src/main/java/com/minelittlepony/unicopia/entity/effect/FoodPoisoningStatusEffect.java index f216cc67..6d90a953 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/effect/FoodPoisoningStatusEffect.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/effect/FoodPoisoningStatusEffect.java @@ -24,16 +24,18 @@ public class FoodPoisoningStatusEffect extends StatusEffect { @Override public void applyUpdateEffect(LivingEntity entity, int amplifier) { + if (entity.getWorld().isClient) { + return; + } boolean showParticles = entity.getStatusEffect(this).shouldShowParticles(); if (!entity.hasStatusEffect(StatusEffects.NAUSEA) && entity.getRandom().nextInt(12) == 0) { - entity.addStatusEffect(new StatusEffectInstance(StatusEffects.NAUSEA, 100, 1, true, showParticles, false)); } - if (entity instanceof PlayerEntity) { - ((PlayerEntity)entity).getHungerManager().addExhaustion(0.5F); + if (entity instanceof PlayerEntity player) { + player.getHungerManager().addExhaustion(0.5F); } if (EffectUtils.isPoisoned(entity) && entity.getRandom().nextInt(12) == 0 && !entity.hasStatusEffect(StatusEffects.POISON)) { @@ -63,7 +65,9 @@ public class FoodPoisoningStatusEffect extends StatusEffect { user.getWorld().playSound(null, user.getX(), user.getY(), user.getZ(), USounds.Vanilla.ENTITY_PLAYER_BURP, SoundCategory.NEUTRAL, 1, 1 + (user.getWorld().random.nextFloat() - user.getWorld().random.nextFloat()) * 0.4f); - user.addStatusEffect(new StatusEffectInstance(StatusEffects.NAUSEA, 100, 1, true, false, false)); + if (!user.getWorld().isClient) { + user.addStatusEffect(new StatusEffectInstance(StatusEffects.NAUSEA, 100, 1, true, false, false)); + } return TypedActionResult.fail(stack); } }