Skip to content
This repository has been archived by the owner on Jun 3, 2024. It is now read-only.

Patches Forge mod jars, allowing them to be loaded by Fabric

License

Notifications You must be signed in to change notification settings

PatchworkMC/patchwork-patcher

Repository files navigation

THIS IS NO LONGER BEING MAINTAINED.

Patchwork: Patcher

Patchwork Patcher is a set of tools for transforming and patching Forge mod jars into jars that are directly loadable by Fabric Loader. It does the following things currently:

  • Remaps Minecraft from official (proguard's obfuscated names) to srg (MCP's runtime mappings)

  • Remaps the mod jar from srg to official using Tiny Remapper with the srg minecraft jar on the classpath

  • Remaps the mod jar from official to intermediary using Tiny Remapper with the official minecraft jar on the classpath

  • Converts the Forge mods.toml manifest to a fabric.mod.json file

  • Converts @OnlyIn annotations to @Environment for Fabric

  • Strips @ObjectHolder annotations, removes the field's final modifiers, and creates Consumers that set the fields

  • Strips @Mod.EventBusSubscriber and @SubscribeEvent annotations and generates event handlers (that handle events) and event registrars (that register event handlers on behalf of a class)

    • Non-static event handlers are not yet supported
  • Generates a class implementing ForgeInitializer that registers all the object holders and event registrars

  • 1.16.4 only.

Note on Patchwork API

Patchwork Patcher generates jars that require a Fabric mod acting as a compatibility layer to run. Patchwork API fulfills this role, most development will happen there.