Goety Owned Null Guard Fix

Quick rating

Community listing page, reviews here may not be monitored by the author.

Goety Owned Null Guard Fix

No reviews yet

A tiny Forge 1.20.1 patch that fixes Goety summons crashing with a "Ticking entity" NPE when they take damage.

Mod Loaders
Minecraft

About

Description

# Goety Owned Null Guard Fix

A tiny (~3KB) Forge 1.20.1 patch that fixes a recurring crash from Goety summons.

## The Problem
When Goety summons such as Inferno or ZombieServant take damage, the game can
crash with a "Ticking entity" NullPointerException. It happens most often in the
Nether, with multiple same-type summons nearby, or with ownerless summons. The
crash stack always points at Owned.java:186 -> Entity.java:2236.

## Root Cause
Goety's Owned.isAlliedTo(Entity) forwards a null entity to vanilla
Entity.isAlliedTo. The hurt-revenge target AI passes a cleared lastHurtByMob()
value while propagating damage to nearby same-type mobs, and vanilla 1.20.1
dereferences the argument without a null check (p.getTeam()) -> NPE.

## The Fix
A mixin injects a null guard at the entry of Owned.isAlliedTo: it returns false
for a null argument (a null entity can never be an ally). No gameplay balance
and no AI behaviour changes - it is a pure null-safety fix.

## Compatibility
- Requires Forge 1.20.1 (47.x) and Goety 2.5.56+.
- Works alongside RevelationFix, Goety: Revelation and all Goety addons.
- Install on both the client and the server. For an integrated server, the
  host must have the mod installed.
- Contains only a mixin; no Goety code is included. MIT licensed. Remove the
  jar to uninstall.

Thanks to Polarice3 for Goety (https://github.com/Polarice3/Goety-2).

Goety Owned Null Guard Fix

A tiny (~3KB) Forge 1.20.1 patch that fixes a recurring crash from Goety summons.

The Problem

When Goety summons such as Inferno or ZombieServant take damage, the game can crash with a "Ticking entity" NullPointerException. It happens most often in the Nether, with multiple same-type summons nearby, or with ownerless summons. The crash stack always points at Owned.java:186 -> Entity.java:2236.

Root Cause

Goety's Owned.isAlliedTo(Entity) forwards a null entity to vanilla Entity.isAlliedTo. The hurt-revenge target AI passes a cleared lastHurtByMob() value while propagating damage to nearby same-type mobs, and vanilla 1.20.1 dereferences the argument without a null check (p.getTeam()) -> NPE.

The Fix

A mixin injects a null guard at the entry of Owned.isAlliedTo: it returns false for a null argument (a null entity can never be an ally). No gameplay balance and no AI behaviour changes - it is a pure null-safety fix.

Compatibility

  • Requires Forge 1.20.1 (47.x) and Goety 2.5.56+.
  • Works alongside RevelationFix, Goety: Revelation and all Goety addons.
  • Install on both the client and the server. For an integrated server, the host must have the mod installed.
  • Contains only a mixin; no Goety code is included. MIT licensed. Remove the jar to uninstall.

Thanks to Polarice3 for Goety (https://github.com/Polarice3/Goety-2).