-- energia.lua -- Muestra el nivel de energía (FE) de un bloque detrás del ordenador local side = "back" -- bloque que contiene energía (detrás del ordenador) -- función para obtener energía actual y capacidad local function getEnergy(side) local methods = { {"getEnergyStored", "getEnergyCapacity"}, {"getEnergy", "getMaxEnergy"}, {"getEnergyStored", "getMaxEnergyStored"}, {"getEnergy", "getEnergyCapacity"}, {"getEnergyStats"} -- algunos mods devuelven tabla {energy, capacity} } for _, pair in ipairs(methods) do local curMeth, capMeth = pair[1], pair[2] if peripheral.hasType(side) or peripheral.getType(side) then local ok1, cur = pcall(peripheral.call, side, curMeth) local ok2, cap = pcall(peripheral.call, side, capMeth) if ok1 and ok2 and type(cur) == "number" and type(cap) == "number" then return cur, cap elseif ok1 and type(cur) == "table" and cur.energy and cur.capacity then return cur.energy, cur.capacity end end end return nil, nil end while true do local energy, capacity = getEnergy(side) term.clear() term.setCursorPos(1,1) if energy and capacity then local percent = (energy / capacity) * 100 print(("Energía: %d / %d FE (%.1f%%)"):format(energy, capacity, percent)) else print("No se pudo leer energía del bloque en "..side) print("Asegúrate de que el bloque está conectado como periférico.") end sleep(1) end