File material extensions under their own name
An extension was written to the same path as the material it extends, one pack over. A datapack file is identified by its path, so that never added an extension to anything: it replaced the material with a stub, whichever of the two packs loaded last. The stub then named itself as its own parent, which MIAPI reads as a cycle and drops, and the material was gone entirely for anyone with both mods installed: Unresolved extension cmmodular:metal/arcane_metal for target cmmodular:metal/arcane_metal (missing or cyclic dependency) That is arcane metal and mithril, the two materials Create: Wizardry adds forms of, and it explains why they worked before the extensions existed. Ice and Fire's amethyst was never affected - it extends a miapi: material, so its own cmmodular: path collided with nothing. The generated name carries the pack that owns the extension, since the pack is why the extension exists and there could be another from a different mod later. Nothing else about the files changes. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>gem-slots-and-the-fangs-element
parent
766d8afe2b
commit
85eee5aeec
|
|
@ -1426,7 +1426,13 @@ def _extend_with_extra_forms(pack="create_wizardry"):
|
|||
path = f"{base['group']}/{name}"
|
||||
EXTENSIONS.append({
|
||||
"pack": pack,
|
||||
"path": path,
|
||||
# The extension is filed under its own name, not the material's. A
|
||||
# datapack file is identified by its path, so writing it to the
|
||||
# material's path in a second pack does not add an extension - it
|
||||
# replaces the material with one, whichever pack loads last. The
|
||||
# extension then names itself as its own parent, MIAPI reads that as
|
||||
# a cycle, and the material is gone for anyone with both mods.
|
||||
"path": f"{path}_from_{pack}",
|
||||
"data": {
|
||||
"parent": f"cmmodular:{path}",
|
||||
"data": {
|
||||
|
|
|
|||
Loading…
Reference in New Issue