writeAttachable

public static String writeAttachable(String bedrockIdentifier, String attachableOutputPath, String geometryId, String bedrockTexturePath, FmmAnimationGenerator.AnimationIds animIds, File bedrockPackDir)

Phase G — Step 2 of 2 for the generic pipeline. Writes ONE attachable JSON file referencing the (already-emitted) animation set and geometry. Called N times per model (once per candidate base item) with a unique bedrockIdentifier each.

Return

the bedrockIdentifier on success, null on failure

Parameters

bedrockIdentifier

Bedrock-side attachable identifier, e.g. "elitemobs:gear_bronze_sword__minecraft_diamond_sword". Per Geyser docs, this MUST be globally unique across all custom item definitions.

attachableOutputPath

filesystem stem under attachables/ (no extension), e.g. "elitemobs/gear_bronze_sword__minecraft_diamond_sword" writes to attachables/elitemobs/gear_bronze_sword__minecraft_diamond_sword.json

geometryId

geometry identifier emitted by FmmGeometryConverter (shared per model)

bedrockTexturePath

Bedrock texture path emitted by TextureStitcher (shared per model)

animIds

animation identifier triple returned by prepareAnimations (shared per model)

bedrockPackDir

output pack root


public static String writeAttachable(String bedrockIdentifier, String attachableOutputPath, String geometryId, String bedrockTexturePath, FmmAnimationGenerator.AnimationIds animIds, ItemParticleAttachment particles, File bedrockPackDir)

As writeAttachable, also wiring held-item particles when particles is not null.