From 25eae158b1e9898408a34a1ed11bae78297471cf Mon Sep 17 00:00:00 2001 From: Emerson Rosen-Jones Date: Sat, 3 Jan 2026 20:23:31 -0500 Subject: [PATCH] misc: demo old code --- compacting-storage.lua | 64 +++++------------------------------------- 1 file changed, 7 insertions(+), 57 deletions(-) diff --git a/compacting-storage.lua b/compacting-storage.lua index beca343..99df3ac 100644 --- a/compacting-storage.lua +++ b/compacting-storage.lua @@ -31,51 +31,9 @@ local BLOCKS = 81 local MIN_NUM = (4 * STACKS * NUGGETS) + (4 * STACKS * INGOTS) local MAX_NUM = (8 * STACKS * NUGGETS) + (8 * STACKS * INGOTS) --- TODO map targets to specific relays and faces --- Key - 1: nuggets_to_ingots, 2: ingots_to_blocks, 3: blocks_to_ingots, --- 4: ingots_to_nuggets, 5: enable/disable production -local target = {} -target.iron = {} -target.iron[1] = "0:front" -target.iron[2] = "0:top" -target.iron[3] = "0:back" -target.iron[4] = "16:front" -target.iron[5] = "17:back" -target.copper = {} -target.copper[1] = "1:front" -target.copper[2] = "1:top" -target.copper[3] = "1:back" -target.copper[4] = "16:top" -target.copper[5] = "18:front" -target.zinc = {} -target.zinc[1] = "2:front" -target.zinc[2] = "2:top" -target.zinc[3] = "2:back" -target.zinc[4] = "16:back" -target.zinc[5] = "18:top" -target.gold = {} -target.gold[1] = "3:front" -target.gold[2] = "3:top" -target.gold[3] = "3:back" -target.gold[4] = "17:front" -target.gold[5] = "18:back" -target.electrum = {} -target.electrum[1] = "4:front" -target.electrum[2] = "4:top" -target.electrum[3] = "4:back" -target.electrum[4] = "17:top" - -- basic actions function craft (item_type, conversion_type) - -- TODO double check this - local relay_num, face = string.match( - target[item_type][conversion_type], - "(%d+):(%l+)" - ) - local periph = string.format("redstone_relay_%d", relay_num) - peripheral.call(periph, "setOutput", face, true) - os.sleep(0.1) - peripheral.call(periph, "setOutput", face, false) + -- TODO rework end function craft_multiple (item_type, conversion_type, count) @@ -107,17 +65,8 @@ function execute_crafts (item_type, crafts) end end -function set_production (item_type, produce) - local target_string = target[item_type][5] - if target_string == nil then return end - local relay_num, face = string.match( - target_string, - "(%d+):(%l+)" - ) - local periph = string.format("redstone_relay_%d", relay_num) - -- ON is disable production - if produce then print(("Producing %s"):format(item_type)) end - peripheral.call(periph, "setOutput", face, not produce) +function request_more (item_type, amt) + -- TODO end -- logic @@ -136,6 +85,7 @@ function dist_to_num (dist) end function get_dist (item_type, items) + -- TODO redo, incorporate sum_items. DRY! local dist = { nuggets = 0, ingots = 0, blocks = 0 } for item, count in pairs(items) do local type, form = item:match":(%l-)_(%l*)" @@ -188,7 +138,6 @@ function filter_clamp (diff, current_dist) end function diff_to_crafts (diff) - -- TODO double-check this one -- go from one end e.g. nuggets to the other e.g. blocks, removing -- from the diff to create crafts until the diff is empty local crafts = {} @@ -215,7 +164,6 @@ while true do for _, item_type in ipairs(ITEM_TYPES) do local current_dist = get_dist(item_type, items) local num = dist_to_num(current_dist) - if num > MAX_NUM then set_production(item_type, false) end if num > MIN_NUM then local desired_dist = decide_dist(num) local diff = get_diff(desired_dist, current_dist) @@ -223,7 +171,9 @@ while true do local crafts = diff_to_crafts(diff) execute_crafts(item_type, crafts) else - set_production(item_type, true) + -- TODO + -- TODO potentially keep requesting until above MAX_NUM + request_more(item_type, amt) end end