Changes

Summary

  1. Migrate material stat loading to loadables (details)
  2. Migrate direct usages of ToolRebuildContext to IToolContext (details)
  3. Migrate overslime friend from volatile flag to a modifier tag (details)
  4. Drop volatile data from tool context (details)
  5. Switch to modifier entry for process loot hook (details)
  6. Stat builder improvements (details)
  7. Make overslime use a stat instead of volatile data for capacity (details)
  8. Move to a cleaner solution for forcing offhand unarmed attacks to 4.0 attack speed (details)
  9. Ditch base stats on the tool definition data (details)
  10. Migrate overcast and overforced to JSON (details)
Commit 32fecc464f903f0acd4aecc63a45795b5d1d30a7 by KnightMiner
Migrate material stat loading to loadables

Loadables mean you have more control over parsing validation and reduces packet buffer boilerplate. Plus, its now easier to parse complex types from lists or objects
This also makes it easier to access material stat type properties like can repair
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/silver.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/client/book/TinkerBook.java (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/wood/oak.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/enderslime_vine.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/pig_iron.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/stats/SkullStats.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/stats/BowstringMaterialStats.java (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/necronium.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/tungsten.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/constantan.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/blazing_bone.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/stats/HandleMaterialStats.java (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/copper.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/tools/definition/module/material/MaterialRepairModule.java (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/rock/stone.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/osmium.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/plated_slimewood.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/slimewood/skyroot.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/wood/acacia.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/bronze.json (diff)
The file was addedsrc/main/java/slimeknights/tconstruct/tools/stats/BindingMaterialStats.java
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/stats/ExtraMaterialStats.java (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/rock/diorite.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/lead.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/slimewood/enderbark.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/slimesteel.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/wood/spruce.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/slimesteel.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/tungsten.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/materials/MaterialRegistryImpl.java (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/darkthread.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/data/material/AbstractMaterialStatsDataProvider.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/materials/stats/IMaterialStats.java (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/seared_stone.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/invar.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/rock/granite.json (diff)
The file was modifiedsrc/test/java/slimeknights/tconstruct/fixture/MaterialRegistryFixture.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/materials/stats/MaterialStatType.java (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/iron/oxidized.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/chorus.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/stats/MeleeHarvestMaterialStatProvider.java (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/osmium.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/scorched_stone.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/skyslime_vine.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/wood/dark_oak.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/steel.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/materials/MaterialRegistry.java (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/flint.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/enderslime_vine.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/client/data/material/AbstractMaterialSpriteProvider.java (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/rock/andesite.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/unknown.json (diff)
The file was modifiedsrc/test/java/slimeknights/tconstruct/library/materials/stats/UpdateMaterialStatsPacketTest.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/stats/HeadMaterialStats.java (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/electrum.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/flint/basalt.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/leather.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/stats/LimbMaterialStats.java (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/invar.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/queens_slime.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/aluminum.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/ancient_hide.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/plated_slimewood.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/whitestone/end.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/data/sprite/TinkerMaterialSpriteProvider.java (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/bronze.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/slimewood/greenheart.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/leather.json (diff)
The file was modifiedsrc/test/java/slimeknights/tconstruct/library/tools/stat/CompatibleStatTest.java (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/chain.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/rock.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/chorus.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/silver.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/data/material/MaterialStatsDataProvider.java (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/constantan.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/stats/RepairKitStats.java (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/skyslime_vine.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/necrotic_bone.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/blazing_bone.json (diff)
The file was modifiedsrc/test/java/slimeknights/tconstruct/fixture/MaterialItemFixture.java (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/string.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/flint.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/venombone.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/pig_iron.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/materials/stats/UpdateMaterialStatsPacket.java (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/cobalt.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/wood/mangrove.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/steel.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/stats/SkullMaterialStatProvider.java (diff)
The file was removedsrc/main/java/slimeknights/tconstruct/library/materials/stats/BaseMaterialStats.java
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/string.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/scorched_stone.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/platinum.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/client/book/content/ContentMaterial.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/client/book/sectiontransformer/materials/TierRangeMaterialSectionTransformer.java (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/nahuatl.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/bone.json (diff)
The file was modifiedsrc/test/java/slimeknights/tconstruct/fixture/MaterialStatsFixture.java (diff)
The file was addedsrc/main/java/slimeknights/tconstruct/library/json/SingletonRecordLoadable.java
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/generator_part_textures.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/nahuatl.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/platinum.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/rock/blackstone.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/whitestone.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/TinkerToolParts.java (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/iron.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/chain.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/whitestone.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/client/data/material/AbstractPartSpriteProvider.java (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/bamboo.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/rose_gold.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/wood/crimson.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/vine.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/wood/birch.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/venombone.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/iron.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/lead.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/vine.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/copper/oxidized.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/manyullyn.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/slimewood/bloodshroom.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/item/RepairKitItem.java (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/wood.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/rose_gold.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/darkthread.json (diff)
The file was modifiedsrc/test/java/slimeknights/tconstruct/library/materials/stats/MaterialStatsManagerTest.java (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/electrum.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/wood.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/materials/stats/IRepairableMaterialStats.java (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/copper.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/necronium.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/amethyst_bronze.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/queens_slime.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/necrotic_bone.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/manyullyn.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/client/book/sectiontransformer/materials/TieredMaterialSectionTransformer.java (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/wood/jungle.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/stats/GripMaterialStats.java (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/ancient_hide.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/slimewood.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/materials/stats/MaterialStatsManager.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/stats/RangedMaterialStatProvider.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/materials/IMaterialRegistry.java (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/hepatizon.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/bone.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/rock/deepslate.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/hepatizon.json (diff)
The file was modifiedsrc/test/java/slimeknights/tconstruct/library/materials/stats/ComplexTestStats.java (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/amethyst_bronze.json (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/cobalt.json (diff)
The file was modifiedsrc/generated/resources/assets/tconstruct/tinkering/materials/wood/warped.json (diff)
The file was modifiedsrc/test/java/slimeknights/tconstruct/library/tools/helper/ToolHarvestLogicTest.java (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/materials/stats/seared_stone.json (diff)
Commit 4d74d4a84c950f62602cee2c13e8eebda19bd543 by KnightMiner
Migrate direct usages of ToolRebuildContext to IToolContext

rebuild context no longer has any unique properties, and IToolContext gives us a bit more flexability
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/ability/armor/ShieldStrapModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/traits/general/OverworkedModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/hook/build/ModifierTraitHook.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/traits/general/OvergrowthModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/slotless/CreativeSlotModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/modules/build/StatBoostModule.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/modules/build/ModifierSlotModule.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/slotless/StatOverrideModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/traits/general/OvercastModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/tools/definition/module/build/ToolSlotsModule.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/modules/fluid/TankCapacityModule.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/upgrades/general/OverforcedModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/impl/InventoryModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/modules/build/RarityModule.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/modules/build/SwappableSlotModule.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/modules/fluid/TankModule.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/upgrades/melee/PiercingModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/hook/build/VolatileDataModifierHook.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/modules/build/ModifierTraitModule.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/modules/build/SetStatModule.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/traits/general/OverlordModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/tools/context/ToolRebuildContext.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/slotless/OverslimeModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/upgrades/armor/HasteModifier.java (diff)
The file was modifiedsrc/test/java/slimeknights/tconstruct/library/tools/definition/ToolDefinitionDataTest.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/ability/tool/DuelWieldingModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/modules/build/VolatileFlagModule.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/traits/ranged/CrystalboundModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/ability/armor/ToolBeltModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/tools/definition/module/build/VolatileDataToolHook.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/hook/build/ToolStatsModifierHook.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/ability/tool/OffhandAttackModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/ability/armor/AmbidextrousModifier.java (diff)
Commit ede2b7cb3161923558760ecff312dc2b73713f6f by KnightMiner
Migrate overslime friend from volatile flag to a modifier tag

Was the only case of tool stats depending on volatile data in a currently used modifier. Ditching it lets me make volatile data run after tool stats instead
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/json/predicate/tool/HasModifierPredicate.java (diff)
The file was addedsrc/generated/resources/data/tconstruct/tinkering/tags/modifiers/overslime_friend.json
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/upgrades/general/OverforcedModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/traits/general/OvergrowthModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/slotless/OverslimeModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/data/ModifierProvider.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/traits/general/OverlordModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/TinkerModifiers.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/common/data/tags/ModifierTagProvider.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/traits/general/OvercastModifier.java (diff)
The file was modifiedsrc/generated/resources/data/tconstruct/tinkering/modifiers/overslime_friend.json (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/common/TinkerTags.java (diff)
The file was removedsrc/main/java/slimeknights/tconstruct/tools/modifiers/traits/general/OverworkedModifier.java
Commit 7990faf4cfeaa08215e5f29740f1e386af0fa10b by KnightMiner
Drop volatile data from tool context

The only hook it was properly populated for was tool stats, and this commit removes the last usage of it in tool stats in piercing (which is unused anyways, and dropping the volatile usage is a lot cleaner)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/modules/fluid/TankModule.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/tools/capability/FluidModifierHookIterator.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/tools/nbt/ToolStack.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/client/ModifierClientEvents.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/ability/armor/ShieldStrapModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/ability/armor/ToolBeltModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/tools/context/ToolRebuildContext.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/tools/nbt/IToolStackView.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/tools/nbt/IToolContext.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/upgrades/melee/PiercingModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/ability/ranged/TrickQuiverModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/tools/capability/ToolFluidCapability.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/upgrades/armor/ItemFrameModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/impl/InventoryModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/recipe/modifiers/adding/IDisplayModifierRecipe.java (diff)
Commit 5f71a56f31516ea1b7dc7ed6f9a813c827781e60 by KnightMiner
Switch to modifier entry for process loot hook

Still need to either ditch that or put it in a proper hook...
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/ability/tool/AutosmeltModifier.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/library/modifiers/Modifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/upgrades/melee/SeveringModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/common/TinkerTags.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/ModifierLootModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/ability/tool/MeltingModifier.java (diff)
Commit 6aa2b473f0c5194915b66451ca894e85aed14ec7 by KnightMiner
Stat builder improvements

Allow fetching the current value of a stat (base or multiplier) in the modifier stat builder
Allow access to the modifier stat builder in the stat's build method
Will let you do weird stuff like a stat conditioned on another stat (future overslime stuff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/tools/stat/MaxToolStat.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/tools/stat/ModifierStatsBuilder.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/tools/stat/FloatToolStat.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/tools/stat/IToolStat.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/tools/stat/ToolTierStat.java (diff)
Commit 63b5de9f29774b83922bea3708e62b7b9bd4785c by KnightMiner
Make overslime use a stat instead of volatile data for capacity

Gives us free access to all relevant modules for stats and non-priority based multipliers
Took the opportunity to cleanup duplicate methods on overslime modifier, and to migrate the methods on the base modifier to modifier entries
TODO: decide whether I am satisfied with overcast affecting overlord
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/recipe/modifiers/adding/OverslimeModifierRecipe.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/traits/general/OverlordModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/upgrades/general/OverforcedModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/traits/general/OvercastModifier.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/OvergrowthModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/modifiers/impl/DurabilityShieldModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/client/OverslimeModifierModel.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/slotless/OverslimeModifier.java (diff)
Commit d1d590778fee53cbf165499fe3e8f540c7d18b71 by KnightMiner
Move to a cleaner solution for forcing offhand unarmed attacks to 4.0 attack speed
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/ability/armor/AmbidextrousModifier.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/modifiers/ability/tool/OffhandAttackModifier.java (diff)
Commit 8d34b27932346d51569d695ad69261932f6f0ff1 by KnightMiner
Ditch base stats on the tool definition data

Base stats now only exist in testing, outside of testing everything uses the builder
The file was modifiedsrc/test/java/slimeknights/tconstruct/library/tools/definition/ToolDefinitionLoaderTest.java (diff)
The file was removedsrc/main/java/slimeknights/tconstruct/plugin/jsonthings/item/DummyArmorMaterial.java
The file was modifiedsrc/test/java/slimeknights/tconstruct/library/tools/definition/UpdateToolDefinitionDataPacketTest.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/tools/definition/ModifiableArmorMaterial.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/plugin/jsonthings/FlexItemTypes.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/library/tools/definition/ToolDefinitionData.java (diff)
The file was addedsrc/main/java/slimeknights/tconstruct/library/tools/item/DummyArmorMaterial.java
The file was modifiedsrc/test/java/slimeknights/tconstruct/test/TestHelper.java (diff)
The file was modifiedsrc/test/java/slimeknights/tconstruct/library/tools/definition/ToolDefinitionDataTest.java (diff)
Commit d450b1d21cb87b288bcb0dc436154757403bfec8 by KnightMiner
Migrate overcast and overforced to JSON

Overlord requires capabilities beyond what the stat boost module supports so its stuck in a module for now
The file was addedsrc/generated/resources/data/tconstruct/tinkering/modifiers/overforced.json
The file was removedsrc/main/java/slimeknights/tconstruct/tools/modifiers/traits/general/OvercastModifier.java
The file was removedsrc/main/java/slimeknights/tconstruct/tools/modifiers/upgrades/general/OverforcedModifier.java
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/data/ModifierIds.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/data/material/MaterialTraitsDataProvider.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/data/ModifierProvider.java (diff)
The file was addedsrc/generated/resources/data/tconstruct/tinkering/modifiers/overcast.json
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/TinkerModifiers.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/tools/data/ModifierRecipeProvider.java (diff)
The file was modifiedsrc/main/java/slimeknights/tconstruct/common/data/tags/ModifierTagProvider.java (diff)