Patched

Patched

Mod

Allows data/resource packs and mods to modify parts of json files instead of completely replacing them.

Client or server Utility

30.4k downloads
48 followers
Follow Save
90% of ad revenue goes to creators. Go ad-free while supporting creators with Modrinth Plus. Subscribe today!
Filter loader...
Filter versions...

Changes

  • Fix server-side resource reloads (via the /reload command) breaking dynamic patches
  • Fix a potential error when using the patched:registered test condition on 1.21.4

Changes

  • Fix data generation crashing on 1.21.3.

Changes

  • The version number now includes the platform. For example, 7.3.1+1.21.1 is now 7.3.1+1.21.1-neoforge (corresponding to the platform it was built for). This means that modders depending on the mod via Modrinth's maven do not need to use a version number like 'EddDSwpM'. The names of each file have also changed slightly to reflect this.

New Features

  • Patches can now be applied to tags/sounds json/blockstates(?)/etc. or so-called "merged files". These only work for files defined in the same pack. That is, you cannot patch a tag defined by Minecraft (although you could patch your own contributions to it). This opens up the possibility for configurable tags, among other things.

New Features (modder-facing)

  • Added the paste patch type, which allows 'pasting' arbitrary code-defined data in json files. The intended purpose of this patch type is to make it possible to get config values into otherwise-unconfigurable things like biomes. For example, making a feature's spawn rate configurable without needing data packs. See the documentation and SingleDataSource for more information.
  • On (Neo)Forge, mods may now use IMC (InterModComms) to register data sources (for the paste operation) and test conditions (for test patches with a type field). See the documentation for details.

Changes (modder-facing)

  • Custom test registration has changed — they are now registered using Patched.registerTestCondition() and Patched.registerSimpleTestCondition(). Test conditions registered the old way will still work.

Features

  • Added a new test type: patched:pack_enabled, which allows checking for the existence of data/resource packs. See the documentation for details.

Changes

  • Rewrote Patched's primary mixin for better compatibility with mods that cause re-entrant resource queries, such as Tiny Skeletons.

Changes (for mod developers)

  • Patched's library sources are now included in the mod's sources jar.
  • Patched's internals (or most of them) are now in an internal package, rather than spread out all over the place. This will break code using or mixing into these internals, but you shouldn't be doing that anyway.

Changes

  • Fixed a crash when using the Programmer Art resource pack. (This was caused by a missed change from Fabric API.) This does not affect the Forge build, and shouldn't affect Quilt either (it already has this change).

This update backports just about everything added from 5.1.0+1.20.4 to 7.1.1+1.21.1. It also introduces a few new changes and features, which will be ported over to 1.21.1 shortly.

Backported Features

  • Added the include operation, which allows effectively including the contents of a patch inside another patch. This is intended to reduce patch duplication.
  • Added "patch targets" (also called "dynamic" patches), which allow applying a single patch to any number of files.
  • Added two new test types:
    • patched:registered, which allows testing for the existence of something in a registry
    • patched:item_registered, which is a simplified version of the above

Backported Features (for mod developers)

  • The patch datagen stuff now supports Codecs in all of the methods taking Objects, and also now allows providing an alternate Gson for serialization in the Object versions. There's also been some minor javadoc improvements in that area.
  • Patched now supports reading its metadata from the loader-specific mod metadata files! This means that modders can finally ditch their pack.mcmetas and move this data to their fabric.mod.json/quilt.mod.json/mods.toml!

Backported Changes

  • The Patched metadata in pack.mcmeta files has been modified to reflect Mojang's changes to pack metadata sections. In short: patched:has_patches is no more, and instead there's a patched section. Patched will still load old-style packs.

New Features

  • Added a new test type: patched:pack_enabled, which allows checking for the existence of data/resource packs. See the documentation for details.

New Changes

  • Rewrote Patched's primary mixin for better compatibility with mods that cause re-entrant resource queries, such as Tiny Skeletons.

New Changes (for mod developers)

  • Patched's library sources are now included in the mod's sources jar.
  • Patched's internals (or most of them) are now in an internal package, rather than spread out all over the place. This will break code using or mixing into these internals, but you shouldn't be doing that anyway.

Project members

EnderTurret

Owner

Details

Licensed LGPL-2.1-only
Published 2 years ago
Updated 4 days ago