The Script API's LootPool.rolls is typed as minecraftcommon.NumberRange (with min and max properties), but at runtime it returns an object that does not conform to that interface. When serialized via JSON.stringify, the value is stripped entirely. The min and max properties are inaccessible regardless of whether rolls is defined as a flat number (1) or a range object ({"min": 1, "max": 10}) in the loot table JSON.
Steps to Reproduce:
Apply the attached mcpack.
Open a world with the pack applied.
Run the custom command
/ss_ltm:bug_report.Observe the output in chat.
Expected Result: Each pool's rolls field serializes as a NumberRange:
"rolls": [
{"rolls": { "min": 1, "max": 1 } },
{"rolls": { "min": 1, "max": 10 } }
]Actual Result: The rolls field is missing from each entry — the native object fails to serialize, leaving only index:
"rolls": [
{"rolls": "N/A" },
{"rolls": "N/A" }
]Observed in: Minecraft Preview, @minecraft/server 2.8.0-beta, engine version 1.26.20
Attachments: Repro mcpack included.
Thank you for helping us improve Minecraft! We saved your files: