From 92a55f15c9f77af50e986c9d66c90bdd3aee7c69 Mon Sep 17 00:00:00 2001 From: Laurie Fisher Date: Fri, 27 Jun 2025 14:59:50 +0100 Subject: [PATCH] test --- libs/turtleutils.lua | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/libs/turtleutils.lua b/libs/turtleutils.lua index b10a08e..d506463 100644 --- a/libs/turtleutils.lua +++ b/libs/turtleutils.lua @@ -1,10 +1,31 @@ local M = {} --- Helper: retry turtle action up to N times +local logger = require("libs.logger") + +-- Minimum fuel required to proceed with one movement +local MIN_FUEL = 1 -- you can raise this if you want a safety margin + +-- Ensure the turtle has fuel +local function checkFuel() + local fuel = turtle.getFuelLevel() + if fuel == "unlimited" then return true end -- creative mode + if fuel == nil or fuel < MIN_FUEL then + logger.log("Not enough fuel! Current level: " .. tostring(fuel)) + return false + end + return true +end + +-- Helper: retry an action with fuel check local function try(actionFn, times) times = times or 5 for i = 1, times do - if actionFn() then return true end + if not checkFuel() then + logger.log("Waiting for fuel...") + sleep(2) + elseif actionFn() then + return true + end sleep(0.5) end return false