Skip to content

Releases: SlimeKnights/TinkersConstruct

3.8.4.50 for 1.19.2

18 Sep 18:44
Compare
Choose a tag to compare

Modifiers

  • Soulbound now is crafted using echo shards instead of totems or nether stars. Should make it more available and ties in nicely with the new worldgen.
  • Added soul belt, a pants modifier that causes your entire hotbar to remain with you on death.
  • Added swiftsneak modifier, works just like the vanilla enchantment. Applied using sculk sensors.
  • Unburdened (bamboo's trait) now works on armor, useful for addons.
  • Modifier variant names now show in JEI.
  • Chorus as a shield material now grants enderclearance instead of enderference. Instead of preventing the attacker from teleporting, it randomly teleports the attacker.
  • Fixed wrong icon for reinforced modifier
  • Fix splashing and blocking being applied to tools that lack durability.
  • Fix some potential cases for tools with no durability to get damaged, causing them to "break".
  • Fix whitestone's stoneshield not functioning.
  • Fix soulspeed not functioning.
  • Fix melting modifier duplicating the stored fluid under some circumstances.

Rebalanced (trait)

  • Rebalanced now has a new variant, trait, crafted using enderslime and manyullyn.
  • Tools with materials with this modifier will copy the traits of the main tool part on the tool (typically one of the heads).
  • Causes slimestaffs to grant 1 level of reach (reference to enderslime staffs starting with reach as a trait)
  • Flint and brick grants another level of scorching.
  • Slime boots grant another level of leaping.
  • Slimeshells grant another level of shulking.
  • Other tools (notably travelers gear and slimelytras) have no traits that could be copied, so they don't support this variant of rebalanced.

Tools

  • Modifier extraction now works using a crystal of the appropriate type with a wet sponge. Works like the dragon breath recipe, but is type specific and pre-end.
  • Extracting enchantments via enderslime crystals now returns the tool minus the one enchantment instead of clearing all enchantments.
  • Travelers gear now starts with the tanned trait, reducing durability loss.
  • Added stone parts for plating to make cast creation easier. These stone parts cannot be used to create armor, but otherwise work like other tool parts (made in the part builder, can create casts).
  • Fix shields being held too high when blocking.

Smeltery

  • Allow casting by dumping a fluid item into a casting table. Also allows fluid pickup using the same method. On the odd chance you wanted the fluid item in the table, you can do so via hoppers or a scorched table.
  • Make part swapping casting repair tools.
  • Part casts now show material cost in the tooltip.
  • Fix spectators being able to change fluid order in a smeltery.

Improved entity melting

  • Zombies and husks now melt into iron
  • Drowned now melt into copper
  • Piglins and zombified piglins now melt into gold
  • Frogs and shulkers now melt into potions of leaping
  • Bats and glow squids melt into potions of night vision
  • Phantoms melt into potions of slow falling
  • Ghasts and axolotls melt into potions of regeneration
  • Polar bears, panda bears, ravagers, and zoglins melt into potions of strength
  • Striders melt into potions of fire resistance
  • Dolphins, foxes, horses, donkeys, mules, llamas, and ocelots melt into potions of swiftness
  • Turtles melt into potions of the turtle master
  • Squids and pufferfish melt into potions of water breathing

Misc

  • Added a new JEI category for tool crafting in the tinker station or anvil (thanks paypur!)
  • JEI now shows variant names of swappable modifier recipes, such as rebalanced.
  • Correct disguise modifiers always showing "I" after the level, since they typically have just 1 level.
  • Fix slimy leaves being able to suffocate players
  • Fix JEI crafting table transfer failing if a table has a side chest
  • Fix many language errors and book errors. There are probably more; if you find any report them to #5201.

Translations and language

  • Update Japanese translation (thanks koh-gh!)
  • Update zh_tw translation (thanks StarlightCraft!)
  • Update Turkish translation (thanks imsi32!)
  • Update Chinese translation (thanks Cactusstudent!)
  • Update German translation (thanks maxomatic458!)

Technical

  • Added option to tool modifiers to force rendering of a modifier model. Useful mainly for those that display extra data such as tanks.
  • Remove special casing of bamboo in swords, since Forge added support for this via tool actions.
  • Added new modules for "wrench instant breaking", which make a block break as fast as possible without instant break. This may get used in a future tool, though that design is not yet finalized.
  • Improve efficiency of modifier recipes matching for many recipes.
  • Introduce LazyToolStack to make it easier for recipe outputs to work. This introduces a small API break for modifier worktable recipes. Will eventually be updating modifier recipes with this change on 1.20.

3.8.3.39 for 1.19.2

20 May 08:16
Compare
Choose a tag to compare

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

v3.8.2.32

13 May 06:40
Compare
Choose a tag to compare
v3.8.2.32 Pre-release
Pre-release

Hopefully should be the last major API changes. Marking this as an alpha mostly as it needs more testing, but addons should have a lot less risk of breaking when porting to the API from this alpha.

Plate Armor rework

  • Plate armor now has 2 tool parts instead of being made in the crafting table.
  • Plating comes in four variants for helmets, chestplates, leggings, and boots and provides the majority of stats.
  • Maille has a single variant used for all 4 armor pieces. It has the same set of traits as plating but no stats.
  • Plating is made from metals (including gold!) and ceramics (seared stone, scorched stone, or obsidian).
  • Maille is made from anything valid for plating plus leather or ancient hide.
  • While maille can be created in the part builder and via casting, plating can only be created via casting. To aid this, sand casts can now be created in the part builder by placing sand in the pattern slot. This is in addition to creating them in casting tables.
  • All available materials have traits that are effective on armor, full list coming soon to the book.
  • Since golden is now added to plate via the gold material, you can no longer apply golden to plate armor.
  • Since plate can be created with overworld materials in the tinker station, its now covered in puny melting instead of fantastic foundry.

Shields

  • Plate shields are now created by casting molten metal or stone on a shield core
  • All non-composite variants of armor plating work as the casting
  • Shield cores can be made out of wood, including bamboo, nahuatl, and the new blazewood
  • Shield cores just provide traits, while shield plating provides durability, toughness, and knockback resistance
  • To reduce recipe overlap, travelers shields are now made from leather and patterns instead of copper and wood. As a result, they now use wood embellishments for the inner layer and dye the outer layer

Protection Modifier rebalance

  • All 5 protection types now use wood patterns as the base instead of obsidian panes.
  • Projectile protection is now made from iron instead of amethyst bronze.
  • Blast protection is now made from obsidian instead of emerald.
  • Projectile protection now boosts knockback resistance instead of reducing mob visibility.
  • Melee protection's secondary ability now boosts movement speed when using shields or bows instead of attack speed.
  • The emerald modifier now grants toughness instead of knockback resistance.
  • Durability reinforcements now use emerald instead of iron.

Modifiers

  • Modifier crystals and modifiers in JEI now show the modifier description in the tooltip
  • Fix a few armor modifiers applying to held modifiers when they shouldn't, such as magnetic
  • Fix double jump not working
  • Fix magnetic not triggering on bow firing
  • Fix momentum level scaling being broken

Chain removal

  • Removed chain tool material
  • For melee/harvest tools, the existing rose gold binding replaces it
  • For bows, the new rose gold bowstring replaces it. Created by casting molten rose gold on string tool parts
  • For the cool palette, the new wrought iron material variant replaces it. Wrought iron requires pouring molten glass on iron.

Book

  • Plate armor was moved to puny melting alongside travelers
  • Puny melting, mighty smelting, and fantastic foundry now have sections on armor materials. Puny melting is notably both tier 1 and 2 (since you cannot create armor without casting)
  • Encyclopedia now has 1 section per material type (melee/harvest, ranged, armor) instead of 1 per tier per type
  • Encyclopedia no longer uses advancements to unlock sections; all start unlocked. This is because after merging materials, only modifiers were left unlocking making the feature a little lack-luster
  • Material pages will n o longer show composites from themselves (e.g. casting water on copper to get oxidized copper)

Misc

  • Furnaces, brewing stands, melters, and foundries are now blacklisted from the side inventory for crafting stations and tinker stations.
  • Silky cloth is now crafted by pouring rose gold on cobwebs
  • Severing on spiders now can drop cobwebs
  • Updated slimes to work with frogs
  • Fix small tool models having z-fighting in some cases
  • Fix small tool models not processing material luminosity
  • Fix stray slimeskulls having no face texture
  • Fix platforms defaulting to waterlogged when placed with commands

API

  • Cleanup material ingredient, now supports material tags (though the change that led to this refactor ended up being reworked, so material ingredients are still not used to their potential)
  • Use data generator to create cast and tool part models since they are mostly just repetition of a texture name
  • Multiblocks (e.g. the smeltery) now store their positions in NBT relatively. This should make them friendlier to being relocated by things like structure blocks.
  • Material sprite generator now supports animated materials
  • Protection module builder now defaults to CAN_PROTECT
  • Modify damage hook no longer requires shields to be blocking, as that is almost never the case in that hook
  • Fix ordering of part sprites in the material generator being inconsistent for tool models

Models

  • Added a builder for part models for datagen
  • Tool brokenness is now handled via an item override instead of being special cased in the tool model. This should simplify modifier model code and give more flexability, though its a bit more JSON
  • Added a data generator to help make broken and blocking models for tools, since they are all the same general structure.
  • Unknown materials now render as an outline instead of solid white.
  • Tool models now pass unknown instead of null for missing materials.
  • Item display on blocks (casting, crafting station, etc.) now use custom transform types allowing you to change how they display in resource packs.

Modules

  • ModifierModule#defaultHooks moved to HookProvider#defaultHooks to make it easier to find for tools. Unfortunately static interface rules forbid that being an easy reference update.
  • Move TooltipDisplay to BasicModifier since it was weird the modifier used an enum defined in a subclass.
  • Renamed ModifierHookMap to ModuleHookMap and ModifierHook to ModuleHook for the sake of tool modules.
  • Renamed TinkerHooks to ModifierHooks, they are now registered to ModifierHooks#LOADER.

Tool Definitions

  • Now uses modules and hooks instead of a bunch of hardcoded fields. This provides a lot more flexibility as addons can more easily define custom tool behavior.
  • Notable hooks granting new functionality: volatile data, material repair and missing materials
  • Material repair for non-multipart tools is notably defined using MaterialRepairModule
  • Tool definition random material tier is now part of the default material module
  • Tool definition stat provider is now part of the material stat or part stat module.
  • With the above changes, tool definitions no longer directly contain data, its all handled by JSON.
    In the future, this set of changes may allow "global tool definitions" which add extra modules to all tools. Allows things like a global trait, a global stat multiplier, or adding behavior to existing tools.

Tool Stats

  • Material stats (additive and multipliers) are now applied at the same time as modifier stats.
  • This means a handle multiplier will now multiply modifiers, e.g. a mining speed multiplier will affect haste.
  • Goal was partly simplicity of API, but mostly just reducing the difficulty in explaining the formulas.
  • On average tools will likely be a bit stronger due to this change.
  • Its possible handles will get further changes in the future to make bow limbs and handles more consistent.
  • Modifier stat builder now supports fetching a partially built stat
  • Tool stats can now access the modifier stat builder object on final stat build.

Material Stat Types

  • Now use loadables instead of GSON for parsing, should reduce boilerplate for packet buffers and allows reusing a single class for multiple types.
  • Bowstrings and bindings are both part of StatlessMaterialStats now, attempted to deprecate the old locations but it was not always feasible.
  • Handle stats now uses a builder instead of a bunch of with methods.
  • Material stats are now handled by the stat object directly.
  • Removed MaterialStatsBuilder and IToolStatsProvider due to the above. As a result, any stat types can be combined on a tool.
  • Tools now use stat scales instead of weights for parts, which allows going above 1 in the total amount notably. See this commit for more details.

Tool context

  • No longer contains stats due to the stat rework changes above.
  • No longer contains volatile data, as that was only populated for a single hook.
  • Added a new tool stack predicate for predicates wanting that additional context.
  • All usages of ToolRebuildContext in hooks are now IToolContext

Modifiers

  • Volatile flag modifier now supports conditions, used to migrate offhanded to JSON
  • Overslime friends is now a modifier tag instead of a volatile flag
  • Overslime capacity is now a tool stat, allowing migrating overcast and overforced to JSON
  • As a result of this, overcast now multiplies overlord
  • Process loot hook now takes modifier entry as a parameter. Still not sure what I'm going to do with that one...
  • Protection enchantment subtraction is now a new module instead of part of the protection module. Reduces JSON boilerplate with repeating the enchantment settings.
  • Armor level and armor stat modules can now be used in JSON, due to a registry of standard types. This means modifiers such as haste are now defined in JSON
  • Added effect immunity module, implements mithridantism

**Full Changel...

Read more

v3.8.1.16 for 1.19.2

08 Apr 05:33
Compare
Choose a tag to compare
v3.8.1.16 for 1.19.2 Pre-release
Pre-release

General

  • Prevent pick block from deleting tinker tools (#4939)
  • Fix invalid fluid handler on ichor bottles which broke several mods in weird ways (#5202)
  • Fix incremental recipes returning wrong leftovers
  • Fix entity ingredient in JEI conflicting with Create (#5203)
  • Fix longbow ignoring charge time (#5206)

Fluid Effect Modifiers

  • Fluids can now affect blocks, currently doing things like placing snow or fire or leaving potion effect clouds
  • Spilling now only affects melee entities
  • Added bursting for applying fluid on counterattack (previously part of spilling)
  • Added splashing for applying fluid on interact (previous part of spilling). Works on blocks and entities
  • Spitting now can affect blocks
  • Slurping no longer slurps when you cannot slurp the fluid
  • All fluid effects are more conservative, consuming less fluid if they only apply a partial effect

API

  • Modifier and LazyModifier are now IdAwareObject, makes some method overloads simplier
  • Revamp spilling AP

Incremental

  • Incremental modifiers are now handled through the modifier entry instead of the modifier/modifier modules.
  • This makes it way more efficient and way more practical to use
  • To get the incremental level, use ModifierEntry#getEffectiveLevel. Can also use ModifierEntry#intEffectiveLevel in integer contexts.
  • When modifying modifier entries, make sure to use the provided helpers like merge, addAmount, and withLevel to preserve the incremental amounts.

Fluid effects

  • Revamp spilling effect API into fluid effects
  • Now support effects on hitting blocks, not just entities
  • Much better handles the different needs among all the fluid modifiers

Full Changelog: v3.8.0.14...v3.8.1.16

3.8.0.14 for 1.19.2

03 Apr 02:25
Compare
Choose a tag to compare
3.8.0.14 for 1.19.2 Pre-release
Pre-release

Obligatory Alpha Warning

This build is an alpha. Alpha means things might break. Specific points:

  • We will do our best to prevent worlds from breaking, but make backups of worlds just in case.
  • Do not include this build in a modpack unless you plan to stick around on 1.19.2 long enough for us to get a stable release out. We don't want to constantly get reports of issues we have long since fixed because a modpack did not make a stable experience.
  • If you are an addon author, know we make no API stability guarantees until we make a beta. Check out the Roadmap for specifics on what we plan to change. Feel free to ask on our discord if you have any questions on updating.

Specific changes in this build are below.

Blood rework

After thinking it over for awhile, blood does not really have a good place in TiC 3. Originally in TiC 1, blood was a slime substitute with a few funny plans, but mostly was a placeholder for future content that never got implemented. TiC 3 has so many ways of obtaining slime that a slime substitute is less necessary, and most of its plans were scrapped.

  • Removed blood slime variant, including the blood block, blood balls, congealed slime, and the blood fluid.
  • The fallback for mob melting is now liquid soul (also obtained from melting soul sand). Figured 1 underutalized fluid is better than 2.
  • Blood embellishments still exist, crafted using bloodshroom planks. Other slimy planks craft the appropriate embellishment.
  • Blood cake now uses honey in place of blood, providing much nicer flavor.
  • Piggybackpacks are now crafted using skyslime on a saddle.
  • Blood foliage (such as bloodshrooms) is unaffected, except getting the word "slimy" replaced with "bloody".
  • Blazing blood is also unaffected by this change.

Meat soup

  • Edible animals such as cows, pigs, rabbits, fish, and sheep melt into meat soup instead of blood.
  • Can be poured into wooden bowls to use as a food, or used with modifiers such as slurping.
  • Since its just farm animals, there are no downsides to eating it unlike blood.
  • Used in alloying pig iron alongside honey and iron.

Venombone

  • Replaces bloodbone as we need blood for bloodbone
  • Created by pouring venom (from melting spiders and spider eyes) on bone or bone tool parts.
  • Stats are the same as bloodbone used to be, putting it in tier 2 melee.
  • Trait boosts damage when poisoned, higher levels of poison grant more damage.
  • Consider drinking liquid venom, which grants poison and strength.
  • Raging (bloodbones trait) will return on a different material in the future.

Smeltery

  • Ducts (the filtered drain) are crafted using gold instead of cobalt. This is to free up cobalt for use in the sublimery (and allow earlier access to filtered drains).

Tools

  • Added magma embellishement from magma blocks and magma cream.
  • Added mangrove as a new wood variant
  • Strong bones and boon of sssss will no longer function if cheated onto a non-helmet. before they partly functioned but some features required helmets.
  • Removed slime slings, they were replaced by flinging, springing, bonking, and warping (from 1.18). Apply to a slime staff for the most comparable experience.
  • Fix conditional mining speed module not checking the holder condition (affects airborne trait)
  • Fix being able to cast water on oxidized copper to make oxidized copper
  • Fix tank module serializer having the wrong default keys
  • Fix extra ingredients in tool recipes being ignored in the tinker station under some circumstances
  • Fix feather falling not being marked as an incremental modifier
  • Fix part builder not always updating the material value when materials change

Slime Staff aesthetics

  • Slime staffs no longer receive metal embellishments.
  • Instead, they receive wood embellishments using 2 planks and a pattern, which changes the wood variant of the handle.
  • Dyeing now changes the color of the crystal (previously was the handle).
  • The metal band is now the part of the texture which remains the same regardless of embellishments and dyeing (was the crystal before).
  • This should overall allow better matching your staff look to the modifier thematics, and also sets up wood embellishments for future content.

World

  • Added ichor cake, it is currently uncraftable but that will change in the future.
  • Skyslime islands no longer spawn with congealed earth slime in the lakes, instead having just congealed skyslime.
  • Blood islands no longer spawn with congealed blood, instead having just congealed ichor. The lakes also now have magma blocks at the bottom.
  • Removed the earthslime mob, it only existed to work around a Minecraft limitation that prevented us from spawning vanilla slimes on the islands. Forge has a new API that fixed that. Only change in behavior is vanilla slimes cannot spawn with armor.

Emberbark

  • The end slime island trees have been revamped
  • Trees are now styled after mangrove trees, meaning leaves no longer drop saplings, but can be bonemealed to grow "propagules".
  • Trees also notably will grow enberbark roots under the stem, which can grow though congealed slime making slimy enderbark roots.
  • Slimy enderbark roots can also be created by casting slime onto enderbark roots, and can be used as a slime dirt alternative. They may get more uses in the future.
  • Enderbark is now used to craft enderslime staffs, and works as a slimewood material variant.

Datapacks and resource packs

  • Fluid ingredients referring to static fluids now use the key fluid instead of name for consistency with item ingredients and fluid stacks.
  • Use no-load data key to stop sections with no data file from erroring. Apparently this was a problem on 1.18 but it did not produce visible errors?
  • And, Or, Any, and Inverted predicates are now registered under mantle instead of tconstruct for all types.
  • Defaulting fields in JSON will now often not include the default in our provided resources (e.g. most uses of mantle:any)
  • Ore melting recipes can now specify ore rate types of default (same behavior in byproduct as not specifying) and none (no boost on the fluid or byproduct from ore config). Note if you are just going to none or default everything, you might as well not use the ore loader.

Tools

  • Modifier requirements are now defined in the modifier JSON instead of the recipe JSON. Recipes that just wanted a lower level of themselves are defined using the new min level field.
  • Modifier recipes no longer have a output level, instead restricting to 1. This was done as it caused issues with incremental modifiers and modifier removal when higher than 1, and was never used in our content.
  • Removed tconstruct:tool predicate in favor of the improved tconstruct:tool_stack predicate.
  • Simplify JSON for variables: mining speed, melee damage, and conditional stats all automatically have access to tool variables now. Mining speed now automatically has access to conditional stat variables.

Tags

  • Moved tconstruct/modifiable/melee_or_harvest to tconstruct/modifiable/loot_capable_tool as all recipe usages got switched to compound ingredients (as we wanted more fine grained control between unarmed and ranged also wanting many modifiers). You probably should migrate to fine grained control instead of the loot tag unless doing loot.
  • Removed tconstruct:tooltips/water as we did not end up encountering any other bottleable water variants, the default behavior handles buckets and milibuckets.

Models

  • Fallback textures for large tool models with no parts are now large_tool and large_broken instead of tool_large and tool_broken
  • Replaced CopperCanModel with FluidContainerModel. Its basically a specialized version of forge's fluid container model, ditching covers (which we don't need) but handling fluid stacks and static fluid tints.
  • Moved fluid textures from textures/block/fluid/ to textures/fluid and organized into folders.
  • Fluid textures are now controlled by files in mantle/fluid_texture/ instead of the block model, means JSON exists for powdered snow and potion fluids now.
  • Bow and crossbow charging states are now under tconstruct:charge and tconstruct:charging instead of the pull IDs. This is for consistency with non-bows.

Worldgen

  • Slime islands are now registered in JSON, this allows modifying them or adding your own islands more easily.
  • Cobalt ore and geodes are now registered in JSON, meaning their config options were removed. Forge has documentation on how this registration works which is applicable to modpack makers.

Books

  • Fix tool pages in materials and you loading from the wrong folder
  • Fix book index links not working for sections with modifiers in multiple groups
  • Fix tooltip overlap on material pages

API and technical

  • Added ModifierHookProvider, interface to create modules that don't serialize to JSON. It just adds default hooks so you don't have to manually specify them in the module map builder.
  • Added BasicModifier, extraction of the base class for ComposableModifier which includes a builder for registering a modifier with modules statically.
  • Added modifier priority command, to list all modifiers, the hooks they implement, and their priority value. Useful for ensuring hooks run in the right order.
  • Moved modifier usage command from /tconstruct modifier_usage to /tconstruct report modifier_usage. Partly for organization, partly to make tab completion on /tconstruct modifiers easier.
  • Datagen now sorts the keys due to a change Mojang made. This may cause some files with trivial updates when you regenerate data.
  • Casting recipes now pass their serializer in as a constructor parameter to handle basin/table recipes instead of using subclasses...
Read more

3.7.1.155 for 1.18.2

01 Mar 08:05
Compare
Choose a tag to compare

See the 3.7.0 changelog for a more complete list of changes in the 3.7 update. This build is a hotfix to fix a critical crash related to bows.

  • Book tool pages now show the "extra requirements" for tool crafting alongside the tool parts
  • Fix powdered snow buckets deleting the bucket when dumping in a container
  • Fix a crash related to conditional stat modifiers on bows
  • Fix some missing generated textures for slime staff embellishments
  • Fix miscellaneous typos

3.7.0.152 for 1.18.2

28 Feb 19:36
Compare
Choose a tag to compare

This will be the last major content update for 1.18.2. From this point on we will be focusing on 1.19.2, though we may return to 1.18.2 for bugs and technical changes. Requires a Mantle update.

This update implements several new APIs for addons to use which replace some of the older APIs. The old APIs are left in place for 1.18 so no addon should break (make a bug report if one does), however 1.19 will ditch the old APIs.

Tools

  • Renamed "Attack Damage" to "Melee Damage" to make it more clear it does not affect arrows
  • Renamed "Projectile Damage" to "Projectile Power" as some new modifiers use the stat for non-damage reasons
  • Renamed "Harvest Tier" to "Mining Tier" as all melee stats started with "Melee", so it makes sense mining stats start with "Mining"
  • Excavators now apply the "bonk" particle on attack, from frypans in TiC 2
  • Pickadzes no longer get bane of sssss for free, and mattocks no longer get sticky. This was partly done as sticky is being removed, and partly as both tools do so many harvest things that the melee trait feels kinda tacked on.
  • Kamas once again start with tilling like they did in 1.16. This means either a mattock or a kama lets you till, giving a bit more flexability in getting that important modifier. If you manually added tilling to your kama, consider salvaging it using the modifier worktable
  • Gave skyslime, earthslime, and ichor staffs different ranged weapon stats.
  • Fix indestructible tools despawning after 10 minutes

Enderslime Staff

  • New staff variant made from enderslime crystals, nahuatl, and netherite. Repaired with nahuatl
  • Starts with reach 2, 3 upgrade slots, 1 defense slot, and 2 ability slots
  • Higher block amount than other staffs save earthslime staffs
  • Recipe may change as future content gets implemented

Modifiers

  • Emerald now grants a 50% repair bonus (sorta like the cultivated modifier)
  • Many ranged modifiers got the applicable tag adjusted to allow new modifiers to use the applicable modifiers. Some got broadened from BOWS to RANGED, some the opposite, and some special cased to allow staffs specifically.
  • Disallow applying a swappable modifier recipe (e.g. rebalanced) if that variant is already on the tool
  • Scope now works on crossbows and on staffs that are charging up
  • Bucketing now has the default priority, so you can reorder it more freely
  • Parrying on daggers now only works in the offhand, as it was providing undesirable results with dual wielding when used in the main hand
  • Fix tool belt salvage not having a max level
  • Fix too little fire protection on staffs and shields. The fire tick time reduction from fire protection requires modifying the vanilla enchantment, which is tied behind a config option just in case it breaks something.
  • Fix spilling effects not properly applying partial levels after level 1
  • Fix vanilla enchantments added via modifiers sometimes receiving arbitrarily inflated values on tools

Sling Modifiers

  • Added flinging, causes you to launch away from the targeted block (like earthslime slings)
  • Added springing, causes you to leap forward in the air (like skyslime sling)
  • Added bonking, causes the targeted mob to fly away (like ichor sling). On melee tools, bonking deals damage when targeting (like frypans in TiC 2)
  • Added warping, causes you to teleport forwards
  • All sling modifiers support using power and velocity to boost the distance, and can reduce draw time with quick draw
  • Flinging, springing, and bonking also are boosted by knockback, for when they are used on melee tools
  • In 1.19, slime slings will be removed in favor of these new modifiers.

Counter attack

  • Fiery and freezing now both work on armor as new counterattack effects
  • Freezing also works on melee tools now
  • Sticky is no longer craftable, will likely be removed in 1.19 as its just inferior freezing
  • Wetting now only applies if the damage is not blocked, notably meaning you won't consume fire resistance potions from fire damage if the effect is active.

Spitting

  • Launches fluid from the tools tank as a projectile that behaves like llama spit
  • Projectile applies an effect to the target
  • Can be applied to any tool that interacts on right click (mostly melee weapons and staffs)
  • Higher levels launch more fluid like multishot
  • Staffs can receive power to boost the amount of fluid in each shot (which makes the effect stronger)
  • Staffs can also receive velocity to boost the speed and range, and drawspeed to fire faster
  • Staffs can receive punch to boost the knockback of the fluid

Blocking

  • Can now be applied to longbows and crossbows to block while you charge up. Don't ask how you shoot straight from a sideways bow.
  • With tools that have modifiers that charge up (like sling modifiers or spitting), blocking can be applied to block as it charges.

Piercing rework

  • Costs pointed dripstone instead of cactus
  • Instead of dealing extra damage that ignores armor, now cancels 1 point of armor per level
  • Grants a flat melee damage boost of 0.5 per level
  • Reduced max level to 3; by combining vein hammers and bone that means a max of 9 levels
  • Renamed to pierce to better disambiguate from the vanilla enchantment
  • Thorns no longer grants piercing to unarmed attacks, unarmed uses the same pierce modifier as tools now.
  • Old behavior still exists under the ID tconstruct:piercing, with the new behavior under tconsturct:pierce. This also means old tools will still be using the old version of the modifier, you can use the modifier worktable to manually migrate if desired.

Smeltery

  • Added cheese, cast milk into a basin or ingot cast then wait several minutes for it to congeal. Can be used as a building block or eaten to restore a bit of hunger and remove a random status effect.
  • Made powdered snow a fluid so you can store it in tanks. May get a use in recipes in the future
  • Added tinted seared glass and tinted scorched glass, can be used to build a smeltery/foundry with windows without letting light through, because that might be useful
  • Added seared soul glass and scorched soul glass, can be used to build a smeltery/foundry but can also be walked though to make easy doors into the structure
  • Pistons now break seared tanks instead of being blocked, and dispensers can place seared tanks. Has some neat potential smeltery automation.
  • Fix scorched glass not being registered to its block entity properly. This could possibly cause issues breaking a foundry with a large window after a reload, however the lack of reports suggests that it somehow did not break anything?
  • Fix some recipes using tanks allowing filled tanks, causing the fluid to get consumed instead of the tank itself

Guide

Books

  • Added icons to modifier pages in materials and you.

  • Moved travelers gear pages from materials and you to puny smelting.

  • Book sections on tools and modifiers now load pages based on item tags/modifier tags, meaning its possible for addons to add new pages to the books.

  • Presently supported sections include materials and you (small tools), puny smelting (upgrades and slotless modifiers), mighty smelting (broad tools, abilities and defense modifiers), tinkers gadgetry (slimestaffs), and the encyclopedia (all 3 tool types, armor, and all 4 modifier types). First 5 books also have an armor section that shows if the tag is filled (materials and you/mighty smelting are hidden by default).

  • Filtered the tool lists on many modifier pages to show only tools relevant to the topic for modifiers that have different effects based on tool type. For instance, fiery works differently on bows vs swords, so now the bow page displays just bows in the tool preview.

  • Modifier pages no longer show "missing modifier" if the modifiers recipe is removed, should make the book more usable if packs change recipes.

  • Fix many typos across the books and language, probably added some new ones

Advancements

  • New Advancement: Netherite Tier - create a tool with the netherite harvest tier
  • New Advancement: Perfect Aim - create a bow with 1.0 accuracy
  • New Advancement: One Shot - create a melee weapon that does 21+ flat damage
  • Goal of these was mostly to test out some new datapack tool predicate features, will be useful in the loot modifier hook rework
  • Updated existing advancements with new materials and modifiers

Misc

  • Added support for Diet. Tasty now counts as eating Tinkers Construct bacon, while slurping fluids are all mapped to their related food item (with blood mapped to bottle o' blood and molten pig iron mapped to bacon).
  • Fix "large" cobalt ore veins averaging 4 blocks instead of 6 making cobalt slightly less common than it should be
  • Fix fluids tagged as water getting turned into water bottles (as the vanilla tags unfortunately do not represent water with mods)
  • Fix a crash with "School of Magic" which is entirely their fault (returning null from a vanilla nonnull method), but given its a trivial fix and that mod seems to be dead figured I might as well patch it
  • Fix multiple overlapping sounds when shift clicking in part builders or tinkers stations/anvils

Translation

  • Update Japanese translation (thanks koh-gh!)
  • Update Korean translation (thanks Sn0w0wl and gisellevonbingen!)
  • Update Ukrainian translation (thanks BetaCarotina!)
  • Update Chinese translation (thanks ChuijkYahus and Cactusstudent!)
  • Note that due to the timing of the translation updates and other book changes, even updated translations may still need some additional work. We are looking into a better way to process translations to make it easier to contribute and to get the updates faster.

Technical

  • You can now use overrides to add an existing material to a new stat type for the sprite generators.
  • Advanced tooltips now show material and modifier IDs for tools (though modifier ...
Read more

3.6.4.113

27 Apr 08:48
Compare
Choose a tag to compare

Tools

  • Make tool slot outline in containers more obvious
  • Velocity no longer increases inaccuracy of projectile weapons
  • Iron now uses magnetic as a trait instead of sturdy, experimental change
  • Fix a couple of dupe bugs related to stacked daggers
  • Fix possible duplication bug in the tool inventory container

Modifiers

  • Added Boundless: New ability modifier for shields to increase protection cap from 80% to more
  • Reduce all recipes using reinforcements to only cost 20 instead of 24
  • Revitalizing now has a cap of 5 on all pieces, use it wisely
  • Simplify fire protection, should be more consistent/reliable now
  • Make spilling cache concurrent to prevent possible crash
  • Prevent reflecting from letting you duplicate skeleton arrows
  • Make necrotic restore a flat 5% per level instead of the previous formula
  • Make sinistral take priority over punching with the crossbow
  • Stringly now can use string repair kits for repair
  • Cap knockback at 3
  • Cap severing at 3, and make luck boost the 5% per level to 6%, 7%, 8%, etc. instead of being a flat boost
  • Make zoom cheaper now to respect it being an upgrade
  • Nerf lightweight on bows a bit, that was way overtuned
  • Fix potential crash with reflecting and piercing arrows
  • Fix reflecting triggering when it shouldn't and ignoring higher levels
  • Fix reflecting not syncing projectile motion
  • Fix emptied tank daggers not stacking under some conditions
  • Fix sweeping edge at max level doing 1 more damage to edge targets than it should
  • Fix modifier icons not loading on some modpacks

Smeltery

  • Make seared and scorched ladders connect
  • Fix soup melting having too high melting time

Misc

  • Update JEI transfer support for modifier recipes
  • Prevent possible startup crash with tool color handlers
  • Remove outdated crafttweaker examples
  • General typo fixing
  • Fix some missing tags on slimy grass and ferns
  • Fix fancy frames allowing converting vanilla frames into fancy frames

3.6.3.111

14 Feb 17:25
Compare
Choose a tag to compare

Shields

Mechanics

  • Shields are crafted like armor, with two variants
  • Shields have a block amount stat, which determines the maximum damage it can block. If an attack does more damage than the max, it is reduced by the stat.
  • Shields also have a block angle stat, determining how wide of an area they protect. It ranges from 0 to 180 degrees (180degrees is vanilla shields)
  • Shields can receive armor, toughness, and knockback resistance. All three stats apply in either hand, even when not blocking

Modifiers

  • Shields can receive protection modifiers, which work identically to armor. This lets you further increase your protection amount to effectively protect against all 5 main damage types.
  • Shields can receive counterattack modifiers as upgrades. They only apply when blocking, but are twice as effective as on armor
  • Shields can receive interaction modifiers, which apply on left click like bows.
  • Shields can have their wood dyed and their metal embellished, to help them fit your armor set visuals
  • Shields can receive reflecting to deflect projectiles
  • Shields can receive wetting and spilling to apply fluids on hit

Travelers Shield

  • Crafted from copper and wood
  • Has 3 upgrade slots, 2 defense slots, and 1 ability slot
  • Blocks up to 10 damage per attack, with a block angle of 45 degrees
  • Allows the player to move at nearly full speed while blocking

Plate Shield

  • Crafted from cobalt and wood
  • Has 1 upgrade slot, 4 defense slots, and 1 ability slot
  • Blocks up to 100 damage per attack, with a block angle of 90 degrees
  • Starts with 2 toughness which applies even when not attacking

Blocking Modifier

  • Blocking is a modifier that can be applied to any held tool, enabling it to block like classic swords.
  • Most tools have a block amount off 5 with a block angle of 60 degrees

Parrying Modifier

  • Allows daggers to briefly block after attacking
  • Daggers block up to 10 damage at an angle of 60 degrees for about 2 seconds

Slime Staffs

Mechanics

  • Slime staffs are tools that do nothing. However, they start with at minimum 2 ability slots to make them do something
  • They are not melee tools, but do count as armor (meaning they can get an armor value from diamond, netherite, and alike)
  • They support interaction modifiers on both right click and left click. A worktable recipe lets you decide for each modifier where to use it

Modifiers

  • Slime Staffs can receive any existing interaction modifier, such as blocking, bucketing, pathing, or glowing
  • Slime Staffs given spilling use it on interaction, allowing you to apply spilling effects to a target without damaging it. When expanded, grants AOE spilling
  • Slime Staffs can also receive slurping, for applying effects to the player directly
  • Slime Staffs are "overslime friends", meaning they can receive overslime without penalty

Skyslime Staff

  • Made from skyroot, rose gold, and skyslime crystals
  • Starts with 5 upgrade slots and 2 ability slots

Earthslime Staff

  • Made from greenheart, cobalt, and earthslime crystals
  • Starts with 2 upgrade slots, 3 defense slots, and 2 ability slots

Ichor Staf

  • Made from bloodshroom, queens slime, and ichor crystals
  • Starts with 2 upgrade slots and 3 ability slots

Other tools

  • Disallow luck on chestplates. Too few people understood that it only worked on unarmed, which is a niche enough usecase that scrapping it in favor of clarity is good
  • General tools now support blocking as a modifier
  • Boots now support long fall to fully neutralize fall damage, requires feather falling IV.
  • Cleanup logic for respiration modifier
  • Wet sponges can now be used in modifier extraction when combined with enderslime crystals
  • Sweeping edge is now capped at 3 levels instead of 4
  • Fixed some weirdness with using modifier crystals and multi-level recipes such as luck and tool belt
  • Fix modifier crystals potentially breaking JEI on servers
  • Fix firing a bow with too little velocity deleting arrows
  • Fix "fast use item" (used by Tinkers' Things shortbow and the Traveler's Shield) causing super speed in some situations

Stackable Daggers

  • Daggers now stack to 2 when undamaged.
  • Crafting a dagger now yields 2 instead of 1.
  • While stacked, they cannot be used, but they can be modified; ideal for creating matched pairs of daggers as it provides a modifier discount.

Protection Rebalance

  • All conditional protection modifiers now grant 10% protection per level
  • Protection now grants a flat 5% per level, and is capped at 1 level per piece. This allows me to increase protection amounts without worrying you will go too high once you have draconic.

Rebalanced Modifier

  • This is not another rebalance, but rather a modifier called rebalanced.
  • Rebalanced grants +1 modifier slot, but you get to choose the type
  • All variants require gilded blackstone, or once you are late game dragon scales work just as well
  • To add +1 upgrade slot, you need to pay skyslime crystals and rose gold
  • To add +1 defense slot, you need to pay earthslime crystals and cobalt. This slot can be placed on most tools, taking advantage of the shield/staff defense slot mechanics
  • To add +1 ability slot, you need to pay ichor and queens slime. This also causes you to lose an upgrade slot.
  • If you try to apply rebalanced a second time, it will replace the original (no getting more than one slot from the modifier)

Misc

  • Add config option to suppress the invalid tool stack warning
  • Apply a hacky fix for Carry On wrongly firing a Forge event
  • Fix smeltery components not keeping textures when broken
  • Update Japanese Translation (thanks koh-gh)
  • Update Chinese Translation (thanks Cactusstudent and ChuijkYahus)

API

  • Added new recipe type for a modifier that has different slot requirements each level but the same inputs
  • Added improved API for modifiers that are used by charging the tool
  • Tool Definitions now support custom modules being registered to them, works similarly to modifier hooks
  • Update to latest Json Things, add ability to add staff like tools (used for shields)
  • Add scaled FOV modifier for FOV that scales with the slider
  • Added tool stat for movement penalty when using an item
  • Walking on snow is now controlled by a volatile flag instead of hardcoded into travelers boots
  • Tool crafting recipe now supports setting the tool output size and adding extra requirements beyond the parts

Shield Update Pre-release 1

03 Feb 08:41
Compare
Choose a tag to compare
Pre-release

This is a pre-release of the shield update for the sake of balance feedback. Some mechanics are subject to change. I will do my best to avoid breaking old worlds, but I cannot guarantee that old tools will not be broken before the full release (broken most likely means too few or too many modifier slots)

Shields

Mechanics

  • Shields are crafted like armor, with two variants
  • Shields have a block amount stat, which determines the maximum damage it can block. If an attack does more damage than the max, it is reduced by the stat.
  • Shields also have a block angle stat, determining how wide of an area they protect. It ranges from 0 to 90 degrees on both sides (90 degrees is vanilla shields)
  • Shields can receive armor, toughness, and knockback resistance. All three stats apply in either hand, even when not blocking

Modifiers

  • Shields can receive protection modifiers, which work identically to armor. This lets you further increase your protection amount to effectively protect against all 5 main damage types.
  • Shields can receive counterattack modifiers as upgrades. They only apply when blocking, but are twice as effective as on armor
  • Shields can receive interaction modifiers, which apply on left click like bows.
  • Shields can have their wood dyed and their metal embellished, to help them fit your armor set visuals

Travelers Shield

  • Crafted from copper and wood
  • Has 3 upgrade slots, 2 defense slots, and 1 ability slot
  • Blocks up to 10 damage per attack, with a block angle of 45 degrees
  • Allows the player to move at nearly full speed while blocking

Plate Shield

  • Crafted from cobalt and wood
  • Has 1 upgrade slot, 4 defense slots, and 1 ability slot
  • Blocks up to 100 damage per attack, with a block angle of 90 degrees
  • Starts with 2 toughness which applies even when not attacking

Blocking Modifier

  • Blocking is a modifier that can be applied to any held tool, enabling it to block like classic swords.
  • Most tools have a block amount off 5 with a block angle of 60 degrees

Slime Staffs

Mechanics

  • Slime staffs are tools that do nothing. However, they start with at minimum 2 ability slots to make them do something
  • They are not melee tools, but do count as armor (meaning they can get an armor value from diamond, netherite, and alike)
  • They support interaction modifiers on both right click and left click. A worktable recipe lets you decide for each modifier where to use it

Modifiers

  • Slime Staffs can receive any existing interaction modifier, such as blocking, bucketing, pathing, or glowing
  • Slime Staffs given spilling use it on interaction, allowing you to apply spilling effects to a target without damaging it
  • Slime Staffs can also receive slurping, for applying effects to the player directly
  • Slime Staffs are "overslime friends", meaning they can receive overslime without penalty

Skyslime Staff

  • Made from skyroot, rose gold, and skyslime crystals
  • Starts with 5 upgrade slots and 2 ability slots

Earthslime Staff

  • Made from greenheart, cobalt, and earthslime crystals
  • Starts with 2 upgrade slots, 3 defense slots, and 2 ability slots

Ichor Staf

  • Made from bloodshroom, queens slime, and ichor crystals
  • Starts with 2 upgrade slots and 3 ability slots

Other tools

  • Daggers now stack to 2 when undamaged. While stacked, they cannot be used, but they can be modified; ideal for creating matched pairs of daggers.
  • Disallow luck on chestplates. Too few people understood that it only worked on unarmed, which is a niche enough usecase that scrapping it in favor of clarity is good
  • Fixed some weirdness with using modifier crystals and multi-level recipes such as luck and tool belt
  • Fix modifier crystals potentially breaking JEI on servers
  • Fix firing a bow with too little velocity deleting arrows
  • Fix "fast use item" (used by Tinkers' Things shortbow and the Traveler's Shield) causing super speed in some situations

Protection Rebalance

  • All conditional protection modifiers now grant 10% protection per level
  • Protection now grants a flat 5% per level, and is capped at 1 level per piece. This allows me to increase protection amounts without worrying you will go too high once you have draconic.

Rebalanced Modifier

  • This is not another rebalance, but rather a modifier called rebalanced.
  • Rebalanced grants +1 modifier slot, but you get to choose the type
  • All variants require gilded blackstone, or once you are late game dragon scales work just as well
  • To add +1 upgrade slot, you need to pay skyslime crystals and rose gold
  • To add +1 defense slot, you need to pay earthslime crystals and cobalt. This slot can be placed on most tools, taking advantage of the shield/staff defense slot mechanics
  • To add +1 ability slot, you need to pay ichor and queens slime. This also causes you to lose an upgrade slot.
  • If you try to apply rebalanced a second time, it will replace the original (meaning any original slots are lost)

API

  • Added new recipe type for a modifier that has different slot requirements each level but the same inputs
  • Added improved API for modifiers that are used by charging the tool
  • Tool Definitions now support custom modules being registered to them, works similarly to modifier hooks