22
33A maintainer CLI that regenerates the embedded Rust item dataset
44(` src/RustPlusBot.Features.ItemData/Data/item-data.json ` ) consumed by the bot's
5- ` /item ` , ` /recycle ` , ` /craft ` , ` /research ` , ` /decay ` , ` /upkeep ` , and ` /durability ` calculators.
5+ ` /item ` , ` /recycle ` , ` /craft ` , ` /research ` , ` /decay ` , ` /upkeep ` , ` /durability ` , and ` /smelt ` calculators.
66
77This tool is ** not** part of the running bot — it is referenced by nothing in
88the application graph. It exists so the bundled item data can be refreshed when
@@ -38,6 +38,7 @@ garbage** if the upstream shape drifts.
3838 | ` rustlabsDecayData.json ` | decay time + HP |
3939 | ` rustlabsUpkeepData.json ` | upkeep cost (resource + quantity range) |
4040 | ` rustlabsDurabilityData.json ` | raid cost (explosives only — trimmed) |
41+ | ` rustlabsSmeltingData.json ` | smelting/cooking conversions (per smelter) |
4142
42432 . Projects them into our own typed schema (` ItemDataset ` /
4344 ` ItemRecord ` / …, defined in ` RustPlusBot.Features.ItemData ` ), keyed by item id,
@@ -91,8 +92,8 @@ tests assert known items resolve correctly.
9192
9293The source dates stamped into the dataset are currently hard-coded constants in
9394[ ` Program.cs ` ] ( Program.cs ) (` NamesAsOf ` , ` RecycleAsOf ` , ` CraftAsOf ` ,
94- ` ResearchAsOf ` , ` DecayAsOf ` , ` UpkeepAsOf ` , ` DurabilityAsOf ` ). Update them when
95- you refresh from newer upstream data.
95+ ` ResearchAsOf ` , ` DecayAsOf ` , ` UpkeepAsOf ` , ` DurabilityAsOf ` , ` SmeltingAsOf ` ).
96+ Update them when you refresh from newer upstream data.
9697
9798## Notes
9899
@@ -106,6 +107,11 @@ you refresh from newer upstream data.
106107 (item / building-block / vehicle). The raw source (` rustlabsDurabilityData.json ` )
107108 is ~ 19 MB and is ** never bundled** — only the projected, explosive-only rows
108109 are written into ` item-data.json ` .
110+ - Smelting data (` rustlabsSmeltingData.json ` , ~ 28 KB) is keyed by ** smelter**
111+ and projected into a dedicated ` Smelters ` table (` OfflineSmeltingSource ` ),
112+ resolved by name like raid targets. Its provenance (` SmeltingAsOf ` ,
113+ 2023-11-05) lags the other rustlabs sources because the upstream file has not
114+ changed since then.
109115
110116## Attribution
111117
0 commit comments