def union(self, box):
        '''
        Return a box large enough to contain both self and box.
        
        :param box: The box to add to the current box (self)
        :type box: pymclevel.box.BoundingBox
        :return: A box that contains all of the positions of original box along with the supplied box
        :rtype: pymclevel.box.BoundingBox
        '''
        origin = Vector(
            min(self.minx, box.minx),
            min(self.miny, box.miny),
            min(self.minz, box.minz),
        )
        maximum = Vector(
            max(self.maxx, box.maxx),
            max(self.maxy, box.maxy),
            max(self.maxz, box.maxz),
        )
        return BoundingBox(origin, maximum - origin)

        Return a box large enough to contain both self and box.
        
        :param box: The box to add to the current box (self)
        :type box: pymclevel.box.BoundingBox
        :return: A box that contains all of the positions of original box along with the supplied box
        :rtype: pymclevel.box.BoundingBox
        
pymclevel/box.py