▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Моды/Patched
Patched

Patched

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

54.6K
70
Все версии9.0.0+1.19.2-forge

9.0.0+1.19.2-forge

Release1 мес. назад

Список изменений

Known Issues

  • ModernFix's mixin.perf.resourcepacks option breaks Patched's resource scanning, causing mod resources to not be suggested in /patched dump and /patched trace. If you need those suggestions, then set mixin.perf.resourcepacks=false in modernfix-mixins.properties.
  • Fabric API breaks Patched's vanilla resource scanning, causing vanilla's assets and data to not be suggested in /patched dump and /patched trace. This is not something I can fix or work around.

Breaking Changes

  • Patched is now multi-version: this means that future bug fixes and features will propagate to all supported versions, not just the latest. With this came some major re-architecturing which will have broken pretty much any mod with a compile-time dependency on Patched. In other words, mods that interface directly with Patched's code. Data/resource packs and mods that don't touch Patched's code at all will be perfectly fine. Mods that use (Neo)Forge's IMC feature to communicate with Patched will also be fine. I'm not currently aware of any mods that touch Patched's code, but any that do exist will need to adapt to these changes to work with the new version(s).
  • Patched (the library) has been updated to version 2.0.0. This will almost certainly impact anyone touching the library (or the mod) directly. One can read about the changes here.
  • Removed full Quilt support. There is now only partial Quilt support in the Fabric version of the mod. It'll apply patches from data packs and resource packs but not from mods. (There aren't any Quilt exclusive mods that contain patches anyway.) If you do need patches from mods to apply then consider migrating to Fabric instead.

New Features

  • Added the /patched trace <file> command (also works with /patchedc), which allows "tracing" the trail of patches/overrides applied to a specified file. This can be used to find out whether a given patch is actually applying to a file without needing to read through a (possibly massive) json file from /patched dump file. As a bonus, it'll list the overrides of files that have had no patches applied. For example, did you know that NeoForge replaces the bucket recipe? (I already did, but maybe you didn't — and now you can know all that and more with this command!)
  • Added absolute paths and placeholders. See also the updated path documentation here.
  • Packs with dynamic patches no longer need a file in the namespaces they're targeting for their patches to apply. One can now get rid of their _dummy.json files, if present.

New Features (for mod developers)

  • On Fabric, custom test conditions and data sources can now be registered using ObjectShare. See the documentation for details.

Backported 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.
  • Added a new test type: patched:pack_enabled, which allows checking for the existence of data/resource packs. See the documentation for details.
  • 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)

  • 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.
  • 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!

Changes

  • Patches dumped using the wrong-sided command (e.g. /patched dump ... on a patch in assets) will now dump normally rather than cryptically failing.
  • Fixed errors about malformed or missing dynamic patches being logged with more detail than they should (and only once).
  • The "Applying patch ... from ..." and "Built PatchTargetManager ..." messages are no longer logged by default, as they're usually not necessary (and add a lot of noise to the logs). If you need either for whatever reason, you can turn them back on by adding -Dpatched.debug to your JVM arguments.
  • Patched now names packs using the format from 1.20.1 and up. In other words, instead of <folder name> it's file/<folder name>, instead of Default it's vanilla, and instead of Programmer Art it's programmer_art. This allows data/resource packs using the patched:pack_enabled test condition to work on 1.19.2 and 1.18.2 without needing to account for these names. (Side note: this change doesn't break anything because the patched:pack_enabled test condition didn't exist on this version yet.)

Backported Changes

  • Rewrote Patched's primary mixin for better compatibility with mods that cause re-entrant resource queries, such as Tiny Skeletons.
  • The Patched metadata in pack.mcmeta files has been modified to reflect Mojang's changes to pack metadata sections over the past several updates. In short: patched:has_patches is no more, and instead there's a patched section. Patched will still load old-style packs.
  • Fix packs that take advantage of Minecraft's filtering causing Patched to throw countless errors.
  • On Fabric, give custom builtin packs better names.

Backported Changes (for mod developers)

  • Custom test registration has changed — they are now registered using Patched.registerTestCondition() and Patched.registerSimpleTestCondition().
  • 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.

Файлы

Patched-9.0.0+1.19.2-forge.jar(391.64 KiB)
Основной
Скачать
Patched-9.0.0+1.19.2-forge-sources.jar(121.41 KiB)
Скачать

Метаданные

Канал релиза

Release

Номер версии

9.0.0+1.19.2-forge

Загрузчики

Forge

Версии игры

1.19.1–1.19.2

Загрузок

18

Дата публикации

1 мес. назад

Загрузил

ID версии

Главная