Skip to content

Slimesuit Update (3.12.0.220) for 1.20.1

Latest

Choose a tag to compare

@KnightMiner KnightMiner released this 04 Sep 22:21

The slimesuit update makes several huge improvements to slimesuits, adds many features from the roadmap including Knightslime, and makes many internal changes to prepare for the 1.21 port.

Tools

  • Improve performance of dropping indestructible tools.
  • Allow any damage type that bypasses invulnerability to kill indestructible tools.
  • Allow dyeing plate armor, which changes the color of the maille.
  • Allow dyeing slimesuit, which changes the color of the mob parts.
  • On tools with 2 heads that have distinct durability values, repair now uses the largest instead of the first.
  • Remove the nose guard on slimeskull helmets, so we can see more of the skull.
  • If a tool is destroyed in world (e.g. by cactus or lava), it will now drop all contained items. For example, a bow with quiver will drop all its arrows when destroyed, or a slimeshell will drop its contained items.
  • Make daggers effective at mining glass blocks. They needed a tool and daggers seemed like a good fit.
  • Fix missing material textures for cast fishing rod reel (#5591).
  • Fix thrown tools not updating their appearance when something changes on hit (#5584).
  • Fix longbows not rendering the broken override when firing broken tools.
  • Fix tools storing inventory out of order, causing some inconsistencies with modifiers such as bulk quiver.
  • Fix swapped recycling recipes on earth and sky staffs (#5634).
  • Fix modifiable armor with 0 armor points showing a blank "When on ..." attributes section.
  • Fix waterlogged tables not updating properly (thanks @KacperTheDev, PR #5697, issue #5689).
  • Fix fake players causing unpredictable AOE mining (#5713).
  • Fix slimeskull armor model moving oddly from sneaking, moving the head, or being worn on mobs.
  • Fix fishing rods from /give not having their hook material set.
  • Fix circle attacks (e.g. scythes) hitting too many mobs (thanks @utafrali, PR #5663, issue #5662)

Slimesuit

  • Allow swapping skulls by crafting a skull item with the tool.
    • This notably conflicts with the recipe for recapitated/draconic, so applying recapitated/draconic on a slimeskull now requires an extra slimeball.
    • As part of skull updates, some skulls may have changed "materials". So you may need to swap to return to the desired type.
  • Piglin slimeskull now wiggle the ears as you walk.

More Slime

  • Slimesuit now supports using any slime instead of just enderslime.
    • The recipe was changed to cost 1/4 of the slime as before, so 5/8/7/4 slimeballs for casting helmets/chestplate/legging/boots.
  • Additionally, all slimesuit pieces except slimelytra now start with 2 ability slots instead of 1.
    • To compensate, slimesuit now has 2 less upgrade slots than it did before.
  • Slimes each have unique traits and different durability and overslime amounts. Additionally, the slime type acts as a repair material.
    • Earthslime grants Overgrowth, restoring overslime over time.
    • Skyslime grants Skyfall, reducing the effect of gravity.
    • Ichor grants Godspeed, boosting your movement, attack, and mining speed.
    • Enderslime grants Enderdodging, giving you a chance to entirely avoid attacks.
    • Magma grants Fire Protection, reducing incoming fire damage and fire duration.
    • Ender Pearls grant Magic Protection, reducing incoming magic damage and negative effect duration.
    • Clay grants Self-Forming, boosting your armor.
    • Honey grants Scrumptious, allowing you to eat your armor after taking damage.
  • Any slimesuits crafted before this update will be automatically migrated to Blood, which restores modifier slots to those before this update.
    • You can swap the slime type on existing slimesuit pieces by casting the new desired slime onto it.
    • Keep in mind your armor may need have some modifiers removed first to swap, since removing blood will cause it to lose 2 upgrade slots.

New Slimeskulls

  • Added dragon slimeskull:
    • Crafted from enderslime on a dragon head.
    • Trait is dragonheart, which caps damage taken to max_health - 2 * level after armor.
    • Effectively means you cannot be one shot from mostly full health.
  • Added knightmetal slimeskull:
    • Crafted from a knightmetal fluid cannon (which is made from mob drops!)
    • Trait is spitting, which works just like staffs except uses the helmet keybind.
    • Will not get as strong as a staff, but doesn't require your hands.

Slimeskull Reworks

  • Skull types no longer boost armor and durability, instead just adding an extra repair material.
  • Zombie now grants resistance to undead (consecrated) instead of copying fire.
  • Husk now grant rebuff, which restores 50% of health loss on hit (after armor) in the form of regeneration.
  • Drowned now grant more air time underwater (respiration) instead of melee air stealing.
  • Wither skeletons now also make you immune to Wither I.
  • Stray now grants slow bones, which both applies slowness to arrows and grants immunity from Slowness I.
  • Spiders continue to grant boon of Sssss, boosting duration of positive effects. Now reduces effect of positive effects on removal instead of removing affected effects.
  • Cave spiders now grant balm of Sssss, which reduces duration of all negative effects.
  • Blaze now grants fireborn, which makes you immune to being set on fire and the conductive effect.
  • Zombified Piglins now grant vital protection, boosting defense when at low health.
  • Enderman now grants Warping, letting you teleport in the direction you look by holding the helmet key.

Slimecage

  • New chestplate option for the slimesuit.
  • Crafted by pouring slime on a ribcage, which is crafted in the part builder using bone-like materials.
  • Starts with reach and a 75% unarmed attack damage multiplier (higher than any other armor!)
  • Materials grant repair options alongside slime, plus 2 levels of a trait to help with unarmed combat:
    • Bone - Pierce: boosts unarmed damage and temporarily lowers the target's armor.
    • Venombone - Antitoxin: boosts unarmed damage while poisoned.
    • Necrotic Bone - Necrotic: causes critical hits to heal the player. Will want sharpness to make it effective.
    • Blazing Bone - Conductive: target will temporarily take more damage from fire.
    • Blaze - Scorching: deals bonus damage to targets that are on fire.
  • Additionally, there are two brand new materials:
    • Horn:
      • Crafted from Goat Horns in the part builder.
      • Trait is Ram Attack: boosts unarmed damage while sprinting and plays a unique sound on sprint attacks.
    • Jadeite:
      • Crafted from casting emerald on blaze rods.
      • Trait is Insatible: boosts melee damage on consecutive hits (manyullyn's previous trait).

Slimeshell

  • Crafted from pouring slime on the new shell tool part in a basin. Shells are made from shell-like materals in the part builder.
  • Starts with Shell Storage, which grants 9 inventory slots.
  • Materials provide unique traits and repair options:
    • Magnetite - Magnetic: attracts nearby items passively.
    • Prismarine - Thorns II: chance to deal damage to attackers.
    • Nautilus - Shell Gut: Makes you immune to Hunger II, Poison I, and Nausea I.
    • Shulker - Shulker Box: adds an additional 6 inventory slots.
    • Dragon Scale - Dragonfall: boosts critical hit damage and safe fall distance.
    • Knightly (knightmetal shards) - Loyal: grants a large amount of protection for every empty armor slot.
  • Additionally, several new materials show up on slimeshells:
    • Turtle:
      • Crafted from turtle scutes.
      • Trait is Turtle's Grace: boosts swim speed and respiration.
    • Phantom:
      • Crafted from phantom membranes.
      • Trait is Skyfall: reduces effects of gravity.
    • Kobald:
      • Crafted from cobalt shards (from ichor geodes).
      • Trait is Cobalamin: boosts attack speed, mining speed, and use item speed.
  • Existing slimeshells will be migrated to shulker, granting them 6 of the previous inventory slots. Additionally, the blood material will grant another 3, giving the full 18 slots of former slimeshells.
    • For new slimeshells, you can achieve the same count using the trim modifier.

Slimeboots

  • Crafted from casting slime onto laces in a basin. Laces are a new tool part made using strings.
  • Starts with bouncy.
  • Lace traits grant extra repair material and unique traits:
    • String - Step Up: increases step height letting you step up a full block.
    • Leather - Snow Boots: allows walking on powder snow.
    • Vine - Solar Powered: boots take less damage in sunlight.
    • Skyslime Vine - Leaping: allows you to jump higher.
    • Darkthread - Looting: boosts drops from mobs.
    • Twisting Vine - Entwined: boosts movement speed at the cost of taking damage when taking off the boots.
    • Weeping Vine - Soulspeed: move faster on soulsand.
    • Jeweled Hide - Fortune: grants more drops from mined blocks.
    • Enderslime Vine - Enderclearance: adds a chance to teleport attackers away.
  • Additionally, several new materials show up as laces:
    • Cheese:
      • Crafted from cheese ingots or blocks in a part builder. Cheese is created by casting milk into a basin or ingot cast.
      • Trat is Savory: adds a chance to eat your boots when taking damage, removing a random effect.
  • Slimeboots crafted before this update will automatically be migrated to skyslime vine binding, keeping their leaping from before.
  • Rebalanced now grants an extra copy of the slime trait.
  • Trim on most traits will grant an extra level as expected, but a few behave differently:
    • Darkthread: second level grants an experience boost instead of more looting.
    • Jeweled Hide: second level grants looting instead of more fortune.
  • Additionally, pants can no longer receive lucky. The additional looting and fortune levels were moved to laces.

Slimelytra

  • Slimelytras still exist as a late game slimesuit option.
  • Support more slime types now like the rest of the slimesuit.
  • Do not get the extra ability slot the other types get, instead having 1 more upgrade slots then them.
    • In total they lose 1 upgrade slot, but gain the slime trait.
  • Rebalanced now grants an extra copy of the slime trait, giving them up to 3 copies with trim.
  • Can still be repaired by phantom in addition to the slime type.

Ancient Part Swapping

  • Tools can now swap parts by sacrificing another copy of the same tool.
  • The part swapped is based on the slot the sacrifice is placed in.
  • The sacrifice must have no crafted modifiers to do this. You can remove them using the modifier worktable.
  • Notably useful to swap materials on ancient tools, which lack craftable tool parts.
    • On other tools, usually its better to recycle them in the part builder as this lets you preserve some of the other parts.

Modifiers

  • Restore previous behavior of padded affecting all sling behavior instead of just knockback. Other behaviors remain the same:
    • Velocity still only scales power of slings.
    • Knockback resistance and ricochet still only scale the knockback of flinging and springing.
  • Tanned no longer consumes 2 durability when stacking modifier effects such as thorns, enderporting, or necrotic.
  • Modifiers now have the ability to bypass reinforcements, extra durability bars, and tanned.
    • Notably, glowing now bypasses overslime, frostshield, and reinforcements.
  • Tweak recipes for sling modifiers (flinging, springing, bonking, and flinging) to use different types of vines.
  • Revert pierce to -1 armor per level, as -2 turned out to be too strong. The effect remains a duration though instead of instantaneous.
  • Make harvest and glowing have a priority of 100, so modifier sorting can prioritize them.
  • Blunted tools now squeak if attempting to melee a target.
  • Reflecting on shields now costs an upgrade slot for levels 2 and 3.
  • Magnetic now grants slightly longer effect and triggers on throwing javelins.
  • Exchanging and block placing fluids can now place glows from a tool with the glowing modifier.
  • Dyed now tints the color of the #RRGGBB part of the tooltip with the color.
  • Allow harvest to work on glow berrys on cave vines
  • Trim, dyed, and embellishment no longer show in modifier tooltips outside the tinker station.
  • Make dragonborn cost 5 scales instead of 10.
  • Make turtle shell swim speed bonus based on max level instead of total level, but also make it slightly larger.
  • Fortune and Lucky on armor now both grant +1 luck per level, for the sake of fishing luck of the sea.
  • Bouncy no longer bounces on falls less than your step height.
  • Tasty armor can now be eaten even when not hungry.
  • Tasty tools now show hunger and saturation in their tooltip.
  • Allow monsters to use chestplate unarmed modifiers (thanks @gjhihihi, PR #5701, issue #5695).
  • Fire primer now uses amethyst bronze instead of steel to craft.
  • Allow staffs to receive wood embellishments.
  • Make bonking count as a regular attack, so it triggers insatiable (#5608) and AOE attacks from scythes and swords. Note only the main target gets super bonk currently.
  • Feather falling is now half as strong per level, but every other level costs 0 upgrade slots.
    • This restores its 1 to 1 relationship with vanilla feather falling, which was exploitable via enchantment extraction.
    • Existing feather falling tools should automatically migrate to an equivalent fall damage reduction.
  • Fix bucketing not calling the new forge fluid vaporizing hook.
  • Fix bucketing modifier disparity with vanilla buckets when pouring on a replaceable block (#5597).
  • Fix glowing consuming the ammo or durability when it failed to place.
  • Fix recipe conflict between expanded and multishot on war picks (#5606).
  • Fix being unable to break glows or fires on harvest or melee weapons. The logic was only supposed to affect left click staffs.
  • Fix overslime supporting modifier extraction, which was not functional.
  • Fix health not updating when unequipping revitalized armor.
  • Fix modifier renderers running multiple times, breaking their transparency.
  • Fix recipe for the necrotic modifier not using the wither bones tag.
  • Fix spitting draining the tool tank, unlike other fluid modifiers (thanks @ryancircelli, issue #5682, PR 5707).
  • Fix indirect kills (e.g. TNT explosions) triggering tool loot abilities such as Severing (thanks @ryancircelli, PR #5708, issue #5699).

Slimeball

  • New staff exclusive modifier.
  • Allows the tool to shoot slimeball projectiles, which deal damage based on ranged stats.
  • Each slimeball has a different effect:
    • Earth: drawback, pure projectile damage, lower damage.
    • Sky: cold damage, freezing
    • Ichor: fire damage, fiery
    • Enderslime: magic damage, enderclearance
    • Magma: explosion damage, explosive
  • Essentially replaces the firebreath modifier from the reworked blaze slimeskull.

Banner

  • New cosmetic plate shield modifier crafted using a banner.
  • Will copy the banner patterns to the shield.
  • Should support all modded banner patterns that support shields.
  • Not currently supported on travelers shields due to the different shape.
  • Shields without banners may look slightly different as part of rotating the banner to show on front.

Enderference

  • The enderference potion effect now allows more projectiles to hit the target.
  • Arrows have their enderman logic moved from bows to the potion effect, meaning you can hit a target with a non-enderference weapon after they get the effect.
    • Note that this requires making some strong assumptions about arrows to work.
    • There is a tag blacklist in case the assumption proves to be wrong for a modded arrow type. If it ends up being too much of a problem we will switch to whitelist.
  • Fluid projectiles, thrown tools, shurikens, and fishing hooks all now can damage enderferenced endermen.
  • Fixed a few cases of ranged damage not being marked as ranged, such as spilling on thrown tools or fishing rods.

Defense Rework

Currently, plate and travelers have a little bit too much overlap when it comes to modifier slots. The next update makes them a bit more didstinct using a few changes:

  • Ancient hide removal:
    • With the introduction of many new types of maille, ancient hide feels a little redundant, just granting +1 defense slot.
    • With the introduction of the ancient tool material, ancient hide is a bit confusing.
    • Removing notably prevents turning curiass into +1 defense slot, making the difference in effective defense slots between plate and travelers 2 instead of 1.
    • See Jeweled Hide for the harvest replacement.
    • For migration, the material will still exist on 1.20, just be hidden and uncraftable.
  • Slotless defense slot:
    • Using armor trim on armor will grant it +1 defense slot alongside the cosmetic.
      • Notably does not work on shields, so they now have fewer defense slots than their counterpart.
      • On the slimesuit, armor trim will instead grant a second copy of the mob part trait.
    • This modifier also now works on shields and travelers goggles. It was chosen to not work on current ancient tools.
    • This change gives plate a needed boost to make better-than-vanilla protection possible pre-end.
    • This also means that travelers gear in this update has a net gain of 0 defense slots (lost 1 from ancient hide, gained one from trimmed).

Materials

  • Added turtle as a new maille material, granting turtle shell as its trait.
  • Trigger momentum upon throwing tools.
  • Allow crafting pig iron bows. Tasty trait will eat as you pull back the bow.
  • Allow crafting cheese bowstrings. Savory trait will eat as you pull back the bow, removing a random effect.
  • Valiant (knightmetal) tweaks:
    • Now based on the mobs "armor coverage", giving it better support for mobs with less equipment.
    • On melee, does 1.6 damage per level instead of 2.0.
    • On ranged, does 0.8 power per level instead of 1.0.
  • Lightweight (aluminum bows) no longer debuffs protection, but also does slightly less drawspeed and accuracy boost.
  • Knightmetal's fluid effect now does 3 pierce damage instead of 4.
  • Necrotic bone shield cores now grant "Restore".
    • Its the same effect, but split to fix an exploit with unarmed chestplate receiving necrotic.
    • Grants a 15% chance of restoring 25% of damage taken, before armor.
  • Improve ordering of arrow traits, so they run in order attractive -> bounce -> smashing -> explosive -> spectral. This means attractive attracts on each bounce, while bounce always runs before explosive, smashing, or placing glows.
  • Improved behavior of reclaim (shulker shell arrow head):
    • Magnetite is no longer removed after attracting mobs.
    • Reusable glowing is not removed after placing the glow.
    • Reusable enderporting is not removed after teleporting.
    • Smashing and explosive remain incompatible with reclaim.
  • Tweaked decay (necronium): now grants a flat time duration instead of random duration.
  • Shulker now provides 2 material per shell instead of 1, increasing output of arrows heads and maille.
  • Slime-adjacent materials that do not provide overslime will now still be marked as "overslime friend". This allows materials such as skyslime vine or ichorskin to use overslime without debuffs.
  • Disallow melting the ancient tool material into ancient debris, to prevent the fluid from being too easily obtained.
  • Materials now have rarity set:
    • Tiers 1 and 2 will use common.
    • Tier 3 will use uncommon.
    • Tier 4 will use rare.
    • Tier 5 (just ancient currently) will use epic.
    • Material JSON can override rarity instead of defaulting to the tier.
  • Amethyst Bronze on armor now has +5% more attack speed, but grants +5% to bad potion effect duration.
  • Ichorskin on armor now grants godspeed (boosts movement, attack, and mining speed) instead of overshield (as overshield was moved to knightslime armor).
  • Fix enderference bows causing ballista tools to be deleted.
  • Fix insatiable, Olympic, and necrotic all applying even when blocking with a shield.
  • Fix insatiable showing its power tooltip on javelins (which do not use power).
  • Fix spectral projectiles preventing explosive.
  • Fix enderporting damaging fishing rods on cast instead of on teleport.
  • Fix pierce and impact damage not being marked as melee damage for spilling or splashing.
  • Fix depth protection sometimes showing "+0%" in the tooltip.
  • Fix smashing dupe on glass shurikens filled with damaging fluids when the fluid kills an enemy (#5687).

Knightslime

  • Introduce knightslime as a new tier 4 end material.
  • Alloyed from cobalt, obsidian, and enderslime.
  • Contains brand new textures as the previous palette was too similar to amethyst bronze.
    • All textures from before it was added have been repurposed.
  • Knightslime's fluid effect causes an explosion that does not harm blocks and causes no knockback, but does more damage than other explosions.
  • On general and ranged tools, its trait is overwield: Boosts melee speed, mining speed, drawspeed, and velocity at the cost of consuming extra overslime per action.
  • On armor, its trait is overshield: Boosts protection at the cost of consuming extra overslime per hit.
  • Both overshield and overwield boosts are canceled when the tool is out of overslime.
  • Since knightslime now uses overshield, ichor's trait was changed godspeed: Grants +2.5% attack speed, +5% movement speed, and +7.5% mining speed.

Manyullyn

  • Redesigned its traits entirely to better suit its cost.
  • Previously, manyullyn had insatible and kinetic, which while good traits had tough activation conditons.
  • New melee/ranged trait is ambush, which grants +1 damage when you are at full health and +0.6 damage when the target is at full health.
  • New armor trait is warded, which reduces incoming damage by 1 per level after armor when health is full, to a minimum of 1.

Nicrosil

  • New compatibility alloy available from tin, nickel, or chromium.
    • Recipe will vary based on the presence of tin, chromium, and nickel.
    • If both nickel and chromium are available, alloying both with some quartz gets nicrosil.
    • Without chromium, emerald is substituted.
    • Without nickel, tin is substituted to mirror Metalborn.
    • This is changed compared to the previous version which used iron instead of diamond.
  • On melee/ranged, it grants insatiable, boosting melee damage and power on consecutive hits.
  • On armor, it grants kinetic, turning taken hits into melee damage.
  • Both traits fit the idea of storing up power for later release, pulling from the now unused Manyullyn traits.

Redstone

  • New arrow head material crafted from redstone dust or blocks.
  • Trait is supercharged, which boosts the projectile's velocity.
  • This increases it's range and increases the damage of arrows and fishing rods.

Jeweled Hide

  • Crafted from pouring molten diamond on leather. Melting diamonds requires blazing blood making this tier 4.
  • On harvest tools, grants fortune, replacing ancient hide.
  • On ranged tools, grants fortune, which now grants fishing luck to fishing rods (plus is useful on war picks).
  • On armor, grants revitalized. This is the last defense slot option that was not previously available as armor maille.

Stat Tweaks

Tweaked many ranged material stats to make materials more inline with their tier Mostly buffs as a lot of materials seemed a little undertuned, especially those that have high velocity. A few small nerfs for materials overtuned, mostly to accuracy.

Drawspeed:

  • Amethyst bronze, ancient, bronze, lead, steel (+10%)
  • Fiery, manyullyn (+15%)

Accuracy:

  • Amethyst bronze, constantan (+5%)
  • Bronze (+10%)
  • Electrum, nahuatl (-5%)

Additionally, pewter's stats were just wrong compared to the design docs, so returning it to that:

  • Limb: +10% velocity
  • Grip: -15% accuracy, -5% durability

Finally, Knightmetal limb stats were moved to Knightslime after increasing accuracy and reducing drawspeed. Instead, Knightmetal now has:

  • Limb: -20% drawspeed, +10% velocity, +5% accuracy.

Smeltery

  • Allow melting seared and scorched lamps into the respective stone type.
  • Frogs eating terracubes now drop seared lamps.
  • Update Immersive Engineering chemical thrower compatibility for new fluids.
  • Added architect's palette nubs to platform connections (#5610).
  • Allow wearing fluid cannons, because it looks funny. Has zero function.
  • Added redstone to the fluid cannon recipe, mirroring dispensers and as a hint for how it works.
  • Allow fluid cannons to harvest berry bushes using liquid ender and kamas or scythes. Previously did not work as its harvest type (interaction) requires a player.
  • Fluid projectiles are now slowed down underwater.
  • Ducts now expose a filtered view of the multitank instead of the full tank, ensuring more reasonable behavior with pipes that support accessing all tank indices.
  • Fix wrong inside texture on scorched fluid cannons.
  • Fix tinker tank not being on the blacklist for melting pans.
  • Fix being unable to hang lanterns (#5654).
  • Fix soul glass being washed away by water (thanks @ryancircelli, issue #5667, PR #5706).
  • Fix smeltery fuel gauge ignorign other fuel tanks when the current one empties (thanks @ryancircelli, PR #5709, issue #4881)
  • Fix smeltery textured blocks not showing texture ID on advanced tooltips.

Knightmetal Fluid Cannon

  • End variant of fluid cannon crafted from knightmetal and shulker shells.
  • Fires at a higher velocity, with more capacity and accuracy than other variants.
  • Spiky to the touch like knightmetal blocks.

Gadgets

  • Added clear armor stands, which turn invisible when wearing any armor piece.
  • Added bamboo armor stands, which are smaller than regular ones.
  • Added bone armor stands, which have arms.
  • Added necrotic bone armor stands, which have arms and render fullbright.
  • Change clear item frame crafting recipe to require clear glass.

World

  • Armored slimes now report 100% armor coverage when wearing their helmet.
  • Remove recipe for crafting magma cream from tinkers slime. Decided magma is specifically earthslime.
  • Reduce cooking time for knightmetal shards in furnaces to more closely match Twilight Forest armor clusters.
  • Tag enderbark roots and saplings to work with Create (thanks @mikesk8r, issue #5671, PR #5693).
  • Fix swapped earth and sky geode crystal blocks in slime spawning tags.
  • Fix enderslime saplings not growing.
  • Fix slimes drowning in liquid slime.

Documentation

  • More minor typo fixes across books and tooltips.
  • Renamed "Recurrent Projection" modifier to "Recurrent" as its not protection.
  • Added flavor and modifier description to the "overslime friend" trait, since that is now available on more tools.
  • Cleanup a bunch of unused keys from the lang files.
  • Added tooltips to frame variants.
  • Fix name of powder snow (was powdered snow which just makes more sense)
  • Fix netherite tier advancement being granted on non-harvest tools.
  • Fix more typos.

Advancements

  • Improved logic to grant advancements from tinkers tools.
  • Now all handled via advancements, using .mcfunctions to grant the advancement if the trigger matches. While normally .mcfunctions are a little inefficient, these will at most be run once per world so seems fine.
  • Increase supported advancements:
    • Make a crafting table (can use a crafting station)
    • Make a stone pickaxe (can use any tinkers pick with stone harvest tier)
    • Make an iron pickaxe (can use any tinkers pick with iron harvest tier)
    • Make a netherite hoe (can use any tinkers tool with tilling and the netherite modifier)
    • Make iron armor (can use any armor with iron plating)
    • Make diamond armor (can use any armor with the diamond modifier)
    • Make netherite armor (can use any armor with the netherite modifier)
    • Walk on powder snow (can use any boots with snow walk)
  • Disabled telemetry on Tinkers advancements, as Mojang does not care who is earning them.

Books

  • Mention knockback scaling of sling modifiers on knockback encyclopedia page.
  • Correct whitestone description in encyclopedia.
  • Improve accuracy of description of strength modifier.
  • Update slimeskull and slimesuit sections with info on new slimesuit behaviors.
  • Added some tips to Mighty Smelting about how to use protection modifiers.
  • Clarify fluid effect pages and how the effects level (#5594).
  • Fixed descriptions of flint and stone's traits in the book, which were not fully updated with the throwback update changes.
  • Fix pathing and tilling showing too many tools on their pages.

Renames

  • Rename "Shulker Shell" material to just "Shulker".
  • Rename "Slimeskull" stat type to simply "Skull".
  • Rename "Withered" modifier to "Withered Bones".

Translations

Online Books

  • Added HTML online books, thanks to a big effort from @paypur (PRs #4345, #5668)
  • Allows navigating the books using buttons, selecting the text, and even includes some tooltip support.
  • Does not display animations still, but is notably better than the images.
  • Will still provide the classic image books on our website since they work better on mobile devices.
  • Custom book pages will need to implement toHtml to get proper export behavior. See our page types for examples.

JEI

  • Show the amount restored in the overslime recipe (#5645).
  • Tools tagged as "single part" now use the first material for their subtype interpreter instead of all materials.
  • Improve recipe catalysts, showing modifiers and the crafting station in appropiate categories.
  • Modifier crafting recipes no longer show tools that already have that modifier as a trait unless it allows the level to be increased.
  • Updated to use many new JEI APIs over older deprecated APIs. As a result, we now require a new JEI version. (thanks @mezz! PRs #5714, #5715, #5717, #5718)
    • This notably includes the new API for backgrounds, which means JEI background textures are not used to the degree they were. We will fully rework them come 1.21.
    • Since this users newer JEI APIs, behavior in offbrand JEI is less likely to work (not that it worked well before). Behavior in JEI should be notably better.
    • In particular, we use the new ingredient visibility API and the new creative tab hiding tag, plus a ton of new helpers for category building.
  • Fix many ingredients not properly being marked as catalyst (thanks @mezz! PR #5716)
  • Fix recipes with both needed and value set above 1 showing unexpected stack sizes in JEI.
  • Fix composite recipes with "any variant" as the input and a variant as the output showing the recipe crafting the output into itself (this is not a valid recipe) (#5652).
  • Fix hidden tool materials not supporting some recipe lookup options.
  • Fix mods that use Registrate to create a fluid with no bucket breaking our entire JEI plugin. See tterrag1098/Registrate#69 for more info.
  • Fixed configs that hide ingredients hiding them from recipes by leveraging new JEI utilities. Also fixes slowdown caused by mods adding 1000+ fluids (#5290)
  • Fix custom ingredients not having unique UIDs compared to items.

Textures

  • Improve texture of steel blocks using the now unused texture from knightslime.
  • Improve steel and knightmetal ingots and nuggets (thanks @RCXcrafter).
  • Change cinderslime palette to include more orange.
  • Create new textures for cinderslime ingots and nuggets. These textures were originally meant for knightslime before its visual overhaul.
  • Improve palettes for slime materials. Mainly used on the slimesuit, which should be more faithful to slimeballs now.
  • Piggybackpack now uses separate icons for each level instead of using the icons sheet.
  • Skull textures on slimeskulls no longer have a purple tint. The tint is still applied to the armor model.
  • Enderman slimeskull now has white eyes to show the armor model tint better.
  • Improve textures for necrotic and severing modifiers (thanks @Niangao-YX, PR #5680).
  • Add many new modifier textures for armor, longbows, and fishing rods from Fresh Tinker Grain (thanks to @CreepingCreeper and wearespeedcome/Frozen_Ender, PR #5705)
  • Improve armor reinforcement textures (thanks @Zen9890, PR #5226).
  • Improve clay palette for slimesuit (thanks @RCXcrafter).
  • Improved "missing skull" slimeskull texture.
  • Fix fiery not having its fallbacks set, affecting addons that used the texture generation command.
  • Remove many duplicate modifier textures, levering the modifier map system to reuse them from other tools. You can override the modifier maps if you were using unique textures.

Technical

  • If I mention @KnightMiner, he shows up with all the contributor faces down below (as GitHub only understands PRs for contributors)
  • Switch to Mantle's soulbound logic instead of using our native logic. Is functionally the same but is now deduplicated with Metalborn's logic.
  • Make DynamicModifier extend StaticModifier, allowing future modifier JSON migrations without changing the field type (causing a binary break).
  • Relocate some JSON modifier IDs from TinkerModifiers to ModifierIds.
  • Resorted modifier fields on TinkerModifiers. This should have no impact on addons, so if something you were using is missing do put in an issue report.
  • Restore ability for non-harvest tools to run harvest hooks, as we used this functionality on firestarter and glowing.
  • Batch fluid removal in JEI, making it slightly more efficient.
  • Added helper to ModifierCondition to change the min or max level.
  • Added helper to IToolStackView to check if its the same instance as an item stack.
  • Added new equipment iterator, to iterate modifiers on all 4 armor pieces in priority order.
    • This means a modifier with low priority is guaranteed to run last across all 4 pieces, letting a modifier do things like zero out protection without another armor piece increasing it later.
  • Include rotation in modifier teleport packet (#5623).
  • Status effects from various modifiers and fluids now set the effect source to the relevant entity.
  • Improve stability of offhand attribute fetching. Prevents issues with attacking within the same tick as swapping items.
  • Optimize default implementation of the inventory modifier hook.
  • Catch and log more errors in various packets.
  • Moved IMaterial#UNKNOWN_ID to MaterialId#UNKNOWN (way easier to find location, old kept as deprecated for removal).
  • Fix finishHarvest being called with too many blocks when a block is failed to be removed.
  • Fix a few cases where armor modifier hooks are called on armor in the wrong slots.
  • Fix some custom entity tags being in the wrong namespace (forge instead of tconstruct).
  • Fix wrong stack being passed to the event in the crafting station and tinker station (#5599).

Books

  • Add support for HTML book export from Mantle (thanks @paypur).
  • Material sections now support taking a list of material sources to make a single index for multiple different material lists. See the slimesuit materials for an example.
  • Material sections now support adding a title suffix to all materials, useful to disambiguate a single material showing up twice when using the above feature.
  • Improved material page description translation keys:
    • All types now use material.<domain>.<name>.flavor.<type> and material.<domain>.<name>.encyclopedia.<type> over .flavor and .encyclopedia if defined.
    • For Melee/Harvest, <type> is melee_harvest.
    • For Ranged, <type> is ranged. material.<domain>.<name>.ranged is supported for migration for encyclopedia but will be removed on 1.21.
    • For Armor, <type> is armor. material.<domain>.<name>.armor is supported for migration for encyclopedia but will be removed on 1.21.
    • For Ammo, <type> is ammo. material.<domain>.<name>.ammo is supported for migration for encyclopedia but will be removed on 1.21.
    • For Slime, <type> is slime.
    • For Slimeskulls, <type> is skull. material.<domain>.<name>.skull_flavor and material.<domain>.<name>.skull_encyclopedia are supported for migration but will be removed on 1.21.
    • For Slimecages, <type> is ribcage.
    • For Slimeshells, <type> is shell.
    • For Slimelaces, <type> is laces.
    • Migrated most of our translation keys to the new system.
  • Fix certain line lengths of bullet points (e.g. on modifier or tool pages) causing a double line break.
  • Fix modifier pages showing recipes where no tool matches the filter.
  • Fix leather page showing confusing recipes from cleaning leather variants (used by curiass).

Commands

  • Added new set durability command to change the durability on a tinker tool.
  • Fix the stat override command improperly handling partial values.

JSON

  • Blunted now properly works on melee weapons, though no current plans to allow that combination. Could use the module to recreate sponge from 1.12.
  • Tool "has modifier predicate" now properly sums all matching modifier levels if multiple match a tag or complex predicate.
    • For efficiency, has a quick exit if the range matches all levels or just 0 (absent).
  • Added tconstruct:fixed_material_swapping and tconstruct:part_swapping_override recipes to allow overriding part swapping behavior beyond the tool definition.
  • Added has_hook tool predicate to check if a tool overrides the given tool hook.
  • Added fuel fluid predicate to check if a fluid is registered as a smeltery fuel.
  • Error messages on parsing material stats will now include the material being parsed.
  • Invalid modifier formulas will now fail to parse in JSON instead of crashing at runtime.
  • Stats in JSON can now use other stat types such as block stats instead of being limited to "custom stat".
  • Removed long unused silky jewel models.
  • Introduce compact material palettes, making the material JSONs notably smaller. Old format is still supported and is not deprecated, but serializing will use the new format by default.
  • Switch many entity melting recipes to using common or local tags, to make it easier for mods to add melting for vanilla-like mobs.
  • Fix tools adding using Json Things not supporting stack sizes like Daggers.

Recipes

  • Added chance fields to severing recipe JSON. Replaces the previous tag for "rare mobs".
  • Added consumed_offset cast purpose to tool casting recipes, which will cause the extra material to set the first material and the fluid the second. Used to treat the consumed cast as the material.
  • Material fluid recipe has a new boolean hide_in_book to exclude the recipe from the book.

Tags

  • Allow adding tconstruct:empty to modifier tags, for the sake of durability modifier tags (which use empty to mean "tool itself").
  • Tag bobber under forge:bobber (#5632)
  • Added forge:tridents entity tag for both thrown tridents and our thrown tool.
  • Added tconstruct:melting/blacklist tag to prevent melting on a mob. Previously this was handled through a different tag that led to some unexpected behavior.
  • Added tconstruct:modifiable/ranged/power, tconstruct:modifiable/ranged/bounce, and tconstruct:modifiable/ranged/quick_charge as new tags controlling the respective modifier. Allows giving a tool access to them without making it a bow or staff.
  • Added new tags for bypassing various types of durability reducing modifiers.
  • Added tconstruct:show_hand item tag which forces the hand to render even when holding an item. Will potentially be used for a future tool concept.
  • Added several modifier tags under tconstruct:jei/ to add modifiers as catalysts to various JEI categories.
  • Added tconstruct:shiny material tag to make the tool part and tool using it show the enchantment glint. Will not work on blocks placed in world without support added by the mod implementing the block.
  • Switch many melting recipes to using either tags under tconstruct:meltable/ or using common forge: tags.
  • Deprecate tconstruct:modifiable/embellishment/slime since we no longer use slime embellishments.

Modifier Modules

  • Added many new modules used in migrating specific modifiers to JSON.
  • Added volatile float module, like volatile int but for different usages in code.
  • Added tool damage range module to restrict durability loss to within a particular min and max level.
  • Added flat damage reduction to reduce damage either before or after armor. Used in warded and dragonheart.
  • Added the "show interaction source" module to show interaction sources on right click related modules.
    • Separated out of many modules to avoid it showing twice when a modifier has multiple types of interaction.
  • Added tconstruct:block_item_provider so a modifier can consume durability to provide a block. Used by glowing notable.
  • Added tconstruct:energy_as_capacity module to allow the capacity modules to interact with Forge energy on the tool.
  • Added tconstruct:fluid_as_capacity module to allow capacity modules to interact with the tool's fluid tank.
  • Added tconstruct:fluid_predicate_as_capacity module to allow drain only access to a tag or other set of fluids on the tool's tank.
  • Added tconstruct:fireball module:
    • Works a lot like the previous firebreath modifier, but can be used on held or helmets.
    • Can specify the type of ammo consumed along with its effects and damage multiplier.
  • Added tconstruct:stat_tooltip to show a tool stat in the tooltip. Used by the new edible module to show hunger and saturation, and provides an example for how addons can show their new modifier stats in tooltips.
  • Durability shield module now supports specifying how much capacity is lost per durability.
  • Tool circle and sweep modules now support changing the multiplier on expanded (#5638).
  • Looting and enchantment modules now support using a leveling int instead of just flat ints.
  • The conditional stat module will now log an error if created with a stat that does not support the hook. In future versions, this will cause the modifier to error. This is done to help mod authors catch unsupported stats early instead of not realizing it until runtime.
    • Use ToolStats#markConditional to mark an existing stat as supporting conditionals. Discouraged to call on another mod's tool stats.
    • Alternatively, use ToolStat#registerConditional to mark it and register it at the same time.
    • Use ToolStat#CONDITIONAL_LOADER to parse tool stats that support conditionals.
  • Allow modifiers to specify an alternative translation key in JSON. Changes tooltips, name, and color.
  • Fix modify damage hook sometimes running with 0 damage.
  • Fix set stat module storing unsupported stats on tools.
  • Deprecate for removal the level range condition on the modifier trait module as it did not behave in a reasonable manner when multiple copies of the modifier are added.
Mob Effect Module
  • Allow setting curative_items:
    • If unset, will use default curative items.
    • If set to an empty list, will clear the curative items.
    • Can be set to a list of items to override the curative item list.
  • Split mob effect module into a few parts:
    • tconstruct:weapon_mob_effect for applying effects on melee or ranged.
    • tconstruct:counter_mob_effect for applying effects on counter when attacked. Can also be swapped to target yourself instead of the attacker.
    • tconstruct:tool_usage_mob_effect: new module for applying mob effects to yourself on tool usage, such as for magnetic.
    • tconstruct:mob_effect sticks around for legacy behavior, for removal in 1.21.
Edible Module
  • New module allowing creating modifiers like tasty, used for savory and scrumptious.
  • To use, use the modifier trait modifier to grant relevant tools the internal tconstruct:edible modifier trait.
  • The tconstruct:edible_consume_durability module will remove tool durability.
  • The tconstruct:edible_representative_item module will add a representative item to eating the tool, used by Diet and the particles.
  • The tconstruct:edible_cure_effects module will cure effects using an item like a milk bucket.
  • The tconstruct:edible_cure_random_effect will cure a random milk-curable effect from the item.
  • The tconstruct:edible_remove_effect will remove a specific effect.
  • The tconstruct:edible_mob_effect module allows granting a potion effect when the tool is eaten.
  • The tconstruct:hunger tool stat will control how much hunger is restored.
  • The tconstruct:saturation tool stat will control how much saturation that hunger is applied at.
  • The tconstruct:eat_duration tool stat controls how long it takes to eat held tools.
  • The tconstruct:edible_counter_chance tool stat controls the chance of armor being eaten upon taking damage.
Tool Name
  • Tool name hook is now composable, allowing missing a base item name and a material name.
  • Added tconstruct:custom_material_name, allowing the item name to change based on a material. Used by most of the slimesuits so we get names like "Slimeskull", "Honeyskull", and "Enderskull".

Variable

  • Added effective mining speed variable, to change a number based on whether the context is effective.
  • Allow light level variables to specify no type to take the max between block and sky.
  • Added variable range predicates:
    • Matches when the variable is between the given values.
    • Support open, closed, right open, and left open matches.
    • Supports tools, entities, and block states.
  • Added tconstruct:player_stat to fetch player stats. Only works on serverside modifiers.
  • Added variables for using a tool's fluid amount and capacity.
  • Fix sky light in light level variables not being corrected for time of day.

Modifiers Migrated to JSON

Migrated many modifiers to JSON:

  • No configuration: harvest (from scythes and kamas), blocking, firestarter, and bucketing.
    • Note blocking and bucketing have some configuration via other modules such as tool stats.
  • Autosmelt: new autosmelt module allows configuring the chance of extra drops on fiery.
  • Shears:
    • Shears module allows configuring the base value, plus multipliers on expanded and higher levels of shears.
    • Shears and silky shears both support higher levels for AOE instead of needing a separate modifier.
    • Silky AOE shears is now deprecated, as 2 levels of silky shears recreates the same thing.
  • Expanded, multishot, fireprimer, and reflecting: all make use of the volatile int module with new keys.
    • Fireprimer now works the same as expanded, meaning it expands other modifiers on flint and brick such as tilling.
  • Sweeping edge: allows configuring the percentage of damage added per level.
  • Nearsighted and farsighted: FOV module allows configuring the amount increased or decreased per level.
  • Soulspeed: dedicated module is effectively a copy of the constant enchantment module, expect show a tooltip of the current effect.
  • Tanned: uses the new tool damage range module.
  • Flinging, springing, boning, and warping: uses new modules to control force and drawtime multipliers plus other stats:
    • Flinging and springing use sling leap, which also contains some extra height configuration. Requires the drill attack modifier tag to support that behavior.
    • Bonking uses sling knockback.
    • Warping uses sling teleport.
  • Flamewake: supports setting the radius scaling.
  • Tasty: edible module allows configuring durability usage, counter chance, and the representative item (for diet).
    • Additionally, added tool stats for configuring the amount of hunger and saturation restored.
  • Fluid modifiers: all use the tool stat module for configuring capacity per level.
    • Slurping: allows configuring the slurp duration and the effect strength.
    • Splashing: allows configuring the effect strength.
    • Spitting: allows configuring the shots per level. Effect strength uses power.
  • Solar powered: uses existing formula modules for high configuration.
  • Cosmetic modifiers:
    • Trim, dyed, and embellishment all use new dedicated modules for their function.
    • Embellishment notably allows a tool to have multiple embellishments using the swappable modifier recipe.
    • For recipes, dyed and trim are still hardcoded as otherwise you just get a recipe conflict.
    • In armor models, can notably specify alternatives to these modifiers.
  • Necrotic: migrated as necrotic (using lifesteal module) and restore (using lost health module). Both modifiers can configure durability usage and restore percentage.
  • Experienced: removed hardcoding of experience boost to modifier ID. Now uses volatile float module to set that amount.
  • Boon of Sssss: uses the positive effect duration attribute and the new tconstruct:reduce_effect_on_unequip module.
  • Migrated decay to JSON, using new tconstruct:tool_usage_mob_effect module with previous effect modules.
  • Migrated magnetic to JSON, using tconstruct:tool_usage_mob_effect and some new data keys.
  • Migrated enderference to JSON; most of its unique code was moved to the effect so its just a standard effect module plus data key now.
  • Migrated revenge to JSON, using the new tconstruct:clear_effect_on_unequip.
  • Migrated enderdodging to JSON, using the new tconstruct:teleport_dodge module.
  • Migrated gold guard and chrysophilite to JSON using the new tconstruct:golden_attribute module.

The methods to register modifiers in Java have all been marked as deprecated to encourage addon authors to migrate their modifiers to JSON given that provides the majority of our modifier configuration. The exact update that removes these methods is undetermined, but will likely not be until 26.x at least to give addon authors time to migrate.

API

  • Added IMaterialRegistry#getStatsOrDefault: returns the stats for the passed material, or the default stats if they are undefined.
  • Added modifier context to tool damage util methods.
  • FluidEffectContext:
    • Added getDirectSource() to get the direct damage source (either projectile or entity).
    • Added getEffectSource() to get the cause of inflicted effects (either entity or projectile).
  • Added ReusableProjectile interface, letting a projectile be conditionally reusable (e.g. reclaim from shulker). The tag is still supported for unconditionally reusable.
  • Deprecate TinkerEffect#apply, not really that useful.
  • Added BlockItemProvider capability, allowing an item from another mod to provide blocks from a bag or alike which is used by exchanging and block placing fluid effects (thanks @ChiefArug, PR #5568)
  • Added BlockItemProviderModifierHook for allowing a modifier to provide block items.
  • Added IToolStackView#isSameStack to check if an item stack instance refers to the same tool as a tool stack instance in a modifier.
  • ToolDamageUtil#damageAnimated without a slot will now search for the tool in the inventory instead of assuming active using item. Note this is slightly less efficient than just directly passing the slot, so pass it if you know.
  • Added BlockModelSkullRenderer/SlimeskullArmorModel#registerBlockModel for using a block as a slimeskull skull model.
  • Added IModifiable#getToolDefinition(Item) to get the tool definition for a possibly modifiable item, returning empty if absent.
  • KeybindInteractModifierHook now passes in the charge time and the active modifier to stopInteract, allowing you to run things closer to held interaction modifiers.
  • Helpers in BowAmmoModifierHook now support passing ItemStack#EMPTY for the bow stack to do an inventory search instead of the entity ammo hook for ammo location. Useful for non-arrow ammo.
  • Move cooldown helpers to GeneralInteractionModifierHook.
  • Added IntegerToolStat and PercentToolStat, two new variants of FloatToolStat with different tooltip formatting.
  • Switch AbstractMaterialDataProvider to use a builder style for materials, to better support adding new features to the definition.
  • Added ToolDurabilitychangedHook (#5583)
  • Fix wrong generics on MaxArmorStatModule.Builder, preventing usage of the parent methods (#5635)

Modifier Models

  • Added new system for modifier models.
    • Core difference is instead of using existence of modifier textures, tools can specify 1 or more modifier model maps that specify the models for each modifier. These JSON support merging across datapacks.
    • JSON are located in assets/<domain>/tinkering/modifiers/sprites.
    • This notably means you can have a modifier have different appearances on different tools.
    • This also makes it easier to reuse textures for modifiers.
    • Supports constant models, which will show on any tool regardless of crafted modifiers. Replaces forced modifiers in the model JSON, along with the "show traits" boolean.
    • Can datagen the relevant JSON.
  • Previous system will continue to function until 1.21.
    • Will log a warning if any usages of the legacy system are detected.
    • We notably keep around modifier roots on most of our modifiers for the sake of addons adding those textures. This will only warn if an addon modifier uses it.
    • The trim modifier model notably will be skipped if you provide modifier roots to prevent unnecessary warnings; make sure to provide it with the new system if using a mix.
  • Modifier model options:
    • tconstruct:empty: has no quads. Used for load conditional models and to override a model in a modifier model map merging.
    • tconstruct:basic: default model, with a texture, a large texture, a color tint, and a minimum light. Models specified as just a string use basic with the string acting as the texture.
    • tconstruct:dyed: tints the modifier texture based on the color in the persistent data key matching the modifier ID.
    • tconstruct:armor_trim: displays the default armor trim material textures for the given slot.
    • tconstruct:custom_trim: displays the specified texture and large texture with trim materials.
    • tconstruct:fluid: displays fluid at the location of the given mask. Note this does not show the tank texture, for that you want a list of both using tconstruct:compound.
    • tconstruct:tank: displays fluid with a separate full and partially full texture. Like tconstruct:fluid, does not include the tank texture.
  • Technical models:
    • tconstruct:compound: displays all quads from a list of models. Models specified as just an array use compound with the list as all model options.
    • tconstruct:conditional: displays the nested model, provided it passes the tool condition.
    • tconstruct:trait: shows the specified model if the specified modifier is present as a trait.
    • tconstruct:crafted: shows the specified model if the specified modifier is present as a modifier. Meant to make a crafted modifier show earlier in constant.
    • tconstruct:material_index: shows the given texture, with material variants applied based on the material at the given index.
    • tconstruct:dyed_material: shows the given texture, with material variants applied based on the material at the given index, dyed the color of the given key.
    • tconstruct:persistent_material: shows the given texture, with material variants applied based on the material in persistent data at the given key.
    • tconstruct:slimeskull: shows the given texture, tinted based on dyed, or the slime material if no dye.
    • tconstruct:material_has_fallback: displays one of 2 textures based on whether the material at the given index has the given fallback texture.

New Contributors

Full Changelog: v3.11.2.166...v3.12.0.220