]> git.lizzy.rs Git - worldedit.git/commitdiff
Move cuboidapi.lua to correct place
authorsfan5 <sfan5@live.de>
Mon, 4 Jul 2016 17:57:48 +0000 (19:57 +0200)
committersfan5 <sfan5@live.de>
Mon, 4 Jul 2016 17:57:48 +0000 (19:57 +0200)
worldedit/cuboid.lua [new file with mode: 0644]
worldedit/init.lua
worldedit_commands/cuboid.lua
worldedit_commands/cuboidapi.lua [deleted file]

diff --git a/worldedit/cuboid.lua b/worldedit/cuboid.lua
new file mode 100644 (file)
index 0000000..ce20761
--- /dev/null
@@ -0,0 +1,258 @@
+-- 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
index ec6e99d6fa7bb6b15f50e16a5b4cf6656a1b3923..343a1e4e1a3535374456107253063cd7d7b45f9d 100644 (file)
@@ -37,6 +37,7 @@ load_module(path .. "/serialization.lua")
 load_module(path .. "/code.lua")\r
 load_module(path .. "/compatibility.lua")\r
 load_module(path .. "/wand.lua")\r
+load_module(path .. "/cuboid.lua")\r
 \r
 \r
 if minetest.setting_getbool("log_mods") then\r
index 065c2ca363a20caeafebfaf942e073b53b54dfdc..88f026087074c3673c3c6f9b4e5380b8d9b4f8c9 100644 (file)
@@ -1,6 +1,3 @@
-dofile(minetest.get_modpath("worldedit_commands") .. "/cuboidapi.lua")
-
-
 minetest.register_chatcommand("/outset", {
        params = "[h|v] <amount>",
        description = "outset the selection",
diff --git a/worldedit_commands/cuboidapi.lua b/worldedit_commands/cuboidapi.lua
deleted file mode 100644 (file)
index ce20761..0000000
+++ /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