From 643ab1a1beb4fd0da062a84a8319f0258bd88176 Mon Sep 17 00:00:00 2001 From: WinDanesz <31292708+windanesz@users.noreply.github.com> Date: Sat, 9 May 2026 20:40:03 +0200 Subject: [PATCH] feat: Improve owner ally check in AllyDesignationSystem to handle null owners and recursion --- .../electroblob/wizardry/util/AllyDesignationSystem.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/main/java/electroblob/wizardry/util/AllyDesignationSystem.java b/src/main/java/electroblob/wizardry/util/AllyDesignationSystem.java index 88cf2678..f9a94234 100644 --- a/src/main/java/electroblob/wizardry/util/AllyDesignationSystem.java +++ b/src/main/java/electroblob/wizardry/util/AllyDesignationSystem.java @@ -258,7 +258,10 @@ public final class AllyDesignationSystem { WizardData data = WizardData.get(allyOf); if(data == null) return false; Entity owner = ownable.getOwner(); - return owner instanceof EntityPlayer ? data.isPlayerAlly((EntityPlayer)owner) : data.isPlayerAlly(ownable.getOwnerId()); + if(owner == null) return data.isPlayerAlly(ownable.getOwnerId()); // offline owner + if(owner instanceof EntityPlayer) return data.isPlayerAlly((EntityPlayer)owner); + if(owner instanceof IEntityOwnable) return isOwnerAlly(allyOf, (IEntityOwnable)owner); // recurse + return false; } @SubscribeEvent