Breaking changes for 1.20
KnightMiner opened this issue ยท 0 comments
To anyone discovering this issue looking for news about 1.20, see the FAQ. This issue is simply a TODO list, not an indicator of update progress.
API changes that can be implemented on 1.19
These changes need to be done before a 1.20 release, but can be implemented on 1.19 with deprecations instead of removals
- Look into using GameTest for automated tests, not sure how long our method will keep working as mojang changes bootstrap (plus world sensitive tests would be nice to have)
- Migrate inventory modifier to modifier modules
- Support global tool definition data loaders
Breaking changes for 1.20
- Books: Remove all uses of named section transformers in favor of generic section data transformers
- Replace tank block model property with a fluid and a capacity property
Tools
- Support merging on tool definition data
- Narrow return types on ToolStack methods to use NamespaceNBT instead of ModDataNBT when reasonable
- Move modifier slot colors to Mantles resource color manager
- Migrate away from tool loot hook to standard global loot modifiers
Modifiers
- Remove modifier serializers = use modifier modules with composable instead.
- Remove typed check on dynamic modifiers, its no longer useful when every modifier is composable
- Allow composable modifiers to merge modules from multiple data packs.
- Change projectile hit hook to use the new forge enum for canceling instead of a boolean.
Recipes
- Consider - make tool building recipe contain parts list. Move part swapping logic to tool building recipe.
- Switch Tinker Station and Modifier Workstation to using LazyToolStack for results.
- Split castable tool casting from castable part swapping, allows us to do tool casting over a non-consumed cast and part swapping without a tool casting recipe.
New 1.20 Features
- Duplicate armor trims in a casting table using molten diamond at a discount
- Add trims to all relevant tinkers armors