tryEnrichWithArmorAttachable

public static boolean tryEnrichWithArmorAttachable(String bedrockIdentifier, String attachableOutputPath, String namespace, String itemFilenameStem, String baseItem, AssetResolver resolver, File mergedJavaPack, File bedrockDir)

Items-pipeline-driven enrichment hook. Called per (item × base item) mapping after the flat-icon (2D) path registers the mapping. If the item looks like armor for the given base item, resolves the corresponding Java equipment file, picks the right layer for the slot, copies the armor texture into the Bedrock pack, and writes a worn-armor attachable whose description.identifier EQUALS the supplied bedrockIdentifier (i.e. the identifier the Geyser mapping points at via minecraft:item_model).

Texture path convention (matches the previous standalone pipeline so we don't churn pack contents): textures/entity/equipment/<safeNs>/<materialStem>_<slot>.png.

Attachable filesystem path: attachables/<namespace>/<bedrockIdentifierPath>.json, symmetric with FMM and generic-3D attachables (see FmmAttachableGenerator.writeAttachable comments around line 201).

Return

true if a worn-armor attachable was actually written.

Parameters

bedrockIdentifier

Identifier the Geyser mapping points at, e.g. "elitemobs:gear_bronze_chestplate_icon__iron_chestplate". The attachable's description.identifier is set to this verbatim so Geyser's bedrock-identifier-based lookup finds it.

attachableOutputPath

Filesystem stem under attachables/ (no extension), e.g. "elitemobs/gear_bronze_chestplate_icon__iron_chestplate".

namespace

Source namespace (e.g. "elitemobs"). Used to locate the equipment definition under assets/<ns>/equipment/....

itemFilenameStem

Filename stem of the items definition (e.g. "bronze_chestplate" for items/gear/bronze_chestplate.json). Drives the inferSlot filename heuristic and supplies the material stem when stripped of slot suffix.

baseItem

Target Java armor base item (e.g. "minecraft:iron_chestplate"). Used to validate the inferred slot matches and to detect the elytra special case.

resolver

Cache for assets/<ns>/equipment/*.json lookups.

mergedJavaPack

Root of the merged Java pack on disk (for texture-source lookup).

bedrockDir

Root of the Bedrock pack being written.