Add House.py
This commit is contained in:
89
House.py
Normal file
89
House.py
Normal file
@@ -0,0 +1,89 @@
|
||||
from gdpc import Editor, Block, geometry
|
||||
import networks.curve as curve
|
||||
import numpy as np
|
||||
|
||||
|
||||
class House :
|
||||
def __init__(self, editor,startX, startY, startZ, endX, endY, endZ):
|
||||
self.editor = editor
|
||||
self.startX = startX
|
||||
self.startY = startY
|
||||
self.startZ = startZ
|
||||
self.endX = endX
|
||||
self.endY = endY
|
||||
self.endZ = endZ
|
||||
|
||||
|
||||
def placeGround(self):
|
||||
for x in range(self.startX, self.endX):
|
||||
for z in range(self.startZ, self.endZ):
|
||||
self.editor.placeBlock((x, self.startY, z), Block("stone"))
|
||||
|
||||
def placeWall(self):
|
||||
for x in range(self.startX, self.endX+1):
|
||||
for y in range(self.startY, self.endY):
|
||||
self.editor.placeBlock((x, y, self.startZ), Block("oak_planks"))
|
||||
self.editor.placeBlock((x, y, self.endZ), Block("oak_planks"))
|
||||
for z in range(self.startZ, self.endZ+1):
|
||||
for y in range(self.startY, self.endY):
|
||||
self.editor.placeBlock((self.startX, y, z), Block("oak_planks"))
|
||||
self.editor.placeBlock((self.endX, y, z), Block("oak_planks"))
|
||||
|
||||
def placeRoof(self):
|
||||
for x in range(self.startX, self.endX+1):
|
||||
for z in range(self.startZ, self.endZ+1):
|
||||
self.editor.placeBlock((x, self.endY, z), Block("stone"))
|
||||
|
||||
def placeDoor(self,direction="north"):
|
||||
if direction == "north":
|
||||
x = (self.startX + self.endX) // 2
|
||||
self.editor.placeBlock((x, self.startY, self.startZ), Block("air"))
|
||||
self.editor.placeBlock((x, self.startY+1, self.startZ), Block("air"))
|
||||
self.editor.placeBlock((x, self.startY+2, self.startZ), Block("air"))
|
||||
elif direction == "south":
|
||||
x = (self.startX + self.endX) // 2
|
||||
self.editor.placeBlock((x, self.startY, self.endZ), Block("air"))
|
||||
self.editor.placeBlock((x, self.startY+1, self.endZ), Block("air"))
|
||||
self.editor.placeBlock((x, self.startY+2, self.endZ), Block("air"))
|
||||
elif direction == "west":
|
||||
z = (self.startZ + self.endZ) // 2
|
||||
self.editor.placeBlock((self.startX, self.startY, z), Block("air"))
|
||||
self.editor.placeBlock((self.startX, self.startY+1, z), Block("air"))
|
||||
self.editor.placeBlock((self.startX, self.startY+2, z), Block("air"))
|
||||
elif direction == "east":
|
||||
z = (self.startZ + self.endZ) // 2
|
||||
self.editor.placeBlock((self.endX, self.startY, z), Block("air"))
|
||||
self.editor.placeBlock((self.endX, self.startY+1, z), Block("air"))
|
||||
self.editor.placeBlock((self.endX, self.startY+2, z), Block("air"))
|
||||
|
||||
def placeHouse(self):
|
||||
self.clearInside()
|
||||
self.placeGround()
|
||||
self.placeWall()
|
||||
self.placeRoof()
|
||||
self.placeDoor()
|
||||
|
||||
def clearInside(self):
|
||||
for x in range(self.startX+1, self.endX):
|
||||
for y in range(self.startY+1, self.endY):
|
||||
for z in range(self.startZ+1, self.endZ):
|
||||
self.editor.placeBlock((x, y, z), Block("air"))
|
||||
|
||||
def clear(self):
|
||||
for x in range(self.startX, self.endX+1):
|
||||
for y in range(self.startY, self.endY+1):
|
||||
for z in range(self.startZ, self.endZ+1):
|
||||
self.editor.placeBlock((x, y, z), Block("air"))
|
||||
|
||||
if __name__ == "__main__":
|
||||
editor = Editor(buffering=True)
|
||||
house = House(editor, 17, -58, 8, 30, -50, 20)
|
||||
house.placeHouse()
|
||||
#house.clear()
|
||||
editor.flushBuffer()
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user