Tinkers Construct

Tinkers Construct

165M Downloads

Breaking changes for 1.20

KnightMiner opened this issue ยท 0 comments

commented

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