Changes

Summary

  1. Add priority and tooltip visibility to composable modifiers (details)
  2. Implement tooltip modifier hook (details)
  3. Add tool build modifier hooks (details)
  4. Migrate enchantment modifier to modifier modules (details)
  5. Migrate extra modifier to modifier modules (details)
Commit b550b22593cf37b2c73d357ad54f206c29a03baf by KnightMiner
Add priority and tooltip visibility to composable modifiers

Might be worth letting the modules take a poll on priority if you don't set it, but thats a later feature to consider
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/modifiers/luck.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/dynamic/ComposableModifier.java (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/modifiers/fortune.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/modifiers/silky.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/modifiers/looting.json (diff)
Commit 901f3363ee5d41d4147f286562edaebb5e4ac2d5 by KnightMiner
Implement tooltip modifier hook

Will be used in many upcoming composable modules
The file was addedsrc/main/java/slimeknights/tconstruct/library/modifiers/hook/TooltipModifierHook.java
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/Modifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/tools/helper/TooltipUtil.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/TinkerHooks.java (diff)
Commit 1c1a795ce758b6889a529b89f33f5703359b4dc4 by KnightMiner
Add tool build modifier hooks

Small semantic change in the removal hooks: before you had onRemove (no return) called early during modifier removal and validate called with 0 late in removal. With the new hooks, onRemove has a return and handles removal validation.
In 1 out of 3 cases, the old hooks will function exactly the same as before. Apparently they were called inconsistently though, so the order of removal vs validations changes slightly for the other two cases.
I do not believe it was possible to rely on the old order hence the breaking change, this new order just makes it so much easier to understand.
The file was addedsrc/main/java/slimeknights/tconstruct/library/modifiers/hook/build/package-info.java
The file was modifiedsrc/main/java/slimeknights/tconstruct/shared/command/subcommand/StatsCommand.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/shared/command/subcommand/ModifiersCommand.java (diff)
The file was addedsrc/main/java/slimeknights/tconstruct/library/modifiers/hook/build/VolatileDataModifierHook.java
The file was modifiedsrc/main/java/slimeknights/tconstruct/tables/recipe/TinkerStationPartSwapping.java (diff)
The file was addedsrc/main/java/slimeknights/tconstruct/library/modifiers/hook/build/AttributesModifierHook.java
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/hook/package-info.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/TinkerHooks.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/tools/helper/ToolAttackUtil.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/recipe/ModifierRemovalRecipe.java (diff)
The file was addedsrc/main/java/slimeknights/tconstruct/library/modifiers/hook/build/ToolStatsModifierHook.java
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/recipe/modifiers/adding/IDisplayModifierRecipe.java (diff)
The file was addedsrc/main/java/slimeknights/tconstruct/library/modifiers/hook/build/RawDataModifierHook.java
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/tools/nbt/ToolStack.java (diff)
The file was addedsrc/main/java/slimeknights/tconstruct/library/modifiers/hook/build/ValidateModifierHook.java
The file was addedsrc/main/java/slimeknights/tconstruct/library/modifiers/hook/build/ModifierRemovalHook.java
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/tools/item/ModifiableArmorItem.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/Modifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/recipe/tinkerstation/ValidatedResult.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/tools/helper/ModifiableItemUtil.java (diff)
Commit 994771f531373cdfb3eecf56274f3965c1b0ed73 by KnightMiner
Migrate enchantment modifier to modifier modules

Did not move the static helpers as come 1.19 those will not be needed anymore due to the nice new forge hooks. So in a sense, its doubly deprecated.
The file was addedsrc/main/java/slimeknights/tconstruct/library/modifiers/modules/EnchantmentModule.java
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/dynamic/LootModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/TinkerModifiers.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/data/ModifierProvider.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/dynamic/EnchantmentModifier.java (diff)
The file was removedsrc/main/java/slimeknights/tconstruct/library/modifiers/modules/HarvestEnchantmentModule.java
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/modifiers/depth_strider.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/modifiers/respiration.json (diff)
Commit f01431c1bb0db168499120641419494ffaaa3491 by KnightMiner
Migrate extra modifier to modifier modules

Cannot migrate swappable for now as it needs a tool sensitive display name
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/modifiers/writable.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/modifiers/draconic.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/modifiers/gilded.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/dynamic/ExtraModifier.java (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/modifiers/enhanced.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/data/ModifierProvider.java (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/modifiers/recapitated.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/modifiers/resurrected.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/TinkerModifiers.java (diff)
The file was addedsrc/main/java/slimeknights/tconstruct/library/modifiers/modules/ModifierSlotModule.java
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/modifiers/harmonious.json (diff)