Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --[[
- /gamerule doDaylightCycle false
- /gamerule doWeatherCycle false
- /gamerule commandBlockOutput false
- /gamerule logAdminCommands false
- /gamerule randomTickSpeed 1000
- /time set 6000
- ]]--
- os.loadAPI("build");
- --API Aliases
- function dirMap(turns) return build.dirMap(turns); end
- dofile("config");
- dofile("blocks");
- local D, U, N, S, W, E = dirMap(0);
- local radius = 8;
- local compy = build.Coord:get();
- local center = compy:off(N, radius + 3);
- local vol = build.cuboid(center):grohor(radius + 3);
- build.cuboid(compy:up()):gro(U, 2):grohor():erase(); --Erase Monitors
- build.cuboid(compy):grohor():loop(air); --Erase Base Around Computer
- vol:gro(U, height + 2):shrhor():erase();
- vol:gro(D, 2):dwn():fill(sandstone);
- --error(); --Uncomment to bail after erasing
- vol:dwn():loop(hazardBlock);
- vol = vol:shrhor():fill(platBlock);
- vol = vol:shrhor():up():loop(frameBlock);
- vol:gro(U, height + 1):box(air, frameBlock, frameBlock, frameBlock, frameBlock, frameBlock);
- vol:shrhor():fill(floorBlock);
- --TODO: Make glass ceiling
- center = center:up();
- build.cuboid(center):grohor():fill(ventBlock);
- center:cub():fill(dirt);
- --Chamber walls
- center:up():cylinder(wallBlock, radius, height);
- build.cuboid(compy:up()):dunswe(0, 2, 1, 0, 2, 2):fill(frameBlock);
- build.cuboid(compy):grohor():loop(platBlock):grohor():loop(platBlock);
- build.cuboid(compy):off(S):dunswe(0, 0, 0, 1, 2, 2):erase();
- --Make monitors TODO: Make monitor placement library
- compy:up(2):off(W):putnbt(build.blockState("computercraft:peripheral", "variant=advanced_monitor_rd"), "{dir:3,width:3,height:2,xIndex:0,yIndex:1}");
- compy:up(2):putnbt(build.blockState("computercraft:peripheral", "variant=advanced_monitor_lrd"), "{dir:3,width:3,height:2,xIndex:1,yIndex:1}");
- compy:up(2):off(E):putnbt(build.blockState("computercraft:peripheral", "variant=advanced_monitor_ld"), "{dir:3,width:3,height:2,xIndex:2,yIndex:1}");
- compy:up():off(W):putnbt(build.blockState("computercraft:peripheral", "variant=advanced_monitor_ru"), "{dir:3,width:3,height:2,xIndex:0,yIndex:0}");
- compy:up():putnbt(build.blockState("computercraft:peripheral", "variant=advanced_monitor_lru"), "{dir:3,width:3,height:2,xIndex:1,yIndex:0}");
- compy:up():off(E):putnbt(build.blockState("computercraft:peripheral", "variant=advanced_monitor_lu"), "{dir:3,width:3,height:2,xIndex:2,yIndex:0}");
- os.reboot();
Add Comment
Please, Sign In to add comment