Building overground is great… but what about working underground. Those little secret bunkers left over from the cold war that are being turned into dwellings. Here’s a version for minecraft. There are two important variables that set the depth (it’s still there as tower height as a throwback to the last post) and the width. If you go too low (perhaps only to 5 or less) then the stairs don’t work. The torches get placed in funny positions sometimes or end up scattered on the floor. I think it’s to do with the fact that I haven’t put in facing-directions yet, but I’m not sure.
This could be interesting if started not far from a cliff-edge – you could then tunnel in to meet it somewhere. The bunker position is based on where “Steve” is standing at the moment the script is run.
Edited… some of the indenting went wrong last night!
from mcpi import minecraft import time mc = minecraft.Minecraft.create() mc.postToChat("Python is now in control!") def Bunker(x,y,z,height,width): y=y-height useblock=45 centre=width/2 mc.setBlocks(x,y,z,x+width,y+height,z+width,0) #clear the space first mc.setBlocks(x,y,z,x+width,y+height,z,useblock) #build a wall mc.setBlocks(x,y,z,x,y+height,z+width,useblock) #build a wall mc.setBlocks(x+width,y,z,x+width,y+height,z+width,useblock) #build a wall mc.setBlocks(x,y,z+width,x+width,y+height,z+width,useblock) #build a wall mc.setBlocks(x,y+height,z,x+width,y+height,z+width,42) #add a lid mc.setBlocks(x+3+centre,y+height,z+1,x+1+centre,y+height,z+2,0) #add a hole in the floor for floorheight in range(int(y)-1,int(y+height)-1,4): print "Putting in a floor at ",floorheight mc.setBlocks(x,floorheight,z,x+width,floorheight,z+width,17) #add a floor mc.setBlocks(x+3+centre,floorheight,z+1,x+1+centre,floorheight,z+2,0) #add a hole in the floor mc.setBlocks((x+centre)-1,floorheight+2,z,x+1+centre,floorheight+2,z,50) #add torch to front mc.setBlocks(x,floorheight+2,(z+centre)-1,x,floorheight+2,z+1+centre,50) #add torch to right side mc.setBlocks((x+centre)-1,floorheight+2,z+width,x+1+centre,floorheight+2,z+width,50) #add torch to rear mc.setBlocks(x+width,floorheight+2,(z+centre)-1,x+width,floorheight+2,z+1+centre,50) #add torch to left side for stepheight in range(1,4): mc.setBlock(x+stepheight+centre,floorheight+stepheight,z+1,67,0) # add an ascending east step block mc.setBlock(x+stepheight+centre,floorheight+stepheight,z+2,67,0) # add an ascending east step block startx,starty,startz = mc.player.getPos() #get the player's position towerheight=60 towerwidth=10 Bunker(startx,starty,startz,towerheight,towerwidth)