Skip to content

3.8.3.39 for 1.19.2

Compare
Choose a tag to compare
@KnightMiner KnightMiner released this 20 May 08:16
· 109 commits to 1.19.2 since this release

First Beta release for 1.19.2. API should not break after this point, if it does feel free to open a bug report. This means it is fully safe for addons to update.

There may still be balance changes in future builds, want to finalize a couple things before marking this as release.

Materials

  • Adjusted the handle stats for several materials in light of the updates to tool formulas.
  • Updated wood variant palettes to better match their planks (was based more on logs before).
  • All tool heads now repair the full amount given the material, instead of lower scaled heads repairing less. As an example, a cleaver with an iron blade and a stone plate no longer reduces stone repair to 33% (though stone does still repair less than iron).
  • Composite recipes are no longer valid if the result matches the input. This prevents casting molten glass on wrought iron to get wrought iron without disallowing creating wrought iron from raw iron.

Armor

  • Slimeskulls now tint the skull based on the embellishment color instead of always purple.
  • Shield casting now supports material composite recipes by pouring the second fluid on the shield. Note the fluid needs to not also be a valid shield plating option else it will just swap the base material (currently no such conflicts exist but a example would be if glass plating was added).
  • Fix recipe conflict between nahuatl shield cores and obsidian plating.
  • Fix tanned trait not reducing damage to 1 when the armor has custom protection types.
  • Fix shield stats getting reset to default.

Modifiers

  • Added Wings, allowing any chestplate to get elytra like behavior. Costs 2 ability slots (meaning plate maxes out its slot usage to get wings).
  • Half the amount of diamonds needed for revitalizing, and remove the max level.
  • Fix many modifier recipes checking the trait level for their requirements.
  • For some recipes (e.g. tilling or bouncy), they will continue to check the trait level in lieu of hardcoding the list of "tools that already have it". This means they will show up in JEI tool lists, but also means addons can avoid getting the relevant modifiers twice.
  • Fix tank modifier models applying an offset to the fluid and not rendering the non-fluid image.

EFLNs

  • Cleanup EFLN explosion code to be more consistent with vanilla explosions
  • While the blasting behavior is still the same, it no longer explodes over multiple ticks (as the explosion was way too small to bother with such optimizations).
  • Update entity pushing and damaging behavior to be more consistent with vanilla (though it still does less damage than a typical explosion).
  • The explosion should fire all the expected events for other mods detecting explosions.
  • Reduce the strength of the explosion by 33% to make it closer to TNT (since its already superior to TNT in most other ways).

Fluid behavior

  • Made fluids do something more than default Forge fluid behavior.
  • "Cool" fluids all can be swum in and extinguish fires.
  • "Hot" fluids all light entities inside them on fire, with varying fire burn times and damage per second.
  • Many fluids apply potion effects to entities inside them.

Misc

  • Removed mud bricks as vanilla has mud bricks now. Kept the old texture to potentially use on a new block variant in the future.
  • Added a page to puny melting about making sand casts in the part builder.
  • Fix various typos.

API

  • ModifiableItem no longer forces the stack size to 1 in favor of the tool properties stack size. We notably use this for daggers (no longer need a custom class). You may need to set the max stack size if you were not before.
  • ModifiableBowItem and ModifiableCrossbowItem are now part of the library.
  • Removed ModifiableStaffItem (and its Json Things equivelent) in favor of ModifiableItem supporting left click interactions (provided the tool is in the tag).
  • Material render infos can now datagen including alpha, since a few places that use the color support alpha (and future Minecraft will as well).
  • Make modifier models accept a consumer for the quads instead of returning a quad list.
  • Migrate process loot method to a modifier hook. This is the last method planned for migration.
  • Fix removal hook not being called for modifier traits in all relevant cases that remove modifiers. Note that the hook might not get called if a modifier is added causing the removal of a modifier trait (e.g. a trait that only exists at specific modifier levels). If you encounter such a case, report it on GitHub with details on what you are doing that caused it.

Fluid modifiers

  • Reworked tank module significantly.
  • Instead of a modifier adding a tank module with some complex logic to ensure only one of them actually runs, modifiers just add tconstruct:tank_handler as a modifier trait.
  • Instead of setting the capacity as a volatile integer, now use a tool stat tconstruct:tank_capacity.
  • For the helper methods for working with fluid on a tool, see ToolTankHelper.
  • There is no direct support for adding custom ToolTankHelper instances in JSON as you need to register a custom stat and alike, however its pretty trivial to mirror the stuff we did in Java code for a custom tank. Figured it was not worth providing JSON impl when its a very little used feature.

JSON

  • Armor added in Json Things now properly gets the broken item predicate.
  • Modifier recipes can now choose whether to check the trait level or just recipe added modifiers.
  • Added tconstruct:modifiable/armor/golden item tag for armor that can receive golden (instead of hardcoded blacklist).
  • Added tconstruct:modifiable/bonus_slots for tools that can receive extra modifiers from gilded, writable, rebalanced, and alike. This will in the future allow tools that have materials but no modifiers, but notably requires addons to add the tag to their tool to continue allowing those modifiers.
  • Remove the tconsturct:default modifier serializer, just use tconstruct:composable (all the fields default to the same thing as tconstruct:default did).
  • Added a field to composite part casting to specify a conflicting material stat type. If set, and the fluid casts into a material that supports that stat type, the composite recipe will not match. Prevents conflict with tool casting recipes.
  • Added tconstruct:burning_liquid and tconstruct:mob_effect_liquid block types for Json Things support.

Armor Models

  • Now controlled by resource packs via assets/<namespace>/tinkering/armor_models
  • Can define fixed layers (which can be conditioned on a modifier), dyed layers (pulling a modifier color), and material layers (either embellishment or tool part).
  • Armor models support wings on chestplates, conditioned on having the wings modifier.
  • Armor models entirely replace MaterialArmorItem and MaterialArmorModel, so those have been removed.

Full Changelog: v3.8.2.32...v3.8.3.39