57 lines
1.3 KiB
Lua
57 lines
1.3 KiB
Lua
-- component {
|
|
-- inputs: ["in1": bit, "in2": bit, "inB": byte],
|
|
-- outputs: ["out": byte],
|
|
-- name: alu0,
|
|
-- optiCompute: fun
|
|
-- contents: {
|
|
--
|
|
-- }
|
|
-- }
|
|
|
|
function logikraft.computeCircuit(circuit, input)
|
|
|
|
end
|
|
|
|
local function has_value (tab, len, val)
|
|
for i = 1, len do
|
|
if tab[i].x == val.x and tab[i].y == val.y and tab[i].z == val.z then
|
|
return true
|
|
end
|
|
end
|
|
|
|
return false
|
|
end
|
|
|
|
function logikraft.discoverBlocks(pos)
|
|
local i = 2
|
|
local j = 1
|
|
local poz = {}
|
|
poz[1] = pos
|
|
while (j<i)
|
|
do
|
|
local p = poz[j]
|
|
j = j+1
|
|
print(dump(poz))
|
|
print(i)
|
|
print(j)
|
|
local neighbourhood = {
|
|
{x = p.x+1, y = p.y, z = p.z},
|
|
{x = p.x-1, y = p.y, z = p.z},
|
|
{x = p.x, y = p.y+1, z = p.z},
|
|
{x = p.x, y = p.y-1, z = p.z},
|
|
{x = p.x, y = p.y, z = p.z+1},
|
|
{x = p.x, y = p.y, z = p.z-1}
|
|
}
|
|
for p2=1,6
|
|
do
|
|
local n = neighbourhood[p2]
|
|
if((not has_value(poz,i-1,n)) and (minetest.get_item_group(minetest.get_node(n).name,"circuitry")==1))
|
|
then
|
|
poz[i] = n
|
|
i = i+1
|
|
end
|
|
end
|
|
end
|
|
|
|
minetest.chat_send_all("Discovered ".. (i-1) .. " blocks")
|
|
end |