promotional bannermobile promotional banner

Monkey Patches

A collection of hacky patches to fix bugs in other mods, especially bugs that were fixed in unreleased versions of those mods.
Back to Files

monkeypatches-0.7.1.jar

File namemonkeypatches-0.7.1.jar
Uploaded
Sep 14, 2026
Downloads
16
Size
157.4 KB
Mod Loaders
NeoForge
File ID
8876140
Type
R
Release
Supported game versions
  • 1.21.1

Curse Maven Snippet

NeoForge

implementation "curse.maven:monkeypatches-1303058:8876140"

Learn more about Curse Maven

What's new

Added

  • Physics Mod vine unload fix
    • DoublyLinkedListMixin: Skips removeNode for nodes that aren't linked into the list, and detaches all nodes in clear()
    • Resolves NullPointerException: Cannot assign field "next" because "node.prev" is null in net.diebuddies.util.DoublyLinkedList.removeNode when Sodium deletes chunk sections with vine physics (e.g. at the end of a resource pack reload), and the follow-up IllegalStateException: Worker threads are not running crash
    • Not reported upstream (Physics Mod Pro is closed source)
    • Only loads for Physics Mod 3.0.32 (Pro v185)
    • Configuration option: patches.physicsmod.vine_unload_fix_enabled (default: true)

Technical Details

  • PhysicsWorld.destroy() calls DoublyLinkedList.clear(), which drops head/tail but leaves nodes linked and stored on their elements; removing the old first element later takes the middle-node branch with a null prev
  • Physics Mod isn't available at compile time: the Node parameter is taken as @Coerce Object, and LinkedListGuard reaches private fields through a MethodHandles.Lookup created inside the target class

This mod has no additional files