Changes

Summary

  1. Fix armor models not updating when resources reload (details)
  2. Swap the order of plate armor in the multipart item tag (details)
  3. Revitalizing tweaks (details)
  4. Adjust a few handle stats (details)
  5. Fix recipe conflict between nahuatl shield core and obsidian plating (details)
  6. Add page to puny melting about sand cast creation in the part builder (details)
  7. Fix tank modifier models discarding the non-fluid and offsetting weirdly (#5227) (details)
  8. Cleanup modifier model code (details)
  9. Migrate process loot to a modifier hook (details)
  10. Ditch the default modifier serializer, since composable does that but better (details)
Commit 6e3f2424331e033b08f2c15dbd5f99855b9abd62 by KnightMiner
Fix armor models not updating when resources reload
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/client/armor/ArmorModelManager.java (diff)
Commit ce188d943da367d37c10192b4200332c9ba67aa9 by KnightMiner
Swap the order of plate armor in the multipart item tag

Means you see helmet first in the books instead of boots first, its the little things
The file was modifiedsrc/generated/resources/data/tconstruct/tags/items/modifiable/multipart.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/common/data/tags/ItemTagProvider.java (diff)
Commit 28ce9e8f57416bae916fac24c21df70876c6b900 by KnightMiner
Revitalizing tweaks

Half the cost of jeweled apples (and by extension, revitalized)
Remove the max level - no longer matters in the base mod, and if you get more defense slots, eh, go wild. Protection is objectively better than health in most cases, especially as you get more health
The file was modifiedsrc/generated/resources/data/tconstruct/recipes/tools/modifiers/defense/revitalizing.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/data/ModifierRecipeProvider.java (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/recipes/tools/modifiers/jeweled_apple.json (diff)
Commit 7bbb19fce6575983cd6f00bdfa87a9a8171aa3de by KnightMiner
Adjust a few handle stats

In light of melee damage being better, reducing the max a bit
Also rose gold's trait is just too good for its handle stats, so they lower now. Sorry, not sorry
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/lead.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/manyullyn.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/pig_iron.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/rose_gold.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/invar.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/nahuatl.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/data/material/MaterialStatsDataProvider.java (diff)
Commit 301f6788e6634d65a22c5da654845fb70aabeea6 by KnightMiner
Fix recipe conflict between nahuatl shield core and obsidian plating

Casting obsidian either gives you a shield or a shield core based on which recipe won. Solved it by allowing nahuatl in the part builder and ditching composite for shield cores (all options are able to be made without composite)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/definition/nahuatl.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/data/material/MaterialDataProvider.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/data/ToolsRecipeProvider.java (diff)
The file was removedsrc/generated/resources/data/tconstruct/recipes/tools/parts/casting/shield_core_composite.json
Commit cfe73b965ad5a4f977c0e8679440f11fd9604304 by KnightMiner
Add page to puny melting about sand cast creation in the part builder
The file was addedsrc/main/resources/assets/tconstruct/book/images/sandcast_partbuilder.png
The file was addedsrc/main/resources/assets/tconstruct/book/puny_smelting/en_us/casting/sandcast3.json
The file was modifiedsrc/main/resources/assets/tconstruct/book/puny_smelting/en_us/casting/sandcast2.json (diff)
The file was modifiedsrc/main/resources/assets/tconstruct/book/puny_smelting/sections/casting.json (diff)
Commit 053f8f5c070d8580ea6c4729796ecc225805fcdf by KnightMiner
Fix tank modifier models discarding the non-fluid and offsetting weirdly (#5227)

Turns out the method of using the model bakery applies an origin to the transformation, meaning we get a funny offset with the fluid quads. Thus, we just reverse that before calling the method
No idea why this is not needed in the fluid container model, perhaps we just do no scaling there so it does not end up mattering?
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/client/modifiers/FluidModifierModel.java (diff)
Commit dce90b382d500a7e765d3a70a89c9f6727c230b4 by KnightMiner
Cleanup modifier model code

Now we no longer throw around so many empty lists in the builder, we only add to the builder if we have quads.
Another advantage is no need to merge the lists yourself if getting multiple quad layers, just toss them all in (in reverse order of course)
Additionally, remove the weird constraint of immutable lists everywhere, just use generic collections.
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/client/modifiers/NormalModifierModel.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/client/OverslimeModifierModel.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/client/modifiers/DyedModifierModel.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/client/modifiers/FluidModifierModel.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/client/modifiers/MaterialModifierModel.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/client/modifiers/IBakedModifierModel.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/client/model/tools/ToolModel.java (diff)
Commit 3a5b0cebf141730cac1dcad142f3d6c84e2673e3 by KnightMiner
Migrate process loot to a modifier hook

Still undecided on that one, but might as well not be in the wrong place
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/upgrades/melee/SeveringModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/Modifier.java (diff)
The file was addedsrc/main/java/slimeknights/tconstruct/library/modifiers/hook/behavior/ProcessLootModifierHook.java
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/ability/tool/AutosmeltModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/ability/tool/MeltingModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/traits/general/StoneshieldModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/traits/general/TastyModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/ModifierLootModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/ModifierHooks.java (diff)
Commit dab693456f03d40179bb14208b0d4d9cfb816a86 by KnightMiner
Ditch the default modifier serializer, since composable does that but better

Come 1.20 I hope to do away with modifier serializers entirely in favor of modules. Right now there are just 2 other holdouts: inventory module, and tool belt (latter depends on the former)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/TinkerModifiers.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/Modifier.java (diff)