Compatibility
Minecraft: Java Edition
Platforms
Supported environments
Tags
Creators
Details
This mod safely modifies the core read method of Minecraft network packets. Whenever any mod attempts to write null into a packet, the method automatically replaces null with an empty CompoundTag at the return stage, ensuring that any subsequent NBT operations (such as getString, getInt, etc.) will not throw a null pointer exception.
Notes • This is a crash guard, not a data fix: a skipped feature may stop working temporarily (for example, one dropped item is discarded or one block entity stops ticking), but the server/client stays alive. • Only null-pointer exceptions are suppressed; other errors still produce a normal crash report.
[NullPointer Fix for Mio — How to enable the extra protections]
Both options are OFF by default. Only enable them if your crash log contains: Slot.getItem / Inventory.setItem / Inventory.add / NonNullList
Add these JVM arguments: -Dnullpointerfix.sanitizeSlots=true -Dnullpointerfix.sanitizeInventory=true
Client (close the game first): • CurseForge: Settings → Game Specific → Minecraft → Java Arguments, append at the end • Prism: right-click instance → Edit → Settings → Java → JVM arguments, append at the end • HMCL: Version Settings → Advanced Settings → JVM Arguments, append at the end • PCL2: Settings → Launch Settings → Advanced → JVM Arguments, append at the end • Official Launcher: Installations → Edit → More Options → JVM arguments, append at the end
Note: put them in the "JVM / Java arguments" field, NOT in "Game arguments".
Server (Forge 1.19/1.20, NeoForge 1.21): Open user_jvm_args.txt in the server folder and add one per line: -Dnullpointerfix.sanitizeSlots=true -Dnullpointerfix.sanitizeInventory=true Save and restart. If your start script does not read that file, put the arguments between java and -jar.
How to verify: After launch, logs/latest.log should contain: [NPE-Fix] NullPointerFixForMio active (... slots=true, inventory=true ...)
How to disable: Remove the arguments and restart the game/server.
Notes: • Client crash → add on the client. Server crash → add on the server. One side does not affect the other. • If items disappear, storage terminals misbehave, or inventories get out of sync, remove the arguments first. • All other protections are enabled by default. These two are optional.


