From 097aa1d8cf8e4632b781108ed74f45b66390db20 Mon Sep 17 00:00:00 2001 From: Sollace Date: Wed, 29 Dec 2021 17:18:26 +0200 Subject: [PATCH] Catch exceptions from ticking spells --- .../java/com/minelittlepony/unicopia/entity/Living.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/minelittlepony/unicopia/entity/Living.java b/src/main/java/com/minelittlepony/unicopia/entity/Living.java index 0fb631a6..1a4c7a3c 100644 --- a/src/main/java/com/minelittlepony/unicopia/entity/Living.java +++ b/src/main/java/com/minelittlepony/unicopia/entity/Living.java @@ -5,6 +5,7 @@ import java.util.stream.Stream; import org.jetbrains.annotations.Nullable; +import com.minelittlepony.unicopia.Unicopia; import com.minelittlepony.unicopia.ability.magic.Caster; import com.minelittlepony.unicopia.ability.magic.SpellContainer; import com.minelittlepony.unicopia.ability.magic.SpellPredicate; @@ -86,7 +87,12 @@ public abstract class Living implements Equine, Caste @Override public void tick() { - getSpellSlot().forEach(spell -> Operation.ofBoolean(spell.tick(this, Situation.BODY)), true); + + try { + getSpellSlot().forEach(spell -> Operation.ofBoolean(spell.tick(this, Situation.BODY)), true); + } catch (Exception e) { + Unicopia.LOGGER.error("Error whilst ticking spell on entity {}", getEntity(), e); + } if (invinsibilityTicks > 0) { invinsibilityTicks--;