diff --git a/builtin/voxelarea.lua b/builtin/voxelarea.lua
index 9426c3acfbbe9c8f4a8d2a019c9802e907c3050d..dd9af7910b718d33bb5240a916e78a45f16a3630 100644
--- a/builtin/voxelarea.lua
+++ b/builtin/voxelarea.lua
@@ -44,3 +44,19 @@ function VoxelArea:indexp(p)
 	return math.floor(i)
 end
 
+function VoxelArea:contains(x, y, z)
+	return (x >= self.MinEdge.x) and (x <= self.MaxEdge.x) and
+		   (y >= self.MinEdge.y) and (y <= self.MaxEdge.y) and
+		   (z >= self.MinEdge.z) and (z <= self.MaxEdge.z)
+end
+
+function VoxelArea:containsp(p)
+	return (p.x >= self.MinEdge.x) and (p.x <= self.MaxEdge.x) and
+		   (p.y >= self.MinEdge.y) and (p.y <= self.MaxEdge.y) and
+		   (p.z >= self.MinEdge.z) and (p.z <= self.MaxEdge.z)
+end
+
+function VoxelArea:containsi(i)
+	return (i >= 1) and (i <= self:getVolume())
+end
+