From 47bf776d7196a087a598eebe015ce61b2c67eed2 Mon Sep 17 00:00:00 2001 From: gnembon Date: Tue, 22 Jun 2021 12:57:28 -0300 Subject: [PATCH] catching action pack errors. Fixes #942 --- .../carpet/mixins/ServerPlayerEntityMixin.java | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/main/java/carpet/mixins/ServerPlayerEntityMixin.java b/src/main/java/carpet/mixins/ServerPlayerEntityMixin.java index 88fe4345..5fa840f3 100644 --- a/src/main/java/carpet/mixins/ServerPlayerEntityMixin.java +++ b/src/main/java/carpet/mixins/ServerPlayerEntityMixin.java @@ -1,5 +1,6 @@ package carpet.mixins; +import carpet.CarpetSettings; import carpet.fakes.ServerPlayerEntityInterface; import carpet.helpers.EntityPlayerActionPack; import com.mojang.authlib.GameProfile; @@ -35,7 +36,19 @@ public abstract class ServerPlayerEntityMixin implements ServerPlayerEntityInter @Inject(method = "tick", at = @At(value = "HEAD")) private void onTick(CallbackInfo ci) { - actionPack.onUpdate(); + try + { + actionPack.onUpdate(); + } + catch (StackOverflowError soe) + { + CarpetSettings.LOG.fatal("Caused stack overflow when performing player action"); + } + catch (Throwable exc) + { + CarpetSettings.LOG.fatal("Error executing player tasks "+ exc.getMessage()); + exc.printStackTrace(); + } }