[š]: MCW Bridges: Stonecutter Balustrade Conversion Failures - MCW Fences: Missing Value in Modern Stone Wall Stonecutter Template
xparadise95 opened this issue Ā· 5 comments
Code of Conduct
- Always check you are using the latest version of the mods and its dependencies
- Remove mod that enhances Minecraft: Optifine, Sodium, others. The issue still persists.
- If you are unsure which mod is the culprit.
Disable all of your mods and enable them 1-2 mods each time to isolate the culprit - Confirm that there is no existing issue with a similar description submitted in the list of issues.
Version - Loader (DO NOT FORGET TO SELECT THE CORRECT VERSION)
1.20.1 - FORGE
EveryCompat Version
everycomp-1.20-2.7.24
Moonlight Lib Version
moonlight-1.20-2.13.79
Issue with mods
Source mods: MCW Bridges (mcwbridges) - MCW Fences (mcwfences)
Target mods: ad_astra, alexscaves, supplementaries, deep_aether, naturalist, twigs, deeperdarker, aether (all referenced by names like balustrade_glacio_stone_bricks_bridge)
Issue Detail
MCW Bridges':
EveryCompatās dynamic recipe template for MCW Bridgesā āmossy stone bricks balustrade bridgeā hardācodes its output type as minecraft:stone. When EveryCompat attempts to automatically āconvertā that generic stone into each modās custom stone type (e.g. ad_astra:glacio_stone), the conversion fails ā the templateās output type doesnāt match the target blockās registry type.
MCW Fences:
EveryCompat tried to read the JSON at mcwfences:recipes/modern_stone_wall_stonecutter.json, but the fileās missing its required āresultā field, causing a NoSuchElementException.
OPTIONAL: Latest.log | Crash-report Attachment
OPTIONAL: To Produce
Hi there! I donāt want to be intrusive in your codebase, but here are two minimal, nonāintrusive patches you can drop into EveryCompat to prevent those recipeāgeneration errors:
MCW Bridges':
SimpleEntrySet.builder("balustrade", Blocks.STONE_BRICKS, BalustradeBlock.class, StonecuttingRecipe::new)
// Convert hardācoded minecraft:stone output into each modās correct block
.convertOutput("minecraft:stone", Map.of(
"ad_astra", "ad_astra:glacio_stone",
"alexscaves", "alexscaves:guanostone",
"supplementaries", "supplementaries:ash",
"deep_aether", "deep_aether:aseterite",
"deeperdarker", "deeperdarker:sculk_stone",
"aether", "aether:holystone"
))
.build();
MCW Fences:
SimpleEntrySet.builder("modern_stone_wall", Blocks.STONE_BRICKS, WallBlock.class, StonecuttingRecipe::new)
// Skip any template missing a valid āresultā field to avoid NoSuchElementException
.addCondition(template -> template.contains("result"))
.build();
I'm looking into this. and saw you just cropped a part of latest.log. I need the whole content of the latest.log.
EDIT:
ok I've fixed the missing recipe for Macaw's Fences & Walls' modern_andesite_walls
and the error about the stonecutter recipe. I put it under the wrong block. it's fixed.