from libs import * import mesh class WorldRegion(mesh.SquareMesh): def __init__(self, size=16): super().__init__() self.grid = np.zeros((size, size, size), dtype=VOXEL_TYPE) def add_voxel(self, pos, vt=1): offset = vec([0.5, 0.0, 0.0]) for a in range(1, 4): self.add_sq(a, 1, pos + offset, pos) self.add_sq(-a, 1, pos - offset, pos) offset = np.roll(offset, 1, 0) self.grid[pos] = vt return len(self.faces) - 12 def del_voxel(self, ind): b = (ind // 12) * 12 self.grid[self.faces[ind][1]] = 0 for i in range(6): self.del_sq(b)