Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Breaking changes for 1.20 #5281

Open
10 of 18 tasks
KnightMiner opened this issue Dec 17, 2024 · 0 comments
Open
10 of 18 tasks

Breaking changes for 1.20 #5281

KnightMiner opened this issue Dec 17, 2024 · 0 comments
Labels
1.20 Issue affects 1.20 Technical Pull requests making changes to workspace or targeted versions

Comments

@KnightMiner
Copy link
Member

KnightMiner commented Dec 17, 2024

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 support migrating old behavior

These changes can be added without breaking addons.

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

Tools

  • Support global tool definition data loaders
  • Support merging on tool definition data? May be redundant to above
  • Migrate away from tool loot hook to standard global loot modifiers
  • Consider - make tool building recipe contain parts list. Move part swapping logic to tool building recipe.
  • Allow composable modifiers to merge modules from multiple data packs.

Breaking changes for 1.20

Tools

  • Move modifier slot colors to Mantles resource color manager
  • Narrow return types on ToolStack methods to use NamespaceNBT instead of ModDataNBT when reasonable

Modifiers

  • Migrate inventory modifier to modifier modules
  • Remove modifier serializers = use modifier modules with composable instead.
  • Remove typed check on dynamic modifiers, its no longer useful when every modifier is composable
  • Change projectile hit hook to use the new forge enum for canceling instead of a boolean.

Recipes

  • Switch Tinker Station and Modifier Workstation to using LazyToolStack for results.

New 1.20 Features

  • Duplicate armor trims in a casting table using molten diamond at a discount
  • Add trims to all relevant tinkers armors
@KnightMiner KnightMiner added Technical Pull requests making changes to workspace or targeted versions 1.20 Issue affects 1.20 labels Dec 17, 2024
@SlimeKnights SlimeKnights locked and limited conversation to collaborators Dec 17, 2024
@KnightMiner KnightMiner pinned this issue Jan 6, 2025
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
1.20 Issue affects 1.20 Technical Pull requests making changes to workspace or targeted versions
Projects
None yet
Development

No branches or pull requests

1 participant