Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- local commandBlock = peripheral.wrap('top')
- tCube = {['s1'] = {}, ['s2'] = {}, ['s3'] = {}, ['s4'] = {}, ['s5'] = {}, ['s6'] = {}}
- local tCell = {'~-1 ', '~ ', '~1 ', '~2 ', '~-2 '}
- local tCoord = {
- ['s1'] = {
- {3, 4, 1}, {3, 4, 2}, {3, 4, 3},
- {2, 4, 1}, {2, 4, 2}, {2, 4, 3},
- {1, 4, 1}, {1, 4, 2}, {1, 4, 3}},
- ['s2'] = {
- {1, 3, 4}, {2, 3, 4}, {3, 3, 4},
- {1, 2, 4}, {2, 2, 4}, {3, 2, 4},
- {1, 1, 4}, {2, 1, 4}, {3, 1, 4}},
- ['s3'] = {
- {4, 3, 3}, {4, 3, 2}, {4, 3, 1},
- {4, 2, 3}, {4, 2, 2}, {4, 2, 1},
- {4, 1, 3}, {4, 1, 2}, {4, 1, 1}},
- ['s4'] = {
- {3, 3, 5}, {2, 3, 5}, {1, 3, 5},
- {3, 2, 5}, {2, 2, 5}, {1, 2, 5},
- {3, 1, 5}, {2, 1, 5}, {1, 1, 5}},
- ['s5'] = {
- {5, 3, 1}, {5, 3, 2}, {5, 3, 3},
- {5, 2, 1}, {5, 2, 2}, {5, 2, 3},
- {5, 1, 1}, {5, 1, 2}, {5, 1, 3}},
- ['s6'] = {
- {1, 5, 1}, {1, 5, 2}, {1, 5, 3},
- {2, 5, 1}, {2, 5, 2}, {2, 5, 3},
- {3, 5, 1}, {3, 5, 2}, {3, 5, 3}}}
- local function reset()
- for i = 1, 9 do
- tCube['s1'][i] = 14
- tCube['s2'][i] = 0
- tCube['s3'][i] = 13
- tCube['s4'][i] = 4
- tCube['s5'][i] = 11
- tCube['s6'][i] = 1
- end
- end
- local function drawCube()
- for pG = 1, 9 do
- for eS = 1, 6 do
- commandBlock.setCommand('setblock '..
- tCell[tCoord['s'..eS][pG][1]]..
- tCell[tCoord['s'..eS][pG][2]]..
- tCell[tCoord['s'..eS][pG][3]]..
- 'wool '..
- tCube['s'..eS][pG])
- commandBlock.runCommand()
- end
- end
- end
- local function abracadabra(side, rule)
- if rule == '01' then
- tCube[side][1], tCube[side][2], tCube[side][3], tCube[side][4], tCube[side][6], tCube[side][7], tCube[side][8], tCube[side][9] =
- tCube[side][7], tCube[side][4], tCube[side][1], tCube[side][8], tCube[side][2], tCube[side][9], tCube[side][6], tCube[side][3]
- elseif rule == '02' then
- tCube[side][7], tCube[side][4], tCube[side][1], tCube[side][8], tCube[side][2], tCube[side][9], tCube[side][6], tCube[side][3] =
- tCube[side][1], tCube[side][2], tCube[side][3], tCube[side][4], tCube[side][6], tCube[side][7], tCube[side][8], tCube[side][9]
- end
- end
- local function magic(sides, cells)
- tCube[sides[1]][cells[1]],
- tCube[sides[2]][cells[2]],
- tCube[sides[3]][cells[3]],
- tCube[sides[4]][cells[4]],
- tCube[sides[1]][cells[5]],
- tCube[sides[2]][cells[6]],
- tCube[sides[3]][cells[7]],
- tCube[sides[4]][cells[8]],
- tCube[sides[1]][cells[9]],
- tCube[sides[2]][cells[10]],
- tCube[sides[3]][cells[11]],
- tCube[sides[4]][cells[12]] =
- tCube[sides[5]][cells[13]],
- tCube[sides[6]][cells[14]],
- tCube[sides[7]][cells[15]],
- tCube[sides[8]][cells[16]],
- tCube[sides[5]][cells[17]],
- tCube[sides[6]][cells[18]],
- tCube[sides[7]][cells[19]],
- tCube[sides[8]][cells[20]],
- tCube[sides[5]][cells[21]],
- tCube[sides[6]][cells[22]],
- tCube[sides[7]][cells[23]],
- tCube[sides[8]][cells[24]]
- end
- local function rotate(V)
- if V == '01' then
- magic({'s2', 's3', 's4', 's5', 's3', 's4', 's5', 's2'}, {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3,})
- abracadabra('s1', '01')
- elseif V == '02' then
- magic({'s2', 's3', 's4', 's5', 's3', 's4', 's5', 's2'}, {4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6,})
- elseif V == '03' then
- magic({'s2', 's3', 's4', 's5', 's3', 's4', 's5', 's2'}, {7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9,})
- abracadabra('s6', '02')
- elseif V == '04' then
- magic({'s1', 's5', 's6', 's3', 's5', 's6', 's3', 's1'}, {1, 1, 1, 9, 4, 4, 4, 6, 7, 7, 7, 3, 1, 1, 9, 1, 4, 4, 6, 4, 7, 7, 3, 7})
- abracadabra('s4', '02')
- elseif V == '05' then
- magic({'s1', 's5', 's6', 's3', 's5', 's6', 's3', 's1'}, {2, 2, 2, 8, 5, 5, 5, 5, 8, 8, 8, 2, 2, 2, 8, 2, 5, 5, 5, 5, 8, 8, 2, 8})
- elseif V == '06' then
- magic({'s1', 's5', 's6', 's3', 's5', 's6', 's3', 's1'}, {3, 3, 3, 7, 6, 6, 6, 4, 9, 9, 9, 1, 3, 3, 7, 3, 6, 6, 4, 6, 9, 9, 1, 9})
- abracadabra('s2', '01')
- elseif V == '07' then
- magic({'s1', 's4', 's6', 's2', 's4', 's6', 's2', 's1'}, {3, 1, 7, 9, 2, 4, 8, 6, 1, 7, 9, 3, 1, 7, 9, 3, 4, 8, 6, 2, 7, 9, 3, 1,})
- abracadabra('s3', '02')
- elseif V == '08' then
- magic({'s1', 's4', 's6', 's2', 's4', 's6', 's2', 's1'}, {6, 2, 4, 8, 5, 5, 5, 5, 4, 8, 6, 2, 2, 4, 8, 6, 5, 5, 5, 5, 8, 6, 2, 4,})
- elseif V == '09' then
- magic({'s1', 's4', 's6', 's2', 's4', 's6', 's2', 's1'}, {9, 3, 1, 7, 8, 6, 2, 4, 7, 9, 3, 1, 3, 1, 7, 9, 6, 2, 4, 8, 9, 3, 1, 7,})
- abracadabra('s5', '01')
- elseif V == '11' then
- magic({'s3', 's5', 's2', 's4', 's2', 's4', 's5', 's3'}, {1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3,})
- abracadabra('s1', '02')
- elseif V == '12' then
- magic({'s3', 's5', 's2', 's4', 's2', 's4', 's5', 's3'}, {4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 4, 4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6,})
- elseif V == '13' then
- magic({'s3', 's5', 's2', 's4', 's2', 's4', 's5', 's3'}, {7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9,})
- abracadabra('s6', '01')
- elseif V == '14' then
- magic({'s5', 's1', 's3', 's6', 's1', 's3', 's6', 's5'}, {1, 1, 9, 1, 4, 4, 6, 4, 7, 7, 3, 7, 1, 9, 1, 1, 4, 6, 4, 4, 7, 3, 7, 7})
- abracadabra('s4', '01')
- elseif V == '15' then
- magic({'s5', 's1', 's3', 's6', 's1', 's3', 's6', 's5'}, {2, 2, 8, 2, 5, 5, 5, 5, 8, 8, 2, 8, 2, 8, 2, 2, 5, 5, 5, 5, 8, 2, 8, 8})
- elseif V == '16' then
- magic({'s5', 's1', 's3', 's6', 's1', 's3', 's6', 's5'}, {3, 3, 7, 3, 6, 6, 4, 6, 9, 9, 1, 9, 3, 7, 3, 3, 6, 4, 6, 6, 9, 1, 9, 9})
- abracadabra('s2', '02')
- elseif V == '17' then
- magic({'s4', 's1', 's2', 's6', 's1', 's2', 's6', 's4'}, {7, 1, 3, 9, 4, 2, 6, 8, 1, 3, 9, 7, 1, 3, 9, 7, 2, 6, 8, 4, 3, 9, 7, 1,})
- abracadabra('s3', '01')
- elseif V == '18' then
- magic({'s4', 's1', 's2', 's6', 's1', 's2', 's6', 's4'}, {8, 4, 2, 6, 5, 5, 5, 5, 2, 6, 8, 4, 4, 2, 6, 8, 5, 5, 5, 5, 6, 8, 4, 2,})
- elseif V == '19' then
- magic({'s4', 's1', 's2', 's6', 's1', 's2', 's6', 's4'}, {9, 7, 1, 3, 6, 8, 4, 2, 3, 9, 7, 1, 7, 1, 3, 9, 8, 4, 2, 6, 9, 7, 1, 3,})
- abracadabra('s5', '02')
- end
- end
- reset()
- drawCube()
- while true do
- if turtle.detect() then
- local n = 0
- local success, data = turtle.inspect()
- if data.name == 'minecraft:stained_glass' then n = 1
- elseif data.name == 'minecraft:stained_glass_pane' then n = 0
- end
- rotate(n..data.metadata)
- drawCube()
- turtle.dig()
- sleep(0.1)
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement