PatchLib - Bug Fixes, Crash Fixes & Mod Compat

Quick rating

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

PatchLib - Bug Fixes, Crash Fixes & Mod Compat

No reviews yet

A configurable collection of bug fixes, crash fixes and compatibility patches for mods like Tom's Simple Storage, Create, Vampirism, Toxony, Prickle and Arclight. Every patch auto-skips when the mod isn't installed. Stabilize your modpack or server.

Bug Fixes
Performance & Optimization
Mod Loaders
NeoForge
Minecraft

Community voices

Reviews

List view
Grid view
Compact view
Sort by
Date
Rating
Helpful
Unhelpful
Edited
Sort ascending
Show per page
10
25
50
Delete this review?

This removes your review from the project. You can write a new review after.

Review submitted for moderation

Your review has been sent to moderators, who will check that it meets our guidelines before it appears publicly.

No reviews yet. Be the first to review this project!

Get it on

Available Platforms

About

Project Details

Type
Mod
Latest Version
patchlib-1.jar

For authors

Embed Badge

If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.

Custom banner text
ModDex rating badge preview

Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.

Identifiers

Platform IDs

CurseForge ID

Resources

External Links

Source Issues Wiki Discord

About

Description

PatchLib is a random assortment of bug fixes, crash fixes and compatibility patches for various mods — Farmer's Delight, Tom's Simple Storage, Vampirism, Toxony, Create, KubeJS, Arclight and more.

I originally built it just to stop the servers I run from crashing. Over time it grew into a proper little library of fixes, and at some point it stopped making sense to keep it to myself — if one of these crashes has cost you a server restart at 2 AM, this is for you.

Patches only run when they are actually needed

This is the part that matters if you maintain a modpack. PatchLib never touches a mod you do not have installed. Before a single patch is applied, it checks:

  • Is the target mod installed? If not, the patch is skipped — no errors, no log spam.
  • Is the mod version actually affected? Several fixes are bound to the exact versions that carry the bug. Update the mod past it and the patch quietly steps aside instead of fighting the official fix.
  • Does another mod already patch this? Known conflicts disable the patch automatically.
  • Is this the right side? Client-only fixes are never loaded on a dedicated server.

Every decision is printed on startup, so you always know what is running:

[PatchLib] --- Patch Status Report (dedicated server) ---
[PatchLib]  compat.create_contraption_collider [...] -> ACTIVE
[PatchLib]  farmersdelight.tag_load_order      [...] -> SKIPPED (target not present)
[PatchLib]  patchouli.book_registry_lookup     [...] -> CLIENT ONLY (not loaded on a dedicated server)
[PatchLib] --- 5 of 18 patches active ---

Drop it into a pack with none of the target mods and it does exactly nothing.

Included fixes

Crash fixes

Mod What it fixes
Tom's Simple Storage IllegalStateException: Do not call getCapability on an invalid cache crashing the tick loop from InventoryConnectorBlockEntity. A retired capability cache is now treated as an empty inventory.
Toxony Thrown Oil Pot crashing with a null itemStack after a chunk reload or restart — the stack is now saved to NBT, and onHit is guarded.
Prickle / PigPen Unreadable config aborting the whole datapack load, leaving the server hung at startup. Falls back to defaults, keeps a copy of the broken file, and lets the config heal itself.
Prickle Config format flipping between runs because the property adapters are resolved through the thread context classloader. Now resolved deterministically.
Portable Tanks NullPointerException when a tank item has no fluid NBT.
KubeJS ClassCastException during capability registration and server script loading when a pack registers builders of mixed types.
Vampirism NullPointerException in ActionHandler.deactivateAllActions on hybrid servers.

Arclight / hybrid server fixes

  • ClassCastException when modded entities run Villager AI tasks
  • NullPointerException in Brain.tick from Arclight's villager career redirect
  • ClassCastException mapping Friends & Foes entities to Bukkit wrappers

These only load when Bukkit classes are present, so they are inert on plain NeoForge.

Compatibility & behaviour fixes

Mod What it fixes
Create NullPointerException in ContraptionCollider when a movement axis is null
YUNG's Better End Island Ender Dragon being spawned twice
Farmer's Delight Tag keys left null by mod load order
Copper Age Backport Copper armour registered without durability
Subtle Effects End Remastered portal frame ticker never firing
Just Enough Resources (client) Modded biomes missing from JER tabs
Patchouli (client) Modded book cover items failing to resolve

Version-bound patches

A few fixes only apply to the mod versions that actually carry the bug. If your version is newer, PatchLib reports the patch as skipped — that is intended, not a failure:

Patch Applies to
Farmer's Delight — tag load order 1.3.1 only
KubeJS — builder casts below 2101.7.2 (and disabled when KubeJS Tweaks is present)
Copper Age Backport — armour durability 0.1.4 and older
Subtle Effects — End Remastered ticker 1.11.0 only

Everything else applies to any version of its target mod.

Configuration

Every patch has its own toggle in config/patchlib-patches.properties. The file is generated on first launch with one commented entry per patch:

# --- toms_storage ---
# Treats a retired NeoForge BlockCapabilityCache as an empty inventory instead of throwing
# IllegalStateException out of InventoryConnectorBlockEntity ticking
toms_storage.stale_capability_cache=true

If a fix ever conflicts with something, turn off that one line — no need to remove the mod.

Sides

PatchLib is a server-side mod, optional on the client. It registers no network packets and no registry entries, so players without it can join your server normally. Installing it on the client as well simply adds the two client-side fixes on top.

Requirements

  • Minecraft 1.21.1
  • NeoForge 21.1+
  • No dependencies

⚠ Please read before reporting

These patch bugs in other people's mods. As those mods update, some of these issues will be fixed properly at the source. Where I know the affected version range, PatchLib disables the patch automatically once you update past it — but I cannot predict every future release. If a mod fixes something natively and the patch gets in the way, just set it to false in the config.

Bug reports about the patches themselves are very welcome. Bug reports about the patched mods belong to their authors.

Credits

Several patches are ported from Monkey Patches by iamthemcmaster (LGPL), rebuilt on PatchLib's gating system: Farmer's Delight, Portable Tanks, Copper Age Backport, Subtle Effects, KubeJS, Just Enough Resources and Patchouli.

Screenshots

Gallery

This project has no gallery images yet.

Versions

Files

Relations

Project Relations

More like this

Similar Mods

Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.

On ModDex

Community snapshot

0
Ratings
0
Followers
0
In stacks

By the numbers

Statistics

<1,000
Downloads
Last Updated
Created
Last synced
When ModDex last fetched this project from CurseForge or Modrinth. Every project is re-checked on a schedule, and any project that ships a new file is synced automatically within hours of the release.
New file updates sync automatically
How syncing works