Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- POTATOPLEX: The best potatOS feature
- local args = {...}
- local targs = table.concat(args, " ")
- local text
- if args[1] and fs.exists(args[1]) then
- local f = fs.open(args[1], "r")
- text = f.readAll()
- f.close()
- end
- local function randpick(l)
- if #l == 1 then return l[1] end
- return l[math.random(1, #l)]
- end
- local function potatoplex_is_installed()
- if fs.isDir "startup" then return false end
- local f = fs.open("startup", "r")
- if not f then return false end
- return f.readAll():match "POTATOPLEX"
- end
- if commands then
- print "Enabling Command Potatoplex mode. Do not attempt to resist."
- _G.os.pullEvent = coroutine.yield
- if not potatoplex_is_installed() then
- print "Installing as startup"
- settings.set("shell.allow_startup", true)
- settings.set("shell.allow_disk_startup", false)
- settings.save ".settings"
- if fs.exists "startup" then fs.delete "startup" end
- local f = fs.open("startup", "w")
- f.write([[
- -- POTATOPLEX!!!!!
- _G.os.pullEvent = coroutine.yield
- local h = http.get "https://pastebin.com/raw/wYBZjQhN"
- local t = h.readAll()
- h.close()
- local fn, err = load(t, "=potatoplex")
- if not fn then error(err)
- else fn() end
- ]])
- end
- local items = {
- "minecraft:diamond_block",
- "minecraft:emerald_block",
- "minecraft:redstone_block",
- "minecraft:lapis_block",
- "minecraft:iron_block",
- "minecraft:gold_block",
- "minecraft:command_block",
- "computronics:oc_special_parts",
- "opencomputers:casecreative",
- {"opencomputers:material", 25},
- {"opencomputers:material", 22},
- {"opencomputers:material", 19},
- {"opencomputers:component", 19},
- {"opencomputers:component", 18},
- {"opencomputers:component", 12},
- {"opencomputers:component", 32},
- {"opencomputers:card", 0},
- {"plethora:module", 7},
- {"plethora:module", 1},
- "bibliocraft:bookcasecreative",
- "minecraft:nether_star",
- "quark:pirate_hat"
- }
- local baseblocks = {
- "minecraft:wool",
- "minecraft:concrete",
- "minecraft:concrete_powder",
- "chisel:antiblock",
- "chisel:energizedvoidstone",
- "chisel:voidstonerunic",
- "chisel:voidstone",
- "minecraft:end_portal",
- "quark:stained_clay_tiles",
- "quark:stained_planks",
- "quark:quilted_wool",
- "quark:cavecrystal",
- "minecraft:stained_hardened_clay",
- "minecraft:stained_glass",
- "minecraft:stained_glass_pane",
- {"minecraft:white_glazed_terracotta", 0},
- {"minecraft:orange_glazed_terracotta", 0},
- {"minecraft:magneta_glazed_terracotta", 0},
- {"minecraft:light_blue_glazed_terracotta", 0},
- {"minecraft:yellow_glazed_terracotta", 0},
- {"minecraft:lime_glazed_terracotta", 0},
- {"minecraft:pink_glazed_terracotta", 0},
- {"minecraft:gray_glazed_terracotta", 0},
- {"minecraft:silver_glazed_terracotta", 0},
- {"minecraft:cyan_glazed_terracotta", 0},
- {"minecraft:purple_glazed_terracotta", 0},
- {"minecraft:blue_glazed_terracotta", 0},
- {"minecraft:brown_glazed_terracotta", 0},
- {"minecraft:green_glazed_terracotta", 0},
- {"minecraft:red_glazed_terracotta", 0},
- {"minecraft:black_glazed_terracotta", 0},
- {"minecraft:bedrock", 0},
- {"minecraft:diamond_block", 0},
- {"minecraft:emerald_block", 0},
- {"minecraft:redstone_block", 0},
- {"minecraft:lapis_block", 0},
- {"minecraft:iron_block", 0},
- {"minecraft:gold_block", 0}
- }
- local blocks = {}
- for _, b in pairs(baseblocks) do
- if type(b) == "table" then table.insert(blocks, b)
- else
- for i = 0, 15 do
- table.insert(blocks, {b, i})
- end
- end
- end
- local x, y, z = commands.getBlockPosition()
- local cx, cz = math.floor(x / 16) * 16, math.floor(z / 16) * 16
- local give_items = not targs:match "scrooge"
- while true do
- for i = 1, 8 do
- local rx, ry, rz = math.random(cx, cx + 15), math.random(0, 255), math.random(cz, cz + 15)
- local pick = randpick(blocks)
- local meta, block = pick[2], pick[1]
- if rx ~= x and ry ~= y and rz ~= z then
- commands.execAsync(("setblock %d %d %d %s %d replace"):format(rx, ry, rz, block, meta))
- end
- end
- if give_items and math.random(0, 1000) == 42 then
- print "POTATO FESTIVAL!"
- for i = 1, 36 do
- local pick = randpick(items)
- local meta = 0
- local item = pick
- if type(pick) == "table" then meta = pick[2] item = pick[1] end
- commands.execAsync(("give @a %s 64 %d"):format(item, meta))
- end
- end
- sleep()
- end
- end
- local monitors = {peripheral.find "monitor"}
- local signs = {peripheral.find "minecraft:sign"}
- table.insert(monitors, term.current())
- local duochrome_mode = targs:find "duochrome" ~= nil
- local function random_color()
- if duochrome_mode then
- if math.random(0, 1) == 0 then return colors.black
- else return colors.white end
- end
- return math.pow(2, math.random(0, 15))
- end
- local function random_segment(text)
- local start = math.random(1, #text)
- return text:sub(start, math.random(start, #text))
- end
- local sixel_mode = targs:find "sixel" ~= nil
- local min, max = 0, 255
- if sixel_mode then
- min, max = 128, 159
- end
- local function random_char()
- return string.char(math.random(min, max))
- end
- local colors = {}
- for i = 0, 15 do table.insert(colors, ("%x"):format(i)) end
- local function random_pick(list)
- return list[math.random(1, #list)]
- end
- local function one_pixel(m, x, y)
- m.setCursorPos(x, y)
- if text then
- m.setBackgroundColor(random_color())
- m.setTextColor(random_color())
- m.write(random_segment(text))
- else
- m.blit(random_char(), random_pick(colors), random_pick(colors))
- end
- end
- local chat_colors = {
- "k",
- "l",
- "m",
- "n",
- "o"
- }
- for i = 0, 16 do table.insert(chat_colors, string.format("%x", i)) end
- local hook = _G.potatoplex_hook
- local slowpalette_mode = targs:find "slowpalette" ~= nil
- local function run(m)
- local w, h = m.getSize()
- for i = 1, 16 do
- local x, y = math.random(1, w), math.random(1, h)
- one_pixel(m, x, y)
- end
- if not slowpalette_mode or math.random(0, 20) == 13 then
- m.setPaletteColor(random_color(), math.random(), math.random(), math.random())
- end
- if hook then hook(m) end
- end
- for k, v in pairs(monitors) do if v.setTextScale then v.setTextScale(1) end end
- local function line()
- local out = "\167" .. random_pick(chat_colors)
- for i = 1, 32 do
- out = out .. random_char()
- end
- return out
- end
- while true do
- for k, v in pairs(monitors) do
- pcall(run, v)
- sleep(0)
- end
- for k, v in pairs(signs) do
- pcall(v.setSignText, line(), line(), line(), line())
- sleep()
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement