fix: detect advanced peripherals block reader by type or method

This commit is contained in:
2026-08-02 16:33:50 +08:00
parent b725c74e1d
commit 61576a7d9e
+20 -2
View File
@@ -2,7 +2,7 @@
-- ============================================================================ -- ============================================================================
-- 1. Configuration & Constants -- 1. Configuration & Constants
-- ============================================================================ -- ============================================================================
local APP_VERSION_TEXT = "v1.0.27" local APP_VERSION_TEXT = "v1.0.28"
local CONFIG = { local CONFIG = {
CLOUD_URL = "ws://stabadmin.fse-media.group", CLOUD_URL = "ws://stabadmin.fse-media.group",
@@ -127,7 +127,25 @@ function Peripherals.init()
pcall(Peripherals.createTarget.resize, 80, 10) pcall(Peripherals.createTarget.resize, 80, 10)
end end
-- Block Reader (Advanced Peripherals) -- Block Reader (Advanced Peripherals)
Peripherals.blockReader = peripheral.find("blockReader") local blockReader = nil
local typeCandidates = { "blockReader", "block_reader", "arBlockReader", "advancedperipherals:block_reader" }
for _, t in ipairs(typeCandidates) do
local p = peripheral.find(t)
if p then
blockReader = p
break
end
end
if not blockReader and peripheral.getNames then
for _, name in ipairs(peripheral.getNames()) do
local p = peripheral.wrap(name)
if p and type(p.getBlockData) == "function" then
blockReader = p
break
end
end
end
Peripherals.blockReader = blockReader
end end
-- ============================================================================ -- ============================================================================