-- -- config.example.lua -- -- Copy this to /config.lua on each device and edit it. One config.lua PER device. -- The program updater never overwrites config.lua, so these settings survive a -- re-install. Every device (coordinator + RTUs) needs unit_id, unit_type, modem; -- the rest are subsystem knobs used only by that device's program. -- return { -- === required on every device === unit_id = 3, -- unique number across the whole facility unit_type = "sim_chamber", -- coordinator routes/labels by this. one of: -- "coordinator" -- "sim_chamber" -- "data_center" -- "hydroponics" -- "me_network" -- "power" modem = "back", -- side/name of this device's ENDER modem -- === subsystem knobs (sim_chamber RTU example) === -- these are just the top-of-file constants the chamber program already uses chamber_type = "hostilenetworks:sim_chamber", barrel_side = "back", barrel_type = "minecraft:barrel", catalyst_top_up = 8, catalyst_low = 8, -- === subsystem knobs (me_network RTU) === -- me_bridge = "back", -- side/name of the Advanced Peripherals ME Bridge (auto-detected if omitted) -- === subsystem knobs (data_center RTU) === -- Monitoring needs nothing (ports auto-discovered). CONTROL needs these, -- because CC can't read a port's in-world mode. Port roles confirmed as -- 0=input, 1=models, 2=output (adjust the names if this data center's ports -- enumerate differently): -- dc_input_port = "hostilenetworks:data_center_io_port_0", -- item input -- dc_model_port = "hostilenetworks:data_center_io_port_1", -- model input -- dc_output_port = "hostilenetworks:data_center_io_port_2", -- output -- dc_model_source = "minecraft:barrel_0", -- barrel of models to load. KEEP IT -- SELF-AWARE ONLY: the data center only accepts Self-Aware models, and CC -- cannot read a model's tier (getItemDetail gives only an opaque nbt hash), -- so the load picker shows whatever is in this barrel. Curate it accordingly. -- dc_input_source = "minecraft:barrel_1", -- barrel of predictions (feeds port_0) -- dc_output_sink = "minecraft:barrel_2", -- where to push outputs (optional; not required) -- === RTU status cadence === status_interval = 2, -- seconds between status broadcasts to the coordinator -- === coordinator-only fields (ignored by RTUs) === -- for a device with unit_type = "coordinator": -- chambers_monitor = "monitor_0", -- monitor for the chambers dashboard (auto-detected if omitted) -- me_monitor = "monitor_1", -- monitor for the ME dashboard (omit to skip the ME monitor) -- one 4x4 monitor per data center, keyed by that DC RTU's unit_id: -- dc_monitors = { -- [11] = "monitor_2", -- [12] = "monitor_3", -- [13] = "monitor_4", -- [14] = "monitor_5", -- [15] = "monitor_6", -- [16] = "monitor_7", -- }, -- link_timeout = 15, -- seconds of silence before a unit is marked OFFLINE -- ping_interval = 3, -- seconds between pings to keep RTU link lights fresh }