diff options
author | sfan5 <sfan5@live.de> | 2016-07-04 19:57:48 +0200 |
---|---|---|
committer | sfan5 <sfan5@live.de> | 2016-07-04 19:57:48 +0200 |
commit | 5afea424ba4cf233fb2f7fe48072d4b11e7584da (patch) | |
tree | 9e34ce1d7a98117968613cd9b27af30c9650daf2 /worldedit_commands/cuboidapi.lua | |
parent | 2aed4988493b76ac42ff4e39838998cb1330913e (diff) |
Move cuboidapi.lua to correct place
Diffstat (limited to 'worldedit_commands/cuboidapi.lua')
-rw-r--r-- | worldedit_commands/cuboidapi.lua | 258 |
1 files changed, 0 insertions, 258 deletions
diff --git a/worldedit_commands/cuboidapi.lua b/worldedit_commands/cuboidapi.lua deleted file mode 100644 index ce20761..0000000 --- a/worldedit_commands/cuboidapi.lua +++ /dev/null @@ -1,258 +0,0 @@ --- Expands or contracts the cuboid in all axes by amount (positive or negative) -worldedit.cuboid_volumetric_expand = function(name, amount) - local pos1 = worldedit.pos1[name] - local pos2 = worldedit.pos2[name] - - if pos1 == nil or pos2 == nil then - return false, "Undefined cuboid" - end - - local delta1 = vector.new() - local delta2 = vector.new() - local delta_dir1 - local delta_dir2 - - delta1 = vector.add(delta1, amount) - delta2 = vector.add(delta2, amount) - delta_dir1, delta_dir2 = worldedit.get_expansion_directions(pos1, pos2) - delta1 = vector.multiply(delta1, delta_dir1) - delta2 = vector.multiply(delta2, delta_dir2) - worldedit.pos1[name] = vector.add(pos1, delta1) - worldedit.pos2[name] = vector.add(pos2, delta2) - - return true -end - - --- Expands or contracts the cuboid in a single axis by amount (positive or negative) -worldedit.cuboid_linear_expand = function(name, axis, direction, amount) - local pos1 = worldedit.pos1[name] - local pos2 = worldedit.pos2[name] - - if pos1 == nil or pos2 == nil then - return false, "undefined cuboid" - end - - if direction ~= 1 and direction ~= -1 then - return false, "invalid marker" - end - - local marker = worldedit.marker_get_closest_to_axis(name, axis, direction) - local deltavect = vector.new() - - if axis == 'x' then - deltavect.x = amount * direction - elseif axis == 'y' then - deltavect.y = amount * direction - elseif axis == 'z' then - deltavect.z = amount * direction - else - return false, "invalid axis" - end - - worldedit.marker_move(name, marker, deltavect) - return true -end - - --- Shifts the cuboid by '+-amount' in axis 'axis' -worldedit.cuboid_shift = function(name, axis, amount) - local pos1 = worldedit.pos1[name] - local pos2 = worldedit.pos2[name] - - if pos1 == nil or pos2 == nil then - return false, "undefined cuboid" - end - - if axis == 'x' then - worldedit.pos1[name].x = pos1.x + amount - worldedit.pos2[name].x = pos2.x + amount - elseif axis == 'y' then - worldedit.pos1[name].y = pos1.y + amount - worldedit.pos2[name].y = pos2.y + amount - elseif axis == 'z' then - worldedit.pos1[name].z = pos1.z + amount - worldedit.pos2[name].z = pos2.z + amount - else - return false, "invalid axis" - end - - return true -end - - --- Moves the location of a single marker by adding deltavector -worldedit.marker_move = function(name, marker, deltavector) - if marker ~= 1 and marker ~= 2 then - return false - end - - if marker == 1 then - local pos = worldedit.pos1[name] - worldedit.pos1[name] = vector.add(deltavector, pos) - else - local pos = worldedit.pos2[name] - worldedit.pos2[name] = vector.add(deltavector, pos) - end - - return true -end - --- Updates the location ingame of the markers -worldedit.marker_update = function(name, marker) - if marker == nil then - worldedit.mark_pos1(name) - worldedit.mark_pos2(name) - elseif marker == 1 then - worldedit.mark_pos1(name) - elseif marker == 2 then - worldedit.mark_pos2(name) - else - minetest.debug( - "worldedit: Invalid execution of function update_markers") - end -end - - --- Returns two vectors with the directions for volumetric expansion -worldedit.get_expansion_directions = function(mark1, mark2) - if mark1 == nil or mark2 == nil then - return - end - local dir1 = vector.new() - local dir2 = vector.new() - - if mark1.x < mark2.x then - dir1.x = -1 - dir2.x = 1 - else - dir1.x = 1 - dir2.x = -1 - end - if mark1.y < mark2.y then - dir1.y = -1 - dir2.y = 1 - else - dir1.y = 1 - dir2.y = -1 - end - if mark1.z < mark2.z then - dir1.z = -1 - dir2.z = 1 - else - dir1.z = 1 - dir2.z = -1 - end - return dir1, dir2 -end - - --- Return the marker that is closest to the player -worldedit.marker_get_closest_to_player = function(name) - local playerpos = minetest.get_player_by_name(name):getpos() - local dist1 = vector.distance(playerpos, worldedit.pos1[name]) - local dist2 = vector.distance(playerpos, worldedit.pos2[name]) - - if dist1 < dist2 then - return 1 - else - return 2 - end -end - - --- Returns the closest marker to the specified axis and direction -worldedit.marker_get_closest_to_axis = function(name, axis, direction) - local pos1 = vector.new() - local pos2 = vector.new() - - if direction ~= 1 and direction ~= -1 then - return nil - end - - if axis == 'x' then - pos1.x = worldedit.pos1[name].x * direction - pos2.x = worldedit.pos2[name].x * direction - if pos1.x > pos2.x then - return 1 - else - return 2 - end - elseif axis == 'y' then - pos1.y = worldedit.pos1[name].y * direction - pos2.y = worldedit.pos2[name].y * direction - if pos1.y > pos2.y then - return 1 - else - return 2 - end - elseif axis == 'z' then - pos1.z = worldedit.pos1[name].z * direction - pos2.z = worldedit.pos2[name].z * direction - if pos1.z > pos2.z then - return 1 - else - return 2 - end - else - return nil - end -end - - --- Translates up, down, left, right, front, back to their corresponding axes and --- directions according to faced direction -worldedit.translate_direction = function(name, direction) - local axis, dir = worldedit.player_axis(name) - local resaxis, resdir - - if direction == "up" then - return 'y', 1 - end - - if direction == "down" then - return 'y', -1 - end - - if direction == "front" then - if axis == "y" then - resaxis = nil - resdir = nil - else - resaxis = axis - resdir = dir - end - end - - if direction == "back" then - if axis == "y" then - resaxis = nil - resdir = nil - else - resaxis = axis - resdir = -dir - end - end - - if direction == "left" then - if axis == 'x' then - resaxis = 'z' - resdir = dir - elseif axis == 'z' then - resaxis = 'x' - resdir = -dir - end - end - - if direction == "right" then - if axis == 'x' then - resaxis = 'z' - resdir = -dir - elseif axis == 'z' then - resaxis = 'x' - resdir = dir - end - end - - return resaxis, resdir -end
\ No newline at end of file |