NyfSpiderFix
There is a known bug in Nyf's Spiders pathfinding library (Advanced Wall Climber API), which can cause the server or singleplayer world to crash unexpectedly. The crash is most commonly triggered when Supplementaries is installed alongside Nyf's Spiders, though it can occur in other situations too. This mod aims to fix that crash with a simple, lightweight patch.
Requirements
- NeoForge 1.21.1
- Nyf's Spiders (3.0.1 and above)
- Required on both client and server
Additional versions can be requested in the comments. If there is a version of Nyf's Spiders I haven't covered that you need support for, let me know and I'll look into it.
This mod will be maintained until this pull request is accepted upstream, or the issue is otherwise resolved by the developer. Once the fix is officially included in Nyf's Spiders, this mod will be archived and no longer maintained.
Technical Details
The crash occurs in AdvancedWalkNodeProcessor.getDirectionalPathNodeType(), a static method in the bundled awcapi library. When a spider's pathfinder is invoked during a narrow timing window before prepare() has finished initializing the pathableFacingsArray field, the field is null. The method then attempts to read its length, throwing a NullPointerException and crashing the game.
This mod injects a Mixin into the affected method that intercepts the pathableFacings parameter at entry. If the value is null, an empty array is substituted, allowing the for loop to safely iterate zero times instead of crashing. Pathfinding behavior is otherwise identical - the null case only occurs during the brief race window, and resovled normally on subsequent ticks.