Arcane essence gave no max mana when socketed into armour. Its attributes were
filed under the `armor` material-property key, but a gem module is not tagged
`armor` - the modules declare which material properties they accept and list
only `default` plus their own gem tags, so anything under `armor` or `handheld`
never applied. Everything on the gem-capable materials now hangs off `default`,
and the attribute's own slot decides where it counts. Cinder essence's fire
immunity had the same defect.
New materials, taken from the mods actually in the pack:
Ender IO the full alloy ladder plus its six crystals
AE2 certus quartz, charged certus, fluix
Occultism iesnium, spirit attuned gem
Ars Nouveau source gem
NauTec cast iron, atlantic gold, aquarine steel
Superb War tungsten, cemented carbide
Pastel ten gems
Crystal Chron eight shards
plus pink slime, dimensional shard, industrial iron, ferdonzor, glowshard
The two gem-set mods are generated from a table with shared stat bands per
tier, since their gems differ by colour and lore rather than by kind; the
palette still comes from each gem's own texture.
Metals that overlap a mod already covered are skipped rather than duplicated:
Superb Warfare's steel/lead/silver and Create Crafts & Additions' electrum.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Gem sockets never accepted the two Iron's Spells essences: Arsenal gates its
melee gem modules on the `gem_melee` material group and Armory gates its armour
ones on `gem_armor`, neither of which is the `gem` group they carried. Every
gem-like material now carries both, so it fits any gem slot.
Immersive Engineering adds aluminium, nickel, constantan, electrum and
graphite. Its steel, lead, uranium and silver overlap mods already covered, so
rather than one material accepting either mod's ingot, each metal simply names
one provider - Mekanism for steel/lead/uranium, Ice and Fire for silver. That
keeps one entry per metal in the crafting screen.
Titanium moves to the same rule with Cosmonautics as its provider, which drops
the c: tag files and the any-of pack machinery along with it. That also removes
a latent crash: a tag-fed material still needed an item for its icon, and MIAPI
parses icon items through the registry and throws when one is missing.
The generator now clears its output directory first, so a material that moves
between packs cannot leave a stale copy claiming the same id.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
72 materials sourced from Create, Mekanism, Ice and Fire, Iron's Spells,
Create: The Air War, Create: Cosmonautics and Aeronautics: Interstellar
Expansion.
Stats follow Tinkers' Construct 3 re-scaled onto MIAPI's vanilla-derived
numbers; materials with no Tinkers counterpart are built from what the
material actually is and then fitted to the nearest tier band.
Palettes are not hand-picked. tools/generate_materials.py reads each
material's texture out of the source mod's jar and samples it into MIAPI's
seven-stop grayscale_map, reproducing MIAPI's own hand-authored copper
palette to within ~2% per channel.
MIAPI's material loader honours no datapack conditions, and a material whose
ingredient item is missing fails to parse, so each mod's materials ship as a
built-in datapack registered only when that mod is installed. Titanium is
shared by both aerospace addons and so sources its ingredients from
c:ingots/titanium instead of an item id.
Cinder essence grants fire immunity through an attribute this mod registers
and watches itself, rather than coupling to MIAPI internals.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>