summaryrefslogtreecommitdiff
path: root/worldedit
diff options
context:
space:
mode:
authorsfan5 <sfan5@live.de>2016-10-13 17:51:01 +0200
committersfan5 <sfan5@live.de>2016-10-13 17:51:01 +0200
commit6e2e2385e90ddc74ad68d129fbb7a94d6ee53a7f (patch)
tree824560648f64df53234e61087eee7448cbd01df5 /worldedit
parent152707a32243cf33fb0f4ff740147d0cb268246b (diff)
parent5f9efb1205fe9802f859548fc9220f98dd0fd12e (diff)
Merge remote-tracking branch 'tmp/hollowpyramid'
Diffstat (limited to 'worldedit')
-rw-r--r--worldedit/primitives.lua9
1 files changed, 6 insertions, 3 deletions
diff --git a/worldedit/primitives.lua b/worldedit/primitives.lua
index 962a02f..fe22fff 100644
--- a/worldedit/primitives.lua
+++ b/worldedit/primitives.lua
@@ -150,8 +150,9 @@ end
-- @param axis Axis ("x", "y", or "z")
-- @param height Pyramid height.
-- @param node_name Name of node to make pyramid of.
+-- @param hollow Whether the pyramid should be hollow.
-- @return The number of nodes added.
-function worldedit.pyramid(pos, axis, height, node_name)
+function worldedit.pyramid(pos, axis, height, node_name, hollow)
local other1, other2 = worldedit.get_axis_others(axis)
-- Set up voxel manipulator
@@ -187,10 +188,12 @@ function worldedit.pyramid(pos, axis, height, node_name)
local new_index2 = new_index1 + (index2 + offset[other1]) * stride[other1]
for index3 = -size, size do
local i = new_index2 + (index3 + offset[other2]) * stride[other2]
- data[i] = node_id
+ if (not hollow or size - math.abs(index2) < 2 or size - math.abs(index3) < 2) then
+ data[i] = node_id
+ count = count + 1
+ end
end
end
- count = count + (size * 2 + 1) ^ 2
size = size - 1
end