Compare commits
11 Commits
79e5e64c44
...
341014f94a
Author | SHA1 | Date | |
---|---|---|---|
341014f94a | |||
b84aa8508a | |||
17df0bbf71 | |||
36b14413e0 | |||
1fc6d93112 | |||
ccfb6b4d61 | |||
8f60e6f729 | |||
8f86a2120c | |||
b4202ea779 | |||
689ff90a78 | |||
bf55f52197 |
6
.github/workflows/check.yml
vendored
@ -1,12 +1,12 @@
|
|||||||
|
name: "Check"
|
||||||
on: [push, pull_request]
|
on: [push, pull_request]
|
||||||
name: Check
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
lint:
|
lint:
|
||||||
|
name: "Luacheck"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- name: apt
|
- name: apt
|
||||||
run: sudo apt-get install -y luarocks
|
run: sudo apt-get install -y luarocks
|
||||||
- name: luacheck install
|
- name: luacheck install
|
||||||
|
6
.github/workflows/test.yml
vendored
@ -1,11 +1,11 @@
|
|||||||
name: test
|
name: "Test"
|
||||||
|
|
||||||
on: [push, pull_request]
|
on: [push, pull_request]
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
test:
|
||||||
|
name: "Unittests"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v3
|
||||||
- name: Run tests
|
- name: Run tests
|
||||||
run: MINETEST_VER=latest ./.util/run_tests.sh
|
run: MINETEST_VER=latest ./.util/run_tests.sh
|
||||||
|
@ -4,5 +4,4 @@ read_globals = {"minetest", "vector", "VoxelArea", "ItemStack",
|
|||||||
}
|
}
|
||||||
globals = {"worldedit"}
|
globals = {"worldedit"}
|
||||||
-- Ignore these errors until someone decides to fix them
|
-- Ignore these errors until someone decides to fix them
|
||||||
ignore = {"211", "212", "213", "311", "411", "412", "421", "422",
|
ignore = {"212", "213", "411", "412", "421", "422", "431", "432", "631"}
|
||||||
"431", "432", "631"}
|
|
||||||
|
@ -1,2 +1,3 @@
|
|||||||
name = Minetest-WorldEdit
|
name = Minetest-WorldEdit
|
||||||
description = WorldEdit is an in-game world editor. Use it to repair griefing, or just create awesome buildings in seconds.
|
description = WorldEdit is an in-game world editor. Use it to repair griefing, or just create awesome buildings in seconds.
|
||||||
|
min_minetest_version = 5.0
|
||||||
|
@ -101,7 +101,7 @@ end
|
|||||||
local function deferred_execution(next_one, finished)
|
local function deferred_execution(next_one, finished)
|
||||||
-- Allocate 100% of server step for execution (might lag a little)
|
-- Allocate 100% of server step for execution (might lag a little)
|
||||||
local allocated_usecs =
|
local allocated_usecs =
|
||||||
tonumber(minetest.settings:get("dedicated_server_step")) * 1000000
|
tonumber(minetest.settings:get("dedicated_server_step"):split(" ")[1]) * 1000000
|
||||||
local function f()
|
local function f()
|
||||||
local deadline = minetest.get_us_time() + allocated_usecs
|
local deadline = minetest.get_us_time() + allocated_usecs
|
||||||
repeat
|
repeat
|
||||||
@ -217,8 +217,6 @@ function worldedit.copy2(pos1, pos2, off, meta_backwards)
|
|||||||
dst_manip:set_param2_data(dst_data)
|
dst_manip:set_param2_data(dst_data)
|
||||||
|
|
||||||
mh.finish(dst_manip)
|
mh.finish(dst_manip)
|
||||||
src_data = nil
|
|
||||||
dst_data = nil
|
|
||||||
|
|
||||||
-- Copy metadata
|
-- Copy metadata
|
||||||
local get_meta = minetest.get_meta
|
local get_meta = minetest.get_meta
|
||||||
@ -651,7 +649,7 @@ function worldedit.clear_objects(pos1, pos2)
|
|||||||
|
|
||||||
-- Offset positions to include full nodes (positions are in the center of nodes)
|
-- Offset positions to include full nodes (positions are in the center of nodes)
|
||||||
pos1 = vector.add(pos1, -0.5)
|
pos1 = vector.add(pos1, -0.5)
|
||||||
pos2 = vector.add(pos1, 0.5)
|
pos2 = vector.add(pos2, 0.5)
|
||||||
|
|
||||||
local count = 0
|
local count = 0
|
||||||
if minetest.get_objects_in_area then
|
if minetest.get_objects_in_area then
|
||||||
@ -678,7 +676,8 @@ function worldedit.clear_objects(pos1, pos2)
|
|||||||
(center.x - pos1.x) ^ 2 +
|
(center.x - pos1.x) ^ 2 +
|
||||||
(center.y - pos1.y) ^ 2 +
|
(center.y - pos1.y) ^ 2 +
|
||||||
(center.z - pos1.z) ^ 2)
|
(center.z - pos1.z) ^ 2)
|
||||||
for _, obj in pairs(minetest.get_objects_inside_radius(center, radius)) do
|
local objects = minetest.get_objects_inside_radius(center, radius)
|
||||||
|
for _, obj in pairs(objects) do
|
||||||
if should_delete(obj) then
|
if should_delete(obj) then
|
||||||
local pos = obj:get_pos()
|
local pos = obj:get_pos()
|
||||||
if pos.x >= pos1.x and pos.x <= pos2.x and
|
if pos.x >= pos1.x and pos.x <= pos2.x and
|
||||||
|
@ -160,7 +160,7 @@ end
|
|||||||
--- Loads the schematic in `value` into a node list in the latest format.
|
--- Loads the schematic in `value` into a node list in the latest format.
|
||||||
-- @return A node list in the latest format, or nil on failure.
|
-- @return A node list in the latest format, or nil on failure.
|
||||||
local function load_schematic(value)
|
local function load_schematic(value)
|
||||||
local version, header, content = worldedit.read_header(value)
|
local version, _, content = worldedit.read_header(value)
|
||||||
local nodes = {}
|
local nodes = {}
|
||||||
if version == 1 or version == 2 then -- Original flat table format
|
if version == 1 or version == 2 then -- Original flat table format
|
||||||
local tables = minetest.deserialize(content, true)
|
local tables = minetest.deserialize(content, true)
|
||||||
@ -250,7 +250,6 @@ function worldedit.deserialize(origin_pos, value)
|
|||||||
worldedit.keep_loaded(pos1, pos2)
|
worldedit.keep_loaded(pos1, pos2)
|
||||||
|
|
||||||
local origin_x, origin_y, origin_z = origin_pos.x, origin_pos.y, origin_pos.z
|
local origin_x, origin_y, origin_z = origin_pos.x, origin_pos.y, origin_pos.z
|
||||||
local count = 0
|
|
||||||
local add_node, get_meta = minetest.add_node, minetest.get_meta
|
local add_node, get_meta = minetest.add_node, minetest.get_meta
|
||||||
for i, entry in ipairs(nodes) do
|
for i, entry in ipairs(nodes) do
|
||||||
entry.x, entry.y, entry.z = origin_x + entry.x, origin_y + entry.y, origin_z + entry.z
|
entry.x, entry.y, entry.z = origin_x + entry.x, origin_y + entry.y, origin_z + entry.z
|
||||||
|
Before Width: | Height: | Size: 442 B |
Before Width: | Height: | Size: 337 B After Width: | Height: | Size: 301 B |
@ -1,6 +1,8 @@
|
|||||||
|
local S = minetest.get_translator("worldedit_commands")
|
||||||
|
|
||||||
worldedit.register_command("outset", {
|
worldedit.register_command("outset", {
|
||||||
params = "[h/v] <amount>",
|
params = "[h/v] <amount>",
|
||||||
description = "Outset the selected region.",
|
description = S("Outset the selected region."),
|
||||||
privs = {worldedit=true},
|
privs = {worldedit=true},
|
||||||
require_pos = 2,
|
require_pos = 2,
|
||||||
parse = function(param)
|
parse = function(param)
|
||||||
@ -11,7 +13,7 @@ worldedit.register_command("outset", {
|
|||||||
|
|
||||||
local hv_test = dir:find("[^hv]+")
|
local hv_test = dir:find("[^hv]+")
|
||||||
if hv_test ~= nil then
|
if hv_test ~= nil then
|
||||||
return false, "Invalid direction."
|
return false, S("Invalid direction: @1", dir)
|
||||||
end
|
end
|
||||||
|
|
||||||
return true, dir, tonumber(amount)
|
return true, dir, tonumber(amount)
|
||||||
@ -28,18 +30,18 @@ worldedit.register_command("outset", {
|
|||||||
assert(worldedit.cuboid_linear_expand(name, 'y', 1, amount))
|
assert(worldedit.cuboid_linear_expand(name, 'y', 1, amount))
|
||||||
assert(worldedit.cuboid_linear_expand(name, 'y', -1, amount))
|
assert(worldedit.cuboid_linear_expand(name, 'y', -1, amount))
|
||||||
else
|
else
|
||||||
return false, "Invalid number of arguments"
|
return false, S("Invalid number of arguments")
|
||||||
end
|
end
|
||||||
|
|
||||||
worldedit.marker_update(name)
|
worldedit.marker_update(name)
|
||||||
return true, "Region outset by " .. amount .. " blocks"
|
return true, S("Region outset by @1 nodes", amount)
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
worldedit.register_command("inset", {
|
worldedit.register_command("inset", {
|
||||||
params = "[h/v] <amount>",
|
params = "[h/v] <amount>",
|
||||||
description = "Inset the selected region.",
|
description = S("Inset the selected region."),
|
||||||
privs = {worldedit=true},
|
privs = {worldedit=true},
|
||||||
require_pos = 2,
|
require_pos = 2,
|
||||||
parse = function(param)
|
parse = function(param)
|
||||||
@ -48,7 +50,7 @@ worldedit.register_command("inset", {
|
|||||||
return false
|
return false
|
||||||
end
|
end
|
||||||
if dir:find("[^hv]") ~= nil then
|
if dir:find("[^hv]") ~= nil then
|
||||||
return false, "Invalid direction."
|
return false, S("Invalid direction: @1", dir)
|
||||||
end
|
end
|
||||||
|
|
||||||
return true, dir, tonumber(amount)
|
return true, dir, tonumber(amount)
|
||||||
@ -65,18 +67,18 @@ worldedit.register_command("inset", {
|
|||||||
assert(worldedit.cuboid_linear_expand(name, 'y', 1, -amount))
|
assert(worldedit.cuboid_linear_expand(name, 'y', 1, -amount))
|
||||||
assert(worldedit.cuboid_linear_expand(name, 'y', -1, -amount))
|
assert(worldedit.cuboid_linear_expand(name, 'y', -1, -amount))
|
||||||
else
|
else
|
||||||
return false, "Invalid number of arguments"
|
return false, S("Invalid number of arguments")
|
||||||
end
|
end
|
||||||
|
|
||||||
worldedit.marker_update(name)
|
worldedit.marker_update(name)
|
||||||
return true, "Region inset by " .. amount .. " blocks"
|
return true, S("Region inset by @1 nodes", amount)
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
worldedit.register_command("shift", {
|
worldedit.register_command("shift", {
|
||||||
params = "x/y/z/?/up/down/left/right/front/back [+/-]<amount>",
|
params = "x/y/z/?/up/down/left/right/front/back [+/-]<amount>",
|
||||||
description = "Shifts the selection area without moving its contents",
|
description = S("Shifts the selection area without moving its contents"),
|
||||||
privs = {worldedit=true},
|
privs = {worldedit=true},
|
||||||
require_pos = 2,
|
require_pos = 2,
|
||||||
parse = function(param)
|
parse = function(param)
|
||||||
@ -98,20 +100,20 @@ worldedit.register_command("shift", {
|
|||||||
end
|
end
|
||||||
|
|
||||||
if axis == nil or dir == nil then
|
if axis == nil or dir == nil then
|
||||||
return false, "Invalid if looking straight up or down"
|
return false, S("Invalid if looking straight up or down")
|
||||||
end
|
end
|
||||||
|
|
||||||
assert(worldedit.cuboid_shift(name, axis, amount * dir))
|
assert(worldedit.cuboid_shift(name, axis, amount * dir))
|
||||||
worldedit.marker_update(name)
|
worldedit.marker_update(name)
|
||||||
|
|
||||||
return true, "Region shifted by " .. amount .. " nodes"
|
return true, S("Region shifted by @1 nodes", amount)
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
worldedit.register_command("expand", {
|
worldedit.register_command("expand", {
|
||||||
params = "[+/-]x/y/z/?/up/down/left/right/front/back <amount> [reverse amount]",
|
params = "[+/-]x/y/z/?/up/down/left/right/front/back <amount> [reverse amount]",
|
||||||
description = "Expands the selection in the selected absolute or relative axis",
|
description = S("Expands the selection in the selected absolute or relative axis"),
|
||||||
privs = {worldedit=true},
|
privs = {worldedit=true},
|
||||||
require_pos = 2,
|
require_pos = 2,
|
||||||
parse = function(param)
|
parse = function(param)
|
||||||
@ -135,7 +137,7 @@ worldedit.register_command("expand", {
|
|||||||
axis, dir = worldedit.translate_direction(name, direction)
|
axis, dir = worldedit.translate_direction(name, direction)
|
||||||
|
|
||||||
if axis == nil or dir == nil then
|
if axis == nil or dir == nil then
|
||||||
return false, "Invalid if looking straight up or down"
|
return false, S("Invalid if looking straight up or down")
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if direction == "?" then
|
if direction == "?" then
|
||||||
@ -153,14 +155,14 @@ worldedit.register_command("expand", {
|
|||||||
worldedit.cuboid_linear_expand(name, axis, dir, amount)
|
worldedit.cuboid_linear_expand(name, axis, dir, amount)
|
||||||
worldedit.cuboid_linear_expand(name, axis, -dir, rev_amount)
|
worldedit.cuboid_linear_expand(name, axis, -dir, rev_amount)
|
||||||
worldedit.marker_update(name)
|
worldedit.marker_update(name)
|
||||||
return true, "Region expanded by " .. (amount + rev_amount) .. " nodes"
|
return true, S("Region expanded by @1 nodes", amount + rev_amount)
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
|
|
||||||
worldedit.register_command("contract", {
|
worldedit.register_command("contract", {
|
||||||
params = "[+/-]x/y/z/?/up/down/left/right/front/back <amount> [reverse amount]",
|
params = "[+/-]x/y/z/?/up/down/left/right/front/back <amount> [reverse amount]",
|
||||||
description = "Contracts the selection in the selected absolute or relative axis",
|
description = S("Contracts the selection in the selected absolute or relative axis"),
|
||||||
privs = {worldedit=true},
|
privs = {worldedit=true},
|
||||||
require_pos = 2,
|
require_pos = 2,
|
||||||
parse = function(param)
|
parse = function(param)
|
||||||
@ -184,7 +186,7 @@ worldedit.register_command("contract", {
|
|||||||
axis, dir = worldedit.translate_direction(name, direction)
|
axis, dir = worldedit.translate_direction(name, direction)
|
||||||
|
|
||||||
if axis == nil or dir == nil then
|
if axis == nil or dir == nil then
|
||||||
return false, "Invalid if looking straight up or down"
|
return false, S("Invalid if looking straight up or down")
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
if direction == "?" then
|
if direction == "?" then
|
||||||
@ -202,13 +204,13 @@ worldedit.register_command("contract", {
|
|||||||
worldedit.cuboid_linear_expand(name, axis, dir, -amount)
|
worldedit.cuboid_linear_expand(name, axis, dir, -amount)
|
||||||
worldedit.cuboid_linear_expand(name, axis, -dir, -rev_amount)
|
worldedit.cuboid_linear_expand(name, axis, -dir, -rev_amount)
|
||||||
worldedit.marker_update(name)
|
worldedit.marker_update(name)
|
||||||
return true, "Region contracted by " .. (amount + rev_amount) .. " nodes"
|
return true, S("Region contracted by @1 nodes", amount + rev_amount)
|
||||||
end,
|
end,
|
||||||
})
|
})
|
||||||
|
|
||||||
worldedit.register_command("cubeapply", {
|
worldedit.register_command("cubeapply", {
|
||||||
params = "<size>/(<sizex> <sizey> <sizez>) <command> [parameters]",
|
params = "<size>/(<sizex> <sizey> <sizez>) <command> [parameters]",
|
||||||
description = "Select a cube with side length <size> around position 1 and run <command> on region",
|
description = S("Select a cube with side length <size> around position 1 and run <command> on region"),
|
||||||
privs = {worldedit=true},
|
privs = {worldedit=true},
|
||||||
require_pos = 1,
|
require_pos = 1,
|
||||||
parse = function(param)
|
parse = function(param)
|
||||||
@ -230,7 +232,7 @@ worldedit.register_command("cubeapply", {
|
|||||||
end
|
end
|
||||||
local cmddef = worldedit.registered_commands[cmd]
|
local cmddef = worldedit.registered_commands[cmd]
|
||||||
if cmddef == nil or cmddef.require_pos ~= 2 then
|
if cmddef == nil or cmddef.require_pos ~= 2 then
|
||||||
return false, "invalid usage: //" .. cmd .. " cannot be used with cubeapply"
|
return false, S("invalid usage: //@1 cannot be used with cubeapply", cmd)
|
||||||
end
|
end
|
||||||
-- run parsing of target command
|
-- run parsing of target command
|
||||||
local parsed = {cmddef.parse(args)}
|
local parsed = {cmddef.parse(args)}
|
||||||
@ -247,8 +249,7 @@ worldedit.register_command("cubeapply", {
|
|||||||
local cmddef = assert(worldedit.registered_commands[cmd])
|
local cmddef = assert(worldedit.registered_commands[cmd])
|
||||||
local success, missing_privs = minetest.check_player_privs(name, cmddef.privs)
|
local success, missing_privs = minetest.check_player_privs(name, cmddef.privs)
|
||||||
if not success then
|
if not success then
|
||||||
worldedit.player_notify(name, "Missing privileges: " ..
|
worldedit.player_notify(name, S("Missing privileges: @1", table.concat(missing_privs, ", ")))
|
||||||
table.concat(missing_privs, ", "))
|
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
145
worldedit_commands/locale/template.txt
Normal file
@ -0,0 +1,145 @@
|
|||||||
|
# textdomain: worldedit_commands
|
||||||
|
Outset the selected region.=
|
||||||
|
Invalid direction: @1=
|
||||||
|
Invalid number of arguments=
|
||||||
|
Region outset by @1 nodes=
|
||||||
|
Inset the selected region.=
|
||||||
|
Region inset by @1 nodes=
|
||||||
|
Shifts the selection area without moving its contents=
|
||||||
|
Invalid if looking straight up or down=
|
||||||
|
Region shifted by @1 nodes=
|
||||||
|
Expands the selection in the selected absolute or relative axis=
|
||||||
|
Region expanded by @1 nodes=
|
||||||
|
Contracts the selection in the selected absolute or relative axis=
|
||||||
|
Region contracted by @1 nodes=
|
||||||
|
Select a cube with side length <size> around position 1 and run <command> on region=
|
||||||
|
invalid usage: //@1 cannot be used with cubeapply=
|
||||||
|
Missing privileges: @1=
|
||||||
|
Can use WorldEdit commands=
|
||||||
|
no region selected=
|
||||||
|
no position 1 selected=
|
||||||
|
invalid usage=
|
||||||
|
Could not open file "@1"=
|
||||||
|
Invalid file format!=
|
||||||
|
Schematic was created with a newer version of WorldEdit.=
|
||||||
|
Get information about the WorldEdit mod=
|
||||||
|
WorldEdit @1 is available on this server. Type //help to get a list of commands, or get more information at @2=
|
||||||
|
Get help for WorldEdit commands=
|
||||||
|
You are not allowed to use any WorldEdit commands.=
|
||||||
|
Available commands: @1@nUse '//help <cmd>' to get more information, or '//help all' to list everything.=
|
||||||
|
Available commands:@n=
|
||||||
|
Command not available: =
|
||||||
|
Enable or disable node inspection=
|
||||||
|
inspector: inspection enabled for @1, currently facing the @2 axis=
|
||||||
|
inspector: inspection disabled=
|
||||||
|
inspector: @1 at @2 (param1@=@3, param2@=@4, received light@=@5) punched facing the @6 axis=
|
||||||
|
Reset the region so that it is empty=
|
||||||
|
region reset=
|
||||||
|
Show markers at the region positions=
|
||||||
|
region marked=
|
||||||
|
Hide markers if currently shown=
|
||||||
|
region unmarked=
|
||||||
|
Set WorldEdit region position @1 to the player's location=
|
||||||
|
position @1 set to @2=
|
||||||
|
Set WorldEdit region, WorldEdit position 1, or WorldEdit position 2 by punching nodes, or display the current WorldEdit region=
|
||||||
|
unknown subcommand: @1=
|
||||||
|
select positions by punching two nodes=
|
||||||
|
select position @1 by punching a node=
|
||||||
|
position @1: @2=
|
||||||
|
position @1 not set=
|
||||||
|
Set a WorldEdit region position to the position at (<x>, <y>, <z>)=
|
||||||
|
Display the volume of the current WorldEdit region=
|
||||||
|
current region has a volume of @1 nodes (@2*@3*@4)=
|
||||||
|
Remove all MapBlocks (16x16x16) containing the selected area from the map=
|
||||||
|
Area deleted.=
|
||||||
|
There was an error during deletion of the area.=
|
||||||
|
Set the current WorldEdit region to <node>=
|
||||||
|
invalid node name: @1=
|
||||||
|
@1 nodes set=
|
||||||
|
Set param2 of all nodes in the current WorldEdit region to <param2>=
|
||||||
|
Param2 is out of range (must be between 0 and 255 inclusive!)=
|
||||||
|
@1 nodes altered=
|
||||||
|
Fill the current WorldEdit region with a random mix of <node1>, ...=
|
||||||
|
invalid search node name: @1=
|
||||||
|
invalid replace node name: @1=
|
||||||
|
Replace all instances of <search node> with <replace node> in the current WorldEdit region=
|
||||||
|
@1 nodes replaced=
|
||||||
|
Replace all nodes other than <search node> with <replace node> in the current WorldEdit region=
|
||||||
|
Add a hollow cube with its ground level centered at WorldEdit position 1 with dimensions <width> x <height> x <length>, composed of <node>.=
|
||||||
|
@1 nodes added=
|
||||||
|
Add a cube with its ground level centered at WorldEdit position 1 with dimensions <width> x <height> x <length>, composed of <node>.=
|
||||||
|
Add hollow sphere centered at WorldEdit position 1 with radius <radius>, composed of <node>=
|
||||||
|
Add sphere centered at WorldEdit position 1 with radius <radius>, composed of <node>=
|
||||||
|
Add hollow dome centered at WorldEdit position 1 with radius <radius>, composed of <node>=
|
||||||
|
Add dome centered at WorldEdit position 1 with radius <radius>, composed of <node>=
|
||||||
|
Add hollow cylinder at WorldEdit position 1 along the given axis with length <length>, base radius <radius1> (and top radius [radius2]), composed of <node>=
|
||||||
|
Add cylinder at WorldEdit position 1 along the given axis with length <length>, base radius <radius1> (and top radius [radius2]), composed of <node>=
|
||||||
|
Add hollow pyramid centered at WorldEdit position 1 along the given axis with height <height>, composed of <node>=
|
||||||
|
Add pyramid centered at WorldEdit position 1 along the given axis with height <height>, composed of <node>=
|
||||||
|
Add spiral centered at WorldEdit position 1 with side length <length>, height <height>, space between walls <space>, composed of <node>=
|
||||||
|
Copy the current WorldEdit region along the given axis by <amount> nodes=
|
||||||
|
@1 nodes copied=
|
||||||
|
Move the current WorldEdit region along the given axis by <amount> nodes=
|
||||||
|
@1 nodes moved=
|
||||||
|
Stack the current WorldEdit region along the given axis <count> times=
|
||||||
|
@1 nodes stacked=
|
||||||
|
Stack the current WorldEdit region <count> times by offset <x>, <y>, <z>=
|
||||||
|
invalid count: @1=
|
||||||
|
invalid increments: @1=
|
||||||
|
Scale the current WorldEdit positions and region by a factor of <stretchx>, <stretchy>, <stretchz> along the X, Y, and Z axes, repectively, with position 1 as the origin=
|
||||||
|
invalid scaling factors: @1=
|
||||||
|
@1 nodes stretched=
|
||||||
|
Transpose the current WorldEdit region along the given axes=
|
||||||
|
invalid usage: axes must be different=
|
||||||
|
@1 nodes transposed=
|
||||||
|
Flip the current WorldEdit region along the given axis=
|
||||||
|
@1 nodes flipped=
|
||||||
|
Rotate the current WorldEdit region around the given axis by angle <angle> (90 degree increment)=
|
||||||
|
invalid usage: angle must be multiple of 90=
|
||||||
|
@1 nodes rotated=
|
||||||
|
Rotate oriented nodes in the current WorldEdit region around the Y axis by angle <angle> (90 degree increment)=
|
||||||
|
@1 nodes oriented=
|
||||||
|
Fix the lighting in the current WorldEdit region=
|
||||||
|
@1 nodes updated=
|
||||||
|
Remove any fluid node within the current WorldEdit region=
|
||||||
|
Remove any plant, tree or foliage-like nodes in the selected region=
|
||||||
|
@1 nodes removed=
|
||||||
|
Hide all nodes in the current WorldEdit region non-destructively=
|
||||||
|
@1 nodes hidden=
|
||||||
|
Suppress all <node> in the current WorldEdit region non-destructively=
|
||||||
|
@1 nodes suppressed=
|
||||||
|
Highlight <node> in the current WorldEdit region by hiding everything else non-destructively=
|
||||||
|
@1 nodes highlighted=
|
||||||
|
Restores nodes hidden with WorldEdit in the current WorldEdit region=
|
||||||
|
@1 nodes restored=
|
||||||
|
Warning: The schematic contains excessive free space and WILL be misaligned when allocated or loaded. To avoid this, shrink your area to cover exactly the nodes to be saved.=
|
||||||
|
Save the current WorldEdit region to "(world folder)/schems/<file>.we"=
|
||||||
|
Disallowed file name: @1=
|
||||||
|
Could not save file to "@1"=
|
||||||
|
@1 nodes saved=
|
||||||
|
Set the region defined by nodes from "(world folder)/schems/<file>.we" as the current WorldEdit region=
|
||||||
|
Schematic empty, nothing allocated=
|
||||||
|
@1 nodes allocated=
|
||||||
|
Load nodes from "(world folder)/schems/<file>[.we[m]]" with position 1 of the current WorldEdit region as the origin=
|
||||||
|
Loading failed!=
|
||||||
|
@1 nodes loaded=
|
||||||
|
Executes <code> as a Lua chunk in the global namespace=
|
||||||
|
Executes <code> as a Lua chunk in the global namespace with the variable pos available, for each node in the current WorldEdit region=
|
||||||
|
Save the current WorldEdit region using the Minetest Schematic format to "(world folder)/schems/<filename>.mts"=
|
||||||
|
Failed to create Minetest schematic=
|
||||||
|
Saved Minetest schematic to @1=
|
||||||
|
Load nodes from "(world folder)/schems/<file>.mts" with position 1 of the current WorldEdit region as the origin=
|
||||||
|
failed to place Minetest schematic=
|
||||||
|
placed Minetest schematic @1 at @2=
|
||||||
|
Begins node probability entry for Minetest schematics, gets the nodes that have probabilities set, or ends node probability entry=
|
||||||
|
select Minetest schematic probability values by punching nodes=
|
||||||
|
finished Minetest schematic probability selection=
|
||||||
|
currently set node probabilities:=
|
||||||
|
invalid node probability given, not saved=
|
||||||
|
Clears all objects within the WorldEdit region=
|
||||||
|
@1 objects cleared=
|
||||||
|
WARNING: this operation could affect up to @1 nodes; type //y to continue or //n to cancel=
|
||||||
|
Confirm a pending operation=
|
||||||
|
no operation pending=
|
||||||
|
Abort a pending operation=
|
||||||
|
WorldEdit Wand tool@nLeft-click to set 1st position, right-click to set 2nd=
|
156
worldedit_commands/locale/worldedit_commands.de.tr
Normal file
@ -0,0 +1,156 @@
|
|||||||
|
# textdomain: worldedit_commands
|
||||||
|
##
|
||||||
|
# Übersetzungshinweise:
|
||||||
|
# node = Block
|
||||||
|
# command = Befehl
|
||||||
|
# region = Gebiet
|
||||||
|
# position 1/2 = Position 1/2
|
||||||
|
# schematic = Schematic
|
||||||
|
# Der Anwender wird gesiezt.
|
||||||
|
# Diese Datei auf Rechtschreibfehler prüfen (unter Linux):
|
||||||
|
# sed -rne 's|^.*[^@]=(.*)$|\1|gp' worldedit_commands/locale/worldedit_commands.de.tr | sed -re 's/\b(WorldEdit|Schematic|Minetest)\b/Beispiel/g' | LANG=de_DE.UTF-8 hunspell -L
|
||||||
|
##
|
||||||
|
Outset the selected region.=Ausgewähltes Gebiet vergrößern.
|
||||||
|
Invalid direction: @1=Ungültige Richtung: @1
|
||||||
|
Invalid number of arguments=Ungültige Anzahl der Argumente
|
||||||
|
Region outset by @1 nodes=Gebiet um @1 Blöcke vergrößert
|
||||||
|
Inset the selected region.=Ausgewähltes Gebiet verkleinern.
|
||||||
|
Region inset by @1 nodes=Gebiet um @1 Blöcke verkleinert
|
||||||
|
Shifts the selection area without moving its contents=Verschiebt das ausgewählte Gebiet ohne dessen Inhalt
|
||||||
|
Invalid if looking straight up or down=Nicht zulässig bei gerade Blickrichtung nach unten oder oben
|
||||||
|
Region shifted by @1 nodes=Gebiet um @1 Blöcke verschoben
|
||||||
|
Expands the selection in the selected absolute or relative axis=Erweitert das Gebiet in Richtung einer absoluten oder relativen Achse
|
||||||
|
Region expanded by @1 nodes=Gebiet um @1 Blöcke erweitert
|
||||||
|
Contracts the selection in the selected absolute or relative axis=Schrumpft das Gebiet in Richtung einer absoluten oder relativen Achse
|
||||||
|
Region contracted by @1 nodes=Gebiet um @1 Blöcke geschrumpft
|
||||||
|
Select a cube with side length <size> around position 1 and run <command> on region=Wähle einen Würfel mit Seitenlänge <size> um Position 1 und führe <command> auf diesem Gebiet aus
|
||||||
|
invalid usage: //@1 cannot be used with cubeapply=Ungültige Verwendung: //@1 kann nicht mit cubeapply verwendet werden
|
||||||
|
Missing privileges: @1=Fehlende Privilegien: @1
|
||||||
|
Can use WorldEdit commands=Kann WorldEdit-Befehle benutzen
|
||||||
|
no region selected=Kein Gebiet ausgewählt
|
||||||
|
no position 1 selected=Keine Position 1 ausgewählt
|
||||||
|
invalid usage=Ungültige Verwendung
|
||||||
|
Could not open file "@1"=Konnte die Datei „@1“ nicht öffnen
|
||||||
|
Invalid file format!=Ungültiges Dateiformat!
|
||||||
|
Schematic was created with a newer version of WorldEdit.=Schematic wurde mit einer neueren Version von WorldEdit erstellt.
|
||||||
|
Get information about the WorldEdit mod=Informationen über den WorldEdit-Mod erhalten.
|
||||||
|
WorldEdit @1 is available on this server. Type //help to get a list of commands, or get more information at @2=WorldEdit @1 ist auf diesem Server verfügbar. Nutzen Sie //help, um eine Liste der Befehle zu erhalten, oder finden Sie weitere Informationen unter @2
|
||||||
|
Get help for WorldEdit commands=Hilfe für WorldEdit-Befehle erhalten
|
||||||
|
You are not allowed to use any WorldEdit commands.=Ihnen ist nicht erlaubt WorldEdit-Befehle zu nutzen.
|
||||||
|
Available commands: @1@nUse '//help <cmd>' to get more information, or '//help all' to list everything.=Verfügbare Befehle: @1@n„//help <Befehl>“ benutzen, um mehr Informationen zu erhalten, oder „//help all“, um alles aufzulisten.
|
||||||
|
Available commands:@n=Verfügbare Befehle:@n
|
||||||
|
Command not available: =Befehl nicht verfügbar:
|
||||||
|
Enable or disable node inspection=Inspizieren von Blöcken ein- oder ausschalten
|
||||||
|
inspector: inspection enabled for @1, currently facing the @2 axis=Inspektur: für @1 aktiviert, aktuell der @2-Achse zugewandt
|
||||||
|
inspector: inspection disabled=Inspektur: deaktiviert
|
||||||
|
inspector: @1 at @2 (param1@=@3, param2@=@4, received light@=@5) punched facing the @6 axis=Inspektur: @1 bei @2 (param1@=@3, param2@=@4, einfallendes Licht@=@5), der @6-Achse zugewandt, gehauen
|
||||||
|
Reset the region so that it is empty=Gebiet zurücksetzen, sodass es leer ist
|
||||||
|
region reset=Gebiet zurückgesetzt
|
||||||
|
Show markers at the region positions=Markierungen bei den Gebietsposition anzeigen
|
||||||
|
region marked=Gebiet markiert
|
||||||
|
Hide markers if currently shown=Markierungen verstecken falls derzeit sichtbar
|
||||||
|
region unmarked=Gebiet nicht mehr markiert
|
||||||
|
Set WorldEdit region position @1 to the player's location=Position @1 des WorldEdit-Gebiets auf die Position des Spieler setzen
|
||||||
|
position @1 set to @2=Position @1 auf @2 gesetzt
|
||||||
|
Set WorldEdit region, WorldEdit position 1, or WorldEdit position 2 by punching nodes, or display the current WorldEdit region=
|
||||||
|
unknown subcommand: @1=Unbekannter Unterbefehl: @1
|
||||||
|
select positions by punching two nodes=Wählen Sie die Position durch Hauen zweier Blöcke
|
||||||
|
select position @1 by punching a node=Wählen Sie Position @1 durch Hauen eines Blocks
|
||||||
|
position @1: @2=Position @1: @2
|
||||||
|
position @1 not set=Position @1 ist nicht gesetzt
|
||||||
|
Set a WorldEdit region position to the position at (<x>, <y>, <z>)=Position des WorldEdit-Gebiets auf (<x>, <y>, <z>) setzen
|
||||||
|
Display the volume of the current WorldEdit region=Volumen des aktuellen WorldEdit-Gebiets anzeigen
|
||||||
|
current region has a volume of @1 nodes (@2*@3*@4)=Das aktuelle Gebiet hat ein Volumen von @1 Blöcken (@2*@3*@4)
|
||||||
|
Remove all MapBlocks (16x16x16) containing the selected area from the map=Alle Kartenblöcke (16x16x16) entfernen, die das Gebiet enthalten.
|
||||||
|
Area deleted.=Gebiet gelöscht.
|
||||||
|
There was an error during deletion of the area.=Während des Löschens des Gebiets trat ein Fehler aus.
|
||||||
|
Set the current WorldEdit region to <node>=Das aktuelle WorldEdit-Gebiet mit <node> füllen
|
||||||
|
invalid node name: @1=Ungültiger Blockname: @1
|
||||||
|
@1 nodes set=@1 Blöcke gesetzt
|
||||||
|
Set param2 of all nodes in the current WorldEdit region to <param2>=Den param2 aller Blocke im aktuellen WorldEdit-Gebiet auf <param2> setzen
|
||||||
|
Param2 is out of range (must be between 0 and 255 inclusive!)=Param2 muss zwischen 0 und 255 (inklusiv) sein
|
||||||
|
@1 nodes altered=@1 Blöcke verändert
|
||||||
|
Fill the current WorldEdit region with a random mix of <node1>, ...=Das aktuelle WorldEdit-Gebiet mit einer zufälligen Mischung aus <node1>, ... füllen
|
||||||
|
invalid search node name: @1=Ungültiger Blockname für die Suche: @1
|
||||||
|
invalid replace node name: @1=Ungültiger Blockname für das Ersetzen: @1
|
||||||
|
Replace all instances of <search node> with <replace node> in the current WorldEdit region=Alle Vorkommen von <search node> im aktuellen WorldEdit-Gebiet mit <replace node> ersetzen
|
||||||
|
@1 nodes replaced=@1 Blöcke ersetzt
|
||||||
|
Replace all nodes other than <search node> with <replace node> in the current WorldEdit region=Alle Blöcke außer <search node> im aktuellen WorldEdit-Gebiet mit <replace node> ersetzen.
|
||||||
|
Add a hollow cube with its ground level centered at WorldEdit position 1 with dimensions <width> x <height> x <length>, composed of <node>.=
|
||||||
|
@1 nodes added=@1 Blöcke hinzugefügt
|
||||||
|
Add a cube with its ground level centered at WorldEdit position 1 with dimensions <width> x <height> x <length>, composed of <node>.=
|
||||||
|
Add hollow sphere centered at WorldEdit position 1 with radius <radius>, composed of <node>=
|
||||||
|
Add sphere centered at WorldEdit position 1 with radius <radius>, composed of <node>=
|
||||||
|
Add hollow dome centered at WorldEdit position 1 with radius <radius>, composed of <node>=
|
||||||
|
Add dome centered at WorldEdit position 1 with radius <radius>, composed of <node>=
|
||||||
|
Add hollow cylinder at WorldEdit position 1 along the given axis with length <length>, base radius <radius1> (and top radius [radius2]), composed of <node>=
|
||||||
|
Add cylinder at WorldEdit position 1 along the given axis with length <length>, base radius <radius1> (and top radius [radius2]), composed of <node>=
|
||||||
|
Add hollow pyramid centered at WorldEdit position 1 along the given axis with height <height>, composed of <node>=
|
||||||
|
Add pyramid centered at WorldEdit position 1 along the given axis with height <height>, composed of <node>=
|
||||||
|
Add spiral centered at WorldEdit position 1 with side length <length>, height <height>, space between walls <space>, composed of <node>=
|
||||||
|
Copy the current WorldEdit region along the given axis by <amount> nodes=Das aktuelle WorldEdit-Gebiet entlang der gegebenen Achse um <amount> Blöcke kopieren
|
||||||
|
@1 nodes copied=@1 Blöcke kopiert
|
||||||
|
Move the current WorldEdit region along the given axis by <amount> nodes=Das aktuelle WorldEdit-Gebiet entlang der gegebenen Achse um <amount> Blöcke verschieben
|
||||||
|
@1 nodes moved=@1 Blöcke verschoben
|
||||||
|
Stack the current WorldEdit region along the given axis <count> times=Das aktuelle WorldEdit-Gebiet entlang der gegebenen Achse <count>-mal stapeln
|
||||||
|
@1 nodes stacked=@1 Blöcke gestapelt
|
||||||
|
Stack the current WorldEdit region <count> times by offset <x>, <y>, <z>=Das aktuelle WorldEdit-Gebiet <count>-mal um <x>, <y>, <z> versetzt stapeln
|
||||||
|
invalid count: @1=Ungültige Anzahl: @1
|
||||||
|
invalid increments: @1=Ungültige Schrittweite: @1
|
||||||
|
Scale the current WorldEdit positions and region by a factor of <stretchx>, <stretchy>, <stretchz> along the X, Y, and Z axes, repectively, with position 1 as the origin=
|
||||||
|
invalid scaling factors: @1=Ungültige Skalierungsfaktoren: @1
|
||||||
|
@1 nodes stretched=@1 Blöcke gestreckt
|
||||||
|
Transpose the current WorldEdit region along the given axes=
|
||||||
|
invalid usage: axes must be different=Ungültige Verwendung: Achsen müssen verschieden sein
|
||||||
|
@1 nodes transposed=
|
||||||
|
Flip the current WorldEdit region along the given axis=
|
||||||
|
@1 nodes flipped=
|
||||||
|
Rotate the current WorldEdit region around the given axis by angle <angle> (90 degree increment)=
|
||||||
|
invalid usage: angle must be multiple of 90=Ungültige Verwendung: Winkel muss ein Vielfaches von 90 sein
|
||||||
|
@1 nodes rotated=@1 Blöcke gedreht
|
||||||
|
Rotate oriented nodes in the current WorldEdit region around the Y axis by angle <angle> (90 degree increment)=
|
||||||
|
@1 nodes oriented=
|
||||||
|
Fix the lighting in the current WorldEdit region=Belichtung im aktuellen WorldEdit-Gebiet korrigieren
|
||||||
|
@1 nodes updated=@1 Blöcke verändert
|
||||||
|
Remove any fluid node within the current WorldEdit region=Alle flüssigen Blöcke im WorldEdit-Gebiet entfernen
|
||||||
|
Remove any plant, tree or foliage-like nodes in the selected region=Alle Pflanzen, Baum oder Laub-ähnliche Blöcke im WorldEdit-Gebiet entfernen
|
||||||
|
@1 nodes removed=@1 Blöcke entfernt
|
||||||
|
Hide all nodes in the current WorldEdit region non-destructively=Alle Blöcke im WorldEdit-Gebiet zerstörungsfrei verstecken
|
||||||
|
@1 nodes hidden=@1 Blöcke versteckt
|
||||||
|
Suppress all <node> in the current WorldEdit region non-destructively=
|
||||||
|
@1 nodes suppressed=
|
||||||
|
Highlight <node> in the current WorldEdit region by hiding everything else non-destructively=Alle <node> Blöcke im WorldEdit-Gebiet hervorheben, indem alle anderen zerstörungsfrei versteckt werden
|
||||||
|
@1 nodes highlighted=@1 Blöcke hervorgehoben
|
||||||
|
Restores nodes hidden with WorldEdit in the current WorldEdit region=Versteckte Blöcke im WorldEdit-Gebiet wiederherstellen.
|
||||||
|
@1 nodes restored=@1 Blöcke wiederhergestellt
|
||||||
|
Warning: The schematic contains excessive free space and WILL be misaligned when allocated or loaded. To avoid this, shrink your area to cover exactly the nodes to be saved.=Warnung: Das Schematic hat überschüssigen freien Platz und WIRD nach dem Laden falsch ausgerichtet sein. Um dies zu vermeiden, verkleinern Sie das Gebiet sodass es die zu speichernden Blöcke exakt umfasst.
|
||||||
|
Save the current WorldEdit region to "(world folder)/schems/<file>.we"=Das aktuelle WorldEdit-Gebiet in "(Weltordner)/schems/<file>.we" speichern
|
||||||
|
Disallowed file name: @1=Nicht erlaubter Dateiname: @1
|
||||||
|
Could not save file to "@1"=Konnte die Datei nicht unter "@1" speichern
|
||||||
|
@1 nodes saved=@1 Blöcke gespeichert
|
||||||
|
Set the region defined by nodes from "(world folder)/schems/<file>.we" as the current WorldEdit region=Das aktuelle WorldEdit-Gebiet anhand der Blöcke in "(Weltordner)/schems/<file>.we" setzen
|
||||||
|
Schematic empty, nothing allocated=Schematic leer, nichts reserviert
|
||||||
|
@1 nodes allocated=@1 Blöcke reserviert
|
||||||
|
Load nodes from "(world folder)/schems/<file>[.we[m]]" with position 1 of the current WorldEdit region as the origin=Blöcke aus "(Weltordner)/schems/<file>[.we[m]]" mit Position 1 als Ausgangspunkt laden
|
||||||
|
Loading failed!=Laden fehlgeschlagen!
|
||||||
|
@1 nodes loaded=@1 Blöcke geladen
|
||||||
|
Executes <code> as a Lua chunk in the global namespace=
|
||||||
|
Executes <code> as a Lua chunk in the global namespace with the variable pos available, for each node in the current WorldEdit region=
|
||||||
|
Save the current WorldEdit region using the Minetest Schematic format to "(world folder)/schems/<filename>.mts"=Das aktuelle WorldEdit-Gebiet als Minetest-Schematic in "(Weltordner)/schems/<filename>.mts" speichern
|
||||||
|
Failed to create Minetest schematic=Konnte Minetest-Schematic nicht erstellen
|
||||||
|
Saved Minetest schematic to @1=Minetest-Schematic in @1 gespeichert
|
||||||
|
Load nodes from "(world folder)/schems/<file>.mts" with position 1 of the current WorldEdit region as the origin=Blöcke aus "(Weltordner)/schems/<file>.mts" mit Position 1 als Ausgangspunkt laden
|
||||||
|
failed to place Minetest schematic=Konnte Minetest-Schematic nicht platzieren
|
||||||
|
placed Minetest schematic @1 at @2=Minetest-Schematic @1 bei @2 platziert
|
||||||
|
Begins node probability entry for Minetest schematics, gets the nodes that have probabilities set, or ends node probability entry=
|
||||||
|
select Minetest schematic probability values by punching nodes=
|
||||||
|
finished Minetest schematic probability selection=
|
||||||
|
currently set node probabilities:=
|
||||||
|
invalid node probability given, not saved=
|
||||||
|
Clears all objects within the WorldEdit region=Löscht alle Objekte innerhalb des WorldEdit-Gebiets
|
||||||
|
@1 objects cleared=@1 Objekte gelöscht
|
||||||
|
WARNING: this operation could affect up to @1 nodes; type //y to continue or //n to cancel=WARNUNG: Dieser Vorgang könnte bis zu @1 Blöcke betreffen; //y zum Fortfahren oder //n zum Abbrechen
|
||||||
|
Confirm a pending operation=Einen ausstehenden Vorgang bestätigen
|
||||||
|
no operation pending=Kein Vorgang ausstehend
|
||||||
|
Abort a pending operation=Einen ausstehenden Vorgang abbrechen
|
||||||
|
WorldEdit Wand tool@nLeft-click to set 1st position, right-click to set 2nd=WorldEdit Zauberstab@nSetzen der 1. Position mit Linksklick, der 2. mit Rechtsklick
|
155
worldedit_commands/locale/worldedit_commands.ru.tr
Normal file
@ -0,0 +1,155 @@
|
|||||||
|
# textdomain: worldedit_commands
|
||||||
|
|
||||||
|
### init.lua ###
|
||||||
|
Can use WorldEdit commands=Возможность редактировать мир с помощью команд WorldEdit
|
||||||
|
|
||||||
|
no region selected=не выделен регион
|
||||||
|
no position 1 selected=не установлена позиция региона 1
|
||||||
|
invalid usage=не верное использование команды
|
||||||
|
Could not open file "@1"=Не удаётся открыть файл "@1"
|
||||||
|
Invalid file format!=Не верный формат файла!
|
||||||
|
Schematic was created with a newer version of WorldEdit.=Схема была создана с использованием более новой версии WorldEdit.
|
||||||
|
|
||||||
|
Get information about the WorldEdit mod=Вывести информацию о WorldEdit
|
||||||
|
WorldEdit @1 is available on this server. Type //help to get a list of commands, or get more information at @2=WorldEdit @1 доступен на этом сервере. Наберите команду //help чтобы увидеть список команд, больше информации по ссылке @2
|
||||||
|
Get help for WorldEdit commands=Вывести информацию об использовании команд WorldEdit
|
||||||
|
You are not allowed to use any WorldEdit commands.=У вас нет привилегий, чтобы использовать команды WorldEdit.
|
||||||
|
Available commands: @1@nUse '//help <cmd>' to get more information, or '//help all' to list everything.=Доступные команды: @1@nИспользуйте '//help <cmd>' для получения информации по команде или '//help all' для вывода подсказок по всем командам.
|
||||||
|
Available commands:@n=Доступные команды:@n
|
||||||
|
Command not available: =Команда не найдена:
|
||||||
|
Enable or disable node inspection=Включить/отключить инспекцию блоков
|
||||||
|
inspector: inspection enabled for @1, currently facing the @2 axis=inspector: инспекция включена для @1, текущий взор в направлении оси @2
|
||||||
|
inspector: inspection disabled=inspector: инспекция отключена
|
||||||
|
inspector: @1 at @2 (param1@=@3, param2@=@4, received light@=@5) punched facing the @6 axis=inspector: @1 в @2 (param1@=@3, param2@=@4, received light@=@5) ударен по поверхности @6
|
||||||
|
Reset the region so that it is empty=Сбросить выделение области
|
||||||
|
region reset=регион сброшен
|
||||||
|
Show markers at the region positions=Отобразить маркеры выделенной области
|
||||||
|
region marked=маркеры отображены
|
||||||
|
Hide markers if currently shown=Скрыть маркеры выделенной области
|
||||||
|
region unmarked=маркеры скрыты
|
||||||
|
Set WorldEdit region position @1 to the player's location=Установить маркер @1 для WorldEdit-региона в месте нахождения игрока
|
||||||
|
Set WorldEdit region, WorldEdit position 1, or WorldEdit position 2 by punching nodes, or display the current WorldEdit region=Выделить WorldEdit-регион или установить маркеры для WorldEdit-региона, либо отобразить уже выбранную область
|
||||||
|
unknown subcommand: @1=неизвестная подкоманда: @1
|
||||||
|
select positions by punching two nodes=выберите позиции, ударив по блокам
|
||||||
|
select position @1 by punching a node=выберите позицию @1, ударив по блоку
|
||||||
|
position @1: @2=позиция @1: @2
|
||||||
|
position @1 not set=позиция @1 не установлена
|
||||||
|
Set a WorldEdit region position to the position at (<x>, <y>, <z>)=Установить маркер для WorldEdit в позиции (<x>, <y>, <z>)
|
||||||
|
position @1 set to @2=позиция @1 установлена в @2
|
||||||
|
Display the volume of the current WorldEdit region=Вывести информацию об объёме текущей выделенной области WorldEdit (кол-во нод, размеры)
|
||||||
|
current region has a volume of @1 nodes (@2*@3*@4)=текущий регион имеет объем @1 нод (@2*@3*@4)
|
||||||
|
Remove all MapBlocks (16x16x16) containing the selected area from the map=Удалить MapBlocks (16x16x16), содержащие выбранную область
|
||||||
|
Area deleted.=Область удалена.
|
||||||
|
There was an error during deletion of the area.=Что-то пошло не так при удалении области.
|
||||||
|
Set the current WorldEdit region to <node>=Заполнить выбранный WorldEdit-регион указанным типом блоков
|
||||||
|
invalid node name: @1=неверное название блока: @1
|
||||||
|
@1 nodes set=@1 блок(а/ов) установленно
|
||||||
|
Set param2 of all nodes in the current WorldEdit region to <param2>=Проставить param2 для всех блоков в текущем WorldEdit-регионе
|
||||||
|
Param2 is out of range (must be between 0 and 255 inclusive!)=Значение param2 должно быть от 0 до 255 (включительно!)
|
||||||
|
@1 nodes altered=изменено @1 блок(а/ов)
|
||||||
|
Fill the current WorldEdit region with a random mix of <node1>, ...=Заполнить выбранный WorldEdit-регион смесью указанных типов блоков
|
||||||
|
invalid search node name: @1=неверное название блока-поиска: @1
|
||||||
|
invalid replace node name: @1=неверное название блока-замены: @1
|
||||||
|
Replace all instances of <search node> with <replace node> in the current WorldEdit region=Заменить все блоки <search node> на <replace node> в выбранной WorldEdit-области
|
||||||
|
@1 nodes replaced=заменено @1 нод(а/ы)
|
||||||
|
Replace all nodes other than <search node> with <replace node> in the current WorldEdit region=Заменить все блоки, кроме <search node>, на <replace node> в выбранной WorldEdit-области
|
||||||
|
Add a hollow cube with its ground level centered at WorldEdit position 1 with dimensions <width> x <height> x <length>, composed of <node>.=Установить полый куб с центром нижней грани в позиции 1 и указанными размерами, состоящий из блоков <node>.
|
||||||
|
@1 nodes added=добавлен(о) @1 блок(а/ов)
|
||||||
|
Add a cube with its ground level centered at WorldEdit position 1 with dimensions <width> x <height> x <length>, composed of <node>.=Установить куб с центром нижней грани в позиции 1 и указанными размерами, состоящий из блоков <node>.
|
||||||
|
Add hollow sphere centered at WorldEdit position 1 with radius <radius>, composed of <node>=Установить полую сферу с центром в WorldEdit-позиции 1 радиусом <radius>, состоящую из блоков <node>
|
||||||
|
Add sphere centered at WorldEdit position 1 with radius <radius>, composed of <node>=Установить сферу с центром в WorldEdit-позиции 1 радиусом <radius>, состоящую из блоков <node>
|
||||||
|
Add hollow dome centered at WorldEdit position 1 with radius <radius>, composed of <node>=Установить полый купол с центром в WorldEdit-позиции 1 радиусом <radius>, состоящий из блоков <node>
|
||||||
|
Add dome centered at WorldEdit position 1 with radius <radius>, composed of <node>=Установить купол с центром в WorldEdit-позиции 1 радиусом <radius>, состоящий из блоков <node>
|
||||||
|
Add hollow cylinder at WorldEdit position 1 along the given axis with length <length>, base radius <radius1> (and top radius [radius2]), composed of <node>=Установить полый цилиндр вдоль указанной оси, с центром в позиции 1, высотой/длинной <length>, с радиусом основания <radius> (и радиусом вершины [radius 2]), состоящий из блоков <node>
|
||||||
|
Add cylinder at WorldEdit position 1 along the given axis with length <length>, base radius <radius1> (and top radius [radius2]), composed of <node>=Установить цилиндр вдоль указанной оси, с центром в позиции 1, высотой/длинной <length>, с радиусом основания <radius> (и радиусом вершины [radius 2]), состоящий из блоков <node>
|
||||||
|
Add hollow pyramid centered at WorldEdit position 1 along the given axis with height <height>, composed of <node>=Установить полую пирамиду вдоль указанной оси, с центром в WorldEdit-позиции 1 высотой <height>, состоящую из блоков <node>
|
||||||
|
Add pyramid centered at WorldEdit position 1 along the given axis with height <height>, composed of <node>=Установить пирамиду вдоль указанной оси, с центром в WorldEdit-позиции 1 высотой <height>, состоящую из блоков <node>
|
||||||
|
Add spiral centered at WorldEdit position 1 with side length <length>, height <height>, space between walls <space>, composed of <node>=Установить спираль с центром в WorldEdit-позиции 1 шириной <length>, высотой <height> и с расстоянием между витками <space>, состоящую из блоков <node>
|
||||||
|
Copy the current WorldEdit region along the given axis by <amount> nodes=Копировать текущий WorldEdit-регион со смещением вдоль указанной оси (x/y/z) на <amount> блоков
|
||||||
|
@1 nodes copied=скопировано @1 нод(а/ы)
|
||||||
|
Move the current WorldEdit region along the given axis by <amount> nodes=Переместить текущий WorldEdit-регион вдоль указанной оси (x/y/z) на <amount> блоков
|
||||||
|
@1 nodes moved=перемещено @1 нод(а/ы)
|
||||||
|
Stack the current WorldEdit region along the given axis <count> times=Размножить текущий WorldEdit-регион вдоль указанной оси <count> раз
|
||||||
|
@1 nodes stacked=размножено @1 нод(а/ы)
|
||||||
|
Stack the current WorldEdit region <count> times by offset <x>, <y>, <z>=Размножить текущий WorldEdit-регион <count> раз с шагом <x>, <y>, <z> по соответствующим осям
|
||||||
|
invalid count: @1=неверное количество: @1
|
||||||
|
invalid increments: @1=неверные приращения(шаг)
|
||||||
|
Scale the current WorldEdit positions and region by a factor of <stretchx>, <stretchy>, <stretchz> along the X, Y, and Z axes, repectively, with position 1 as the origin=Масштабировать текущий WorldEdit-регион с коэффициентами <stretchx>, <stretchy>, <stretchz> вдоль осей X, Y и Z, используя WorldEdit-позицию 1 в качестве точки отсчёта
|
||||||
|
invalid scaling factors: @1=неверные коэффициенты масштабирования: @1
|
||||||
|
@1 nodes stretched=масштабировано @1 нод(а/ы)
|
||||||
|
Transpose the current WorldEdit region along the given axes=Транспонировать текущий WorldEdit-регион по заданным осям.
|
||||||
|
invalid usage: axes must be different=недопустимое использование: оси должны быть разными
|
||||||
|
@1 nodes transposed=транспонировано @1 нод(а/ы)
|
||||||
|
Flip the current WorldEdit region along the given axis=Перевернуть/Отразить текущий WorldEdit-регион вдоль указанной оси
|
||||||
|
@1 nodes flipped=отражено @1 нод(а/ы)
|
||||||
|
Rotate the current WorldEdit region around the given axis by angle <angle> (90 degree increment)=Повернуть текущий WorldEdit-регион вокруг оси <axis> на угол <angle> (шаг - 90 градусов)
|
||||||
|
invalid usage: angle must be multiple of 90=недопустимое использование: угол должен быть кратен 90
|
||||||
|
@1 nodes rotated=повёрнуто @1 нод(а/ы)
|
||||||
|
Rotate oriented nodes in the current WorldEdit region around the Y axis by angle <angle> (90 degree increment)=Повернуть блоки в текущем WorldEdit-регионе вокруг оси Y на угол <angle> (шаг - 90 градусов)
|
||||||
|
@1 nodes oriented=повёрнуто @1 нод(а/ы)
|
||||||
|
Fix the lighting in the current WorldEdit region=Исправить освещение в текущем WorldEdit-регионе
|
||||||
|
@1 nodes updated=обновлено @1 нод(а/ы)
|
||||||
|
Remove any fluid node within the current WorldEdit region=Удалить любые жидкости в текущем WorldEdit-регионе
|
||||||
|
Remove any plant, tree or foliage-like nodes in the selected region=Удалить любые растения, деревья или листье-подобные ноды в текущем WorldEdit-регионе
|
||||||
|
@1 nodes removed=удалено @1 нод(а/ы)
|
||||||
|
Hide all nodes in the current WorldEdit region non-destructively=Скрыть узлы текущего WorldEdit-региона, не удаляя их
|
||||||
|
@1 nodes hidden=скрыто @1 нод(а/ы)
|
||||||
|
Suppress all <node> in the current WorldEdit region non-destructively=Скрыть все блоки <node> в текущем WorldEdit-регионе, не удаляя их
|
||||||
|
@1 nodes suppressed=скрыто @1 нод(а/ы)
|
||||||
|
Highlight <node> in the current WorldEdit region by hiding everything else non-destructively=Скрыть все блоки, кроме <node>, в текущем WorldEdit-регионе, не удаляя их
|
||||||
|
@1 nodes highlighted="подсвечено" @1 нод(а/ы)
|
||||||
|
Restores nodes hidden with WorldEdit in the current WorldEdit region=Восстановить скрытые WorldEdit'ом узлы в текущем WorldEdit-регионе
|
||||||
|
@1 nodes restored=восстановлено @1 нод(а/ы)
|
||||||
|
Warning: The schematic contains excessive free space and WILL be misaligned when allocated or loaded. To avoid this, shrink your area to cover exactly the nodes to be saved.=Предупреждение: Схема содержит слишком много свободного места и будет смещена при размещении или загрузке. Чтобы избежать этого, уменьшите область так, чтобы она охватывала именно те узлы, которые необходимо сохранить.
|
||||||
|
Save the current WorldEdit region to "(world folder)/schems/<file>.we"=Сохранить текущий WorldEdit-регион в файл "(world folder)/schems/<file>.we"
|
||||||
|
Disallowed file name: @1=Недопустимое имя файла: @1
|
||||||
|
Could not save file to "@1"=Не удалось сохранить файл в "@1"
|
||||||
|
@1 nodes saved=сохранено @1 нод(а/ы)
|
||||||
|
Set the region defined by nodes from "(world folder)/schems/<file>.we" as the current WorldEdit region=Выделить область, определённую узлами из "(world folder)/schems/<file>.we", как текущий WorldEdit-регион
|
||||||
|
Schematic empty, nothing allocated=Схема пуста, ничего не выделено
|
||||||
|
@1 nodes allocated=выделено @1 нод(а/ы)
|
||||||
|
Load nodes from "(world folder)/schems/<file>[.we[m]]" with position 1 of the current WorldEdit region as the origin=Загрузить регион из "(world folder)/schems/<file>[.we[m]]" с WorldEdit-позицией 1 в качестве точки отсчёта
|
||||||
|
Loading failed!=Не удалось загрузить!
|
||||||
|
@1 nodes loaded=загружено @1 нод(а/ы)
|
||||||
|
Executes <code> as a Lua chunk in the global namespace=Выполнить <code> как Lua-код в глобальном пространстве имён
|
||||||
|
Executes <code> as a Lua chunk in the global namespace with the variable pos available, for each node in the current WorldEdit region=Выполнить <code> как Lua-код в глобальном пространстве имён, с доступом к переменным позиций для каждого блока в текущем WordEdit-регионе
|
||||||
|
Save the current WorldEdit region using the Minetest Schematic format to "(world folder)/schems/<filename>.mts"=Сохранить текущий WorldEdit-регион с использованием сжатия в формат Minetest Schematic в файл "(world folder)/schems/<filename>.mts"
|
||||||
|
Failed to create Minetest schematic=Не удалось создать Minetest-схему
|
||||||
|
Saved Minetest schematic to @1=Minetest-схема сохранена в @1
|
||||||
|
Load nodes from "(world folder)/schems/<file>.mts" with position 1 of the current WorldEdit region as the origin=Загрузить блоки из "(world folder)/schems/<file>.mts" с WorldEdit-позицией 1 в качестве точки отсчёта
|
||||||
|
failed to place Minetest schematic=не удалось загрузить Minetest-схему
|
||||||
|
placed Minetest schematic @1 at @2=Minetest-схема @1 загружена в @2
|
||||||
|
Begins node probability entry for Minetest schematics, gets the nodes that have probabilities set, or ends node probability entry=Начать запись вероятностей для Minetest Schematic, ударяя по блокам, закончить запись вероятностей или вывести уже записанные вероятности
|
||||||
|
select Minetest schematic probability values by punching nodes=выберите значения вероятностей для Minetest-схемы, ударя по нодам
|
||||||
|
finished Minetest schematic probability selection=выбор вероятностей для Minetest-схемы завершен
|
||||||
|
currently set node probabilities:=заданные вероятности нод на данный момент:
|
||||||
|
invalid node probability given, not saved=недопустимая вероятность ноды, не сохранена
|
||||||
|
Clears all objects within the WorldEdit region=Очистить все объекты в текущем WorldEdit-регионе
|
||||||
|
@1 objects cleared=очищено @1 объектов
|
||||||
|
|
||||||
|
### safe.lua ###
|
||||||
|
WARNING: this operation could affect up to @1 nodes; type //y to continue or //n to cancel=ПРЕДУПРЕЖДЕНИЕ: эта операция может затронуть до @1 нод; введите //y для продолжения или //n для отмены
|
||||||
|
Confirm a pending operation=Подтвердить отложенную операцию
|
||||||
|
no operation pending=нет ожидающей операции
|
||||||
|
Abort a pending operation=Отклонить отложенную операцию
|
||||||
|
|
||||||
|
### cuboid.lua ###
|
||||||
|
Outset the selected region.=Расширить выделение региона.
|
||||||
|
Invalid direction: @1=Недопустимое направление: @1
|
||||||
|
Invalid number of arguments=Недопустимое количество аргументов
|
||||||
|
Region outset by @1 nodes=Регион расширен на @1 нод(у/ы)
|
||||||
|
Inset the selected region.=Сузить выделение региона.
|
||||||
|
Region inset by @1 nodes=Регион сужен на @1 нод(у/ы)
|
||||||
|
Shifts the selection area without moving its contents=Сдвинуть выделение региона без перемещения его содержимого
|
||||||
|
Invalid if looking straight up or down=Недопустимо, если смотреть прямо вверх или вниз
|
||||||
|
Region shifted by @1 nodes=Регион сдвинут на @1 нод(у/ы)
|
||||||
|
Expands the selection in the selected absolute or relative axis=Увеличить выделение региона по выбранной абсолютной или относительной оси
|
||||||
|
Region expanded by @1 nodes=Регион увеличен на @1 нод(у/ы)
|
||||||
|
Contracts the selection in the selected absolute or relative axis=Уменьшить выделение региона по выбранной абсолютной или относительной оси
|
||||||
|
Region contracted by @1 nodes=Регион уменьшен на @1 нод(у/ы)
|
||||||
|
Select a cube with side length <size> around position 1 and run <command> on region=Выделить куб с длиной стороны <size> вокруг позиции 1 и запустите <команду> в области
|
||||||
|
invalid usage: //@1 cannot be used with cubeapply=недопустимое использование: //@1 не может быть применено в cubeapply
|
||||||
|
Missing privileges: @1=Отсутствуют привилегии: @1
|
||||||
|
|
||||||
|
### wand.lua ###
|
||||||
|
WorldEdit Wand tool@nLeft-click to set 1st position, right-click to set 2nd=Инструмент WorldEdit Wand@nЛевая кнопка мыши, чтобы установить 1-ю позицию, правая кнопка мыши, чтобы установить 2-ю
|
@ -6,7 +6,7 @@ local init_sentinel = "new" .. tostring(math.random(99999))
|
|||||||
|
|
||||||
--marks worldedit region position 1
|
--marks worldedit region position 1
|
||||||
worldedit.mark_pos1 = function(name, region_too)
|
worldedit.mark_pos1 = function(name, region_too)
|
||||||
local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name]
|
local pos1 = worldedit.pos1[name]
|
||||||
|
|
||||||
if worldedit.marker1[name] ~= nil then --marker already exists
|
if worldedit.marker1[name] ~= nil then --marker already exists
|
||||||
worldedit.marker1[name]:remove() --remove marker
|
worldedit.marker1[name]:remove() --remove marker
|
||||||
@ -30,7 +30,7 @@ end
|
|||||||
|
|
||||||
--marks worldedit region position 2
|
--marks worldedit region position 2
|
||||||
worldedit.mark_pos2 = function(name, region_too)
|
worldedit.mark_pos2 = function(name, region_too)
|
||||||
local pos1, pos2 = worldedit.pos1[name], worldedit.pos2[name]
|
local pos2 = worldedit.pos2[name]
|
||||||
|
|
||||||
if worldedit.marker2[name] ~= nil then --marker already exists
|
if worldedit.marker2[name] ~= nil then --marker already exists
|
||||||
worldedit.marker2[name]:remove() --remove marker
|
worldedit.marker2[name]:remove() --remove marker
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
local S = minetest.get_translator("worldedit_commands")
|
||||||
|
|
||||||
local safe_region_callback = {}
|
local safe_region_callback = {}
|
||||||
|
|
||||||
--`count` is the number of nodes that would possibly be modified
|
--`count` is the number of nodes that would possibly be modified
|
||||||
@ -9,7 +11,7 @@ local function safe_region(name, count, callback)
|
|||||||
|
|
||||||
--save callback to call later
|
--save callback to call later
|
||||||
safe_region_callback[name] = callback
|
safe_region_callback[name] = callback
|
||||||
worldedit.player_notify(name, "WARNING: this operation could affect up to " .. count .. " nodes; type //y to continue or //n to cancel")
|
worldedit.player_notify(name, S("WARNING: this operation could affect up to @1 nodes; type //y to continue or //n to cancel", count))
|
||||||
end
|
end
|
||||||
|
|
||||||
local function reset_pending(name)
|
local function reset_pending(name)
|
||||||
@ -18,11 +20,11 @@ end
|
|||||||
|
|
||||||
minetest.register_chatcommand("/y", {
|
minetest.register_chatcommand("/y", {
|
||||||
params = "",
|
params = "",
|
||||||
description = "Confirm a pending operation",
|
description = S("Confirm a pending operation"),
|
||||||
func = function(name)
|
func = function(name)
|
||||||
local callback = safe_region_callback[name]
|
local callback = safe_region_callback[name]
|
||||||
if not callback then
|
if not callback then
|
||||||
worldedit.player_notify(name, "no operation pending")
|
worldedit.player_notify(name, S("no operation pending"))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -33,10 +35,10 @@ minetest.register_chatcommand("/y", {
|
|||||||
|
|
||||||
minetest.register_chatcommand("/n", {
|
minetest.register_chatcommand("/n", {
|
||||||
params = "",
|
params = "",
|
||||||
description = "Abort a pending operation",
|
description = S("Abort a pending operation"),
|
||||||
func = function(name)
|
func = function(name)
|
||||||
if not safe_region_callback[name] then
|
if not safe_region_callback[name] then
|
||||||
worldedit.player_notify(name, "no operation pending")
|
worldedit.player_notify(name, S("no operation pending"))
|
||||||
return
|
return
|
||||||
end
|
end
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 147 B After Width: | Height: | Size: 79 B |
Before Width: | Height: | Size: 142 B After Width: | Height: | Size: 100 B |
Before Width: | Height: | Size: 157 B After Width: | Height: | Size: 112 B |
BIN
worldedit_commands/textures/worldedit_wand.png
Normal file
After Width: | Height: | Size: 303 B |
@ -1,3 +1,5 @@
|
|||||||
|
local S = minetest.get_translator("worldedit_commands")
|
||||||
|
|
||||||
local function above_or_under(placer, pointed_thing)
|
local function above_or_under(placer, pointed_thing)
|
||||||
if placer:get_player_control().sneak then
|
if placer:get_player_control().sneak then
|
||||||
return pointed_thing.above
|
return pointed_thing.above
|
||||||
@ -9,7 +11,7 @@ end
|
|||||||
local punched_air_time = {}
|
local punched_air_time = {}
|
||||||
|
|
||||||
minetest.register_tool(":worldedit:wand", {
|
minetest.register_tool(":worldedit:wand", {
|
||||||
description = "WorldEdit Wand tool\nLeft-click to set 1st position, right-click to set 2nd",
|
description = S("WorldEdit Wand tool\nLeft-click to set 1st position, right-click to set 2nd"),
|
||||||
inventory_image = "worldedit_wand.png",
|
inventory_image = "worldedit_wand.png",
|
||||||
stack_max = 1, -- there is no need to have more than one
|
stack_max = 1, -- there is no need to have more than one
|
||||||
liquids_pointable = true, -- ground with only water on can be selected as well
|
liquids_pointable = true, -- ground with only water on can be selected as well
|
||||||
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 597 B After Width: | Height: | Size: 382 B |