Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function startup()
- rednet.open("back")
- name = read()
- file = fs.open("pictures/"..name,"r")
- stopReading = false
- blocks = {}
- blockNames = {"minecraft:white_wool","minecraft:light_gray_wool","minecraft:gray_wool","minecraft:black_wool","minecraft:brown_wool","minecraft:red_wool","minecraft:orange_wool","minecraft:yellow_wool","minecraft:lime_wool","minecraft:green_wool","minecraft:cyan_wool","minecraft:light_blue_wool","minecraft:blue_wool","minecraft:purple_wool","minecraft:magenta_wool","minecraft:pink_wool","minecraft:white_concrete","minecraft:light_gray_concrete","minecraft:gray_concrete","minecraft:black_concrete","minecraft:brown_concrete","minecraft:red_concrete","minecraft:orange_concrete","minecraft:yellow_concrete","minecraft:lime_concrete","minecraft:green_concrete","minecraft:cyan_concrete","minecraft:light_blue_concrete","minecraft:blue_concrete","minecraft:purple_concrete","minecraft:magenta_concrete","minecraft:pink_concrete","minecraft:white_glazed_terracotta","minecraft:light_gray_glazed_terracotta","minecraft:gray_glazed_terracotta","minecraft:black_glazed_terracotta","minecraft:brown_glazed_terracotta","minecraft:red_glazed_terracotta","minecraft:orange_glazed_terracotta","minecraft:yellow_glazed_terracotta","minecraft:lime_glazed_terracotta","minecraft:green_glazed_terracotta","minecraft:cyan_glazed_terracotta","minecraft:light_blue_glazed_terracotta","minecraft:blue_glazed_terracotta","minecraft:purple_glazed_terracotta","minecraft:magenta_glazed_terracotta","minecraft:pink_glazed_terracotta","minecraft:terracotta","minecraft:white_terracotta","minecraft:light_gray_terracotta","minecraft:gray_terracotta","minecraft:black_terracotta","minecraft:brown_terracotta","minecraft:red_terracotta","minecraft:orange_terracotta","minecraft:yellow_terracotta","minecraft:lime_terracotta","minecraft:green_terracotta","minecraft:cyan_terracotta","minecraft:light_blue_terracotta","minecraft:blue_terracotta","minecraft:purple_terracotta","minecraft:magenta_terracotta","minecraft:pink_terracotta","minecraft:white_stained_glass","minecraft:light_gray_stained_glass","minecraft:gray_stained_glass","minecraft:black_stained_glass","minecraft:brown_stained_glass","minecraft:red_stained_glass","minecraft:orange_stained_glass","minecraft:yellow_stained_glass","minecraft:lime_stained_glass","minecraft:green_stained_glass","minecraft:cyan_stained_glass","minecraft:light_blue_stained_glass","minecraft:blue_stained_glass","minecraft:purple_stained_glass","minecraft:magenta_stained_glass","minecraft:pink_stained_glass","minecraft:oak_wood","minecraft:spruce_wood","minecraft:birch_wood","minecraft:jungle_wood","minecraft:acacia_wood","minecraft:dark_oak_wood","minecraft:oak_planks","minecraft:spruce_planks","minecraft:birch_planks","minecraft:jungle_planks","minecraft:acacia_planks","minecraft:dark_oak_planks","minecraft:dirt","minecraft:clay"}
- blockNumbers = {}
- for i=1,128 do
- blocks[i] = {}
- end
- computers = {7}
- subComputers = {8,9,10,11,12,13,14,15,16}
- computerAreas = {}
- computerAreas[1] = {["x1"]=72,["x2"]=128,["z1"]=72,["z2"]=128}
- computerAreas[2] = {["x1"]=72,["x2"]=128,["z1"]=15,["z2"]=72}
- computerAreas[3] = {["x1"]=72,["x2"]=128,["z1"]=-3,["z2"]=19}
- computerAreas[4] = {["x1"]=19,["x2"]=70,["z1"]=72,["z2"]=128}
- computerAreas[5] = {["x1"]=19,["x2"]=70,["z1"]=15,["z2"]=72}
- computerAreas[6] = {["x1"]=19,["x2"]=70,["z1"]=-3,["z2"]=19}
- computerAreas[7] = {["x1"]=-32,["x2"]=17,["z1"]=72,["z2"]=128}
- computerAreas[8] = {["x1"]=-32,["x2"]=17,["z1"]=15,["z2"]=72}
- computerAreas[9] = {["x1"]=-32,["x2"]=17,["z1"]=-3,["z2"]=19}
- areaData = {}
- for k,v in pairs(blockNames) do
- blockNumbers[blockNames[k]] = k-1
- end
- blockNumbers["minecraft:air"] = 16
- end
- function readFile()
- zStep = 0
- while zStep ~= 128 and not stopReading do
- zStep = zStep+1
- line = file.readLine()
- if line == "" or line == nil then
- stopReading = true
- end
- curTextPos = 1
- xStep = 0
- while xStep ~= 128 do
- xStep = xStep+1
- blocks[xStep][zStep] = ""
- while string.byte(line,curTextPos) ~= string.byte(",") and string.byte(line,curTextPos) ~= nil do
- blocks[xStep][zStep] = blocks[xStep][zStep] .. string.char(string.byte(line,curTextPos))
- curTextPos = curTextPos+1
- end
- curTextPos = curTextPos+1
- end
- end
- file.close()
- for i1=1,128 do
- for i2=1,128 do
- if type(tonumber(blocks[i2][i1])) == "number" then
- blocks[i2][i1] = blockNames[blocks[i2][i1]+1]
- end
- end
- end
- end
- function clear()
- resetRedstoneOutput()
- for k,v in pairs(subComputers) do
- rednet.send(subComputers[k],{["action"]="changeRedstone",["bottom"]=1})
- end
- for i1=1,57 do
- xPos = i1-1
- for i2=1,57 do
- zPos = i2
- for k,v in pairs(computers) do
- rednet.send(computers[k],{["action"]="changeRedstone",["top"]=(xPos-math.floor(xPos/15)*15),["right"]=math.floor(xPos/15),["bottom"]=(zPos-math.floor(zPos/15)*15),["left"]=math.floor(zPos/15)})
- end
- sleep(0.1)
- end
- end
- resetRedstoneOutput()
- end
- function resetRedstoneOutput()
- for k,v in pairs(computers) do
- rednet.send(computers[k],{["action"]="changeRedstone",["top"]=0,["right"]=0,["bottom"]=0,["left"]=0})
- rednet.send(subComputers[k],{["action"]="changeRedstone",["bottom"]=0})
- end
- sleep(0.1)
- end
- function printPixelArt()
- resetRedstoneOutput()
- for k,v in pairs(subComputers) do
- rednet.send(subComputers[k],{["action"]="changeRedstone",["bottom"]=2})
- end
- for i1=1,57 do
- xPos = i1-1
- for i2=1,57 do
- zPos = i2
- for k,v in pairs(subComputers) do
- rednet.send(subComputers[k],{["action"]="changeRedstone",["bottom"]=0})
- end
- for k,v in pairs(subComputers) do
- if type(blocks[computerAreas[k]["x1"]+i1-1]) == "table" then
- if type(blockNumbers[blocks[computerAreas[k]["x1"]+i1-1][computerAreas[k]["z1"]+i2-1]]) == "number" then
- rednet.send(subComputers[k],{["action"]="changeRedstone",["top"]=math.floor(blockNumbers[blocks[computerAreas[k]["x1"]+i1-1][computerAreas[k]["z1"]+i2-1]]/15),["right"]=blockNumbers[blocks[computerAreas[k]["x1"]+i1-1][computerAreas[k]["z1"]+i2-1]]-math.floor(blockNumbers[blocks[computerAreas[k]["x1"]+i1-1][computerAreas[k]["z1"]+i2-1]]/15)*15})
- else
- rednet.send(subComputers[k],{["action"]="changeRedstone",["top"]=15,["right"]=15})
- end
- else
- rednet.send(subComputers[k],{["action"]="changeRedstone",["top"]=15,["right"]=15})
- end
- end
- sleep(0.05)
- for k,v in pairs(computers) do
- rednet.send(computers[k],{["action"]="changeRedstone",["top"]=(xPos-math.floor(xPos/15)*15),["right"]=math.floor(xPos/15),["bottom"]=(zPos-math.floor(zPos/15)*15),["left"]=math.floor(zPos/15)})
- end
- for k,v in pairs(subComputers) do
- rednet.send(subComputers[k],{["action"]="changeRedstone",["bottom"]=2})
- end
- sleep(0.05)
- end
- if i1 == 1 then
- for i2=1,57 do
- zPos = i2
- for k,v in pairs(subComputers) do
- if type(blocks[computerAreas[k]["x1"]+i1-1]) == "table" then
- if type(blockNumbers[blocks[computerAreas[k]["x1"]+i1-1][computerAreas[k]["z1"]+i2-1]]) == "number" then
- rednet.send(subComputers[k],{["action"]="changeRedstone",["top"]=math.floor(blockNumbers[blocks[computerAreas[k]["x1"]+i1-1][computerAreas[k]["z1"]+i2-1]]/15),["right"]=blockNumbers[blocks[computerAreas[k]["x1"]+i1-1][computerAreas[k]["z1"]+i2-1]]-math.floor(blockNumbers[blocks[computerAreas[k]["x1"]+i1-1][computerAreas[k]["z1"]+i2-1]]/15)*15})
- else
- rednet.send(subComputers[k],{["action"]="changeRedstone",["top"]=15,["right"]=15})
- end
- end
- end
- sleep(0.05)
- for k,v in pairs(computers) do
- rednet.send(computers[k],{["action"]="changeRedstone",["top"]=(xPos-math.floor(xPos/15)*15),["right"]=math.floor(xPos/15),["bottom"]=(zPos-math.floor(zPos/15)*15),["left"]=math.floor(zPos/15)})
- end
- sleep(0.05)
- end
- end
- end
- resetRedstoneOutput()
- end
- startup()
- readFile()
- sleep(2)
- resetRedstoneOutput()
- sleep(1)
- clear()
- resetRedstoneOutput()
- sleep(1)
- printPixelArt()
- -- for i1=1,128 do
- -- for i2=1,128 do
- -- if not type(blockNumbers[blocks[i1][i2]]) == "number" then
- -- print(i1 .. " " .. i2)
- -- end
- -- end
- -- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement