SHOW:
|
|
- or go back to the newest paste.
| 1 | - | local chest = peripheral.wrap("right")
|
| 1 | + | -- inspectField.lua |
| 2 | - | local item = chest.getItemDetail(1) |
| 2 | + | |
| 3 | -- Read optional field argument | |
| 4 | - | print("No item")
|
| 4 | + | local fieldName = ... |
| 5 | ||
| 6 | -- Wrap the chest on the right | |
| 7 | local chest = peripheral.wrap("right") -- :contentReference[oaicite:0]{index=0} :contentReference[oaicite:1]{index=1}
| |
| 8 | - | print("Fields in item slot 1:")
|
| 8 | + | if not chest then |
| 9 | - | for key in pairs(item) do |
| 9 | + | error("No chest peripheral on the right side")
|
| 10 | - | print("– "..key)
|
| 10 | + | |
| 11 | - | end |
| 11 | + | |
| 12 | -- Always inspect slot 1 | |
| 13 | local slot = 1 | |
| 14 | local item = chest.getItemDetail(slot) -- :contentReference[oaicite:2]{index=2}
| |
| 15 | if not item then | |
| 16 | print("No item in slot " .. slot)
| |
| 17 | return | |
| 18 | end | |
| 19 | ||
| 20 | -- If no field requested, list all keys | |
| 21 | if not fieldName then | |
| 22 | print("Fields in item slot " .. slot .. ":")
| |
| 23 | for key in pairs(item) do -- :contentReference[oaicite:3]{index=3}
| |
| 24 | print("– " .. key)
| |
| 25 | end | |
| 26 | return | |
| 27 | end | |
| 28 | ||
| 29 | -- Attempt to fetch the requested field | |
| 30 | local value = item[fieldName] | |
| 31 | if value == nil then | |
| 32 | error("Field '" .. fieldName .. "' not found on item")
| |
| 33 | end | |
| 34 | ||
| 35 | -- Helper to pretty-print nested tables | |
| 36 | local function dump(v, indent) | |
| 37 | indent = indent or "" | |
| 38 | if type(v) == "table" then | |
| 39 | for k, x in pairs(v) do -- :contentReference[oaicite:4]{index=4}
| |
| 40 | -- If it’s an array-like subtable, use ipairs for numeric indices | |
| 41 | if type(x) == "table" then | |
| 42 | print(indent .. k .. ":") | |
| 43 | dump(x, indent .. " ") | |
| 44 | else | |
| 45 | print(indent .. k .. ": " .. tostring(x)) | |
| 46 | end | |
| 47 | end | |
| 48 | else | |
| 49 | -- Fallback for numbers/strings/booleans | |
| 50 | print(tostring(v)) | |
| 51 | end | |
| 52 | end | |
| 53 | ||
| 54 | -- Print the requested field | |
| 55 | print("Contents of field '" .. fieldName .. "':")
| |
| 56 | dump(value) |