Add smelter touch handler for recipe management and pause functionality
This commit is contained in:
@@ -1188,6 +1188,8 @@ end
|
|||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
|
|
||||||
local function autoSmelt()
|
local function autoSmelt()
|
||||||
|
if smeltingPaused then return false end
|
||||||
|
|
||||||
local furnaces = getFurnaces()
|
local furnaces = getFurnaces()
|
||||||
if #furnaces == 0 then return end
|
if #furnaces == 0 then return end
|
||||||
|
|
||||||
@@ -1314,7 +1316,7 @@ local function autoSmelt()
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
if compatible and catalogue[itemName] then
|
if compatible and not disabledRecipes[itemName] and catalogue[itemName] then
|
||||||
-- Count total of this item across all chests
|
-- Count total of this item across all chests
|
||||||
local totalInStorage = 0
|
local totalInStorage = 0
|
||||||
for _, src in ipairs(catalogue[itemName]) do
|
for _, src in ipairs(catalogue[itemName]) do
|
||||||
@@ -1514,6 +1516,66 @@ local function handleTouch(x, y)
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-------------------------------------------------
|
||||||
|
-- Smelter touch handler
|
||||||
|
-------------------------------------------------
|
||||||
|
|
||||||
|
local function handleSmelterTouch(x, y)
|
||||||
|
local action, data = smelterHitTest(x, y)
|
||||||
|
if not action then return end
|
||||||
|
|
||||||
|
if action == "tab" then
|
||||||
|
smelterView = data
|
||||||
|
smelterPage = 1
|
||||||
|
print("[SMELT-UI] Tab: " .. data)
|
||||||
|
smelterNeedsRedraw = true
|
||||||
|
|
||||||
|
elseif action == "toggle_pause" then
|
||||||
|
smeltingPaused = not smeltingPaused
|
||||||
|
print("[SMELT-UI] Smelting " .. (smeltingPaused and "PAUSED" or "RESUMED"))
|
||||||
|
saveDisabledRecipes()
|
||||||
|
smelterNeedsRedraw = true
|
||||||
|
needsRedraw = true
|
||||||
|
|
||||||
|
elseif action == "toggle_recipe" then
|
||||||
|
if disabledRecipes[data] then
|
||||||
|
disabledRecipes[data] = nil
|
||||||
|
else
|
||||||
|
disabledRecipes[data] = true
|
||||||
|
end
|
||||||
|
local short = data:gsub("^minecraft:", ""):gsub("_", " ")
|
||||||
|
print("[SMELT-UI] Recipe " .. short .. ": " .. (disabledRecipes[data] and "OFF" or "ON"))
|
||||||
|
saveDisabledRecipes()
|
||||||
|
smelterNeedsRedraw = true
|
||||||
|
|
||||||
|
elseif action == "enable_all" then
|
||||||
|
disabledRecipes = {}
|
||||||
|
print("[SMELT-UI] All recipes enabled")
|
||||||
|
saveDisabledRecipes()
|
||||||
|
smelterNeedsRedraw = true
|
||||||
|
|
||||||
|
elseif action == "disable_all" then
|
||||||
|
for inputName in pairs(SMELTABLE) do
|
||||||
|
disabledRecipes[inputName] = true
|
||||||
|
end
|
||||||
|
print("[SMELT-UI] All recipes disabled")
|
||||||
|
saveDisabledRecipes()
|
||||||
|
smelterNeedsRedraw = true
|
||||||
|
|
||||||
|
elseif action == "page_prev" then
|
||||||
|
if smelterPage > 1 then
|
||||||
|
smelterPage = smelterPage - 1
|
||||||
|
end
|
||||||
|
smelterNeedsRedraw = true
|
||||||
|
|
||||||
|
elseif action == "page_next" then
|
||||||
|
if smelterPage < smelterTotalPages then
|
||||||
|
smelterPage = smelterPage + 1
|
||||||
|
end
|
||||||
|
smelterNeedsRedraw = true
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
-- Main
|
-- Main
|
||||||
-------------------------------------------------
|
-------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user