-
Notifications
You must be signed in to change notification settings - Fork 0
Description
Description:
When using TFC Dynamic Structures to dynamically replace wood in structures, the mod crashes whenever a hanging sign is present. Normal signs can be blacklisted successfully, but hanging signs (minecraft:hanging_sign) are treated as a separate block entity and cannot be skipped via the existing blacklist logic.
Steps to Reproduce:
Use TFC Dynamic Structures with a tfcWorldReplacements mapping for "wood": "tfc:wood".
Load a structure containing a hanging sign (for example, any Valarian Conquest fort with hanging signs).
Start a new world or regenerate the structure.
Observe the crash:
Caused by: java.lang.IllegalArgumentException: No model for layer tfc:hanging_sign/acacia#main
Expected Behavior:
Blacklisting "minecraft:sign" prevents crashes for normal signs.
Hanging signs should be either handled by the same blacklist logic or a dedicated hook so dynamic wood replacement does not attempt to resolve their model before registry completion.
Current Behavior:
Dynamic wood replacement attempts to resolve hanging sign block families during structure placement, before the renderer/model is registered, causing a crash.
Manual overrides for logs and planks do not prevent this crash because the hanging sign is still included in the structure’s palette.
Suggested Fix / Improvement:
Add support for blacklisting minecraft:hanging_sign as a separate entity.
Alternatively, provide a “safe-late-load” hook for block family resolution, so block entities like signs and hanging signs are not resolved until their models are fully registered.
Environment:
Minecraft version: 1.20.1
TFC Dynamic Structures version: 0.3.2
Additional Notes:
This issue occurs with both “biome-adaptive” tfc:wood replacements and manual per-block overrides.
Normal signs (minecraft:sign) are unaffected when blacklisted.