More error message stuff
This commit is contained in:
parent
8c155ce868
commit
56397edbfc
@ -427,7 +427,7 @@ function better_commands.parse_selector(selector_data, context, require_one)
|
|||||||
end
|
end
|
||||||
if require_one then
|
if require_one then
|
||||||
if #result == 0 then
|
if #result == 0 then
|
||||||
return nil, S("No matching entities found")
|
return nil, S("No entity was found")
|
||||||
elseif #result > 1 then
|
elseif #result > 1 then
|
||||||
return nil, S("Multiple matching entities found")
|
return nil, S("Multiple matching entities found")
|
||||||
end
|
end
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
--local bc = better_commands
|
--local bc = better_commands--local bc = better_commands
|
||||||
local S = minetest.get_translator(minetest.get_current_modname())
|
local S = minetest.get_translator(minetest.get_current_modname())
|
||||||
|
|
||||||
better_commands.register_command("ability", {
|
better_commands.register_command("ability", {
|
||||||
@ -18,7 +18,7 @@ better_commands.register_command("ability", {
|
|||||||
return false, minetest.colorize("red", S("[value] must be true or false (or missing), not '@1'", set)), 0
|
return false, minetest.colorize("red", S("[value] must be true or false (or missing), not '@1'", set)), 0
|
||||||
end
|
end
|
||||||
local targets, err = better_commands.parse_selector(split_param[1], context, true)
|
local targets, err = better_commands.parse_selector(split_param[1], context, true)
|
||||||
if err or not targets then return false, err, 0 end
|
if err or not targets then return false, minetest.colorize("red", err), 0 end
|
||||||
local priv = split_param[2] and split_param[2][3]
|
local priv = split_param[2] and split_param[2][3]
|
||||||
local target = targets[1]
|
local target = targets[1]
|
||||||
if target.is_player and target:is_player() then
|
if target.is_player and target:is_player() then
|
||||||
@ -74,6 +74,6 @@ better_commands.register_command("ability", {
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
return false, minetest.colorize("red", S("No matching entity found")), 0
|
return false, minetest.colorize("red", S("No entity was found")), 0
|
||||||
end
|
end
|
||||||
})
|
})
|
@ -15,7 +15,7 @@ better_commands.register_command("say", {
|
|||||||
if context.command_block or minetest.check_player_privs(context.origin, {server = true}) then
|
if context.command_block or minetest.check_player_privs(context.origin, {server = true}) then
|
||||||
local err
|
local err
|
||||||
message, err = better_commands.expand_selectors(param, split_param, 1, context)
|
message, err = better_commands.expand_selectors(param, split_param, 1, context)
|
||||||
if err then return false, err, 0 end
|
if err then return false, minetest.colorize("red", err), 0 end
|
||||||
else
|
else
|
||||||
message = param
|
message = param
|
||||||
end
|
end
|
||||||
@ -37,13 +37,13 @@ better_commands.register_command("msg", {
|
|||||||
return false, nil, 0
|
return false, nil, 0
|
||||||
end
|
end
|
||||||
local targets, err = better_commands.parse_selector(split_param[1], context)
|
local targets, err = better_commands.parse_selector(split_param[1], context)
|
||||||
if err or not targets then return false, err, 0 end
|
if err or not targets then return false, minetest.colorize("red", err), 0 end
|
||||||
local target_start = S("@1 whispers to you: ", better_commands.get_entity_name(context.executor))
|
local target_start = S("@1 whispers to you: ", better_commands.get_entity_name(context.executor))
|
||||||
local message
|
local message
|
||||||
if context.command_block or minetest.check_player_privs(context.origin, {server = true}) then
|
if context.command_block or minetest.check_player_privs(context.origin, {server = true}) then
|
||||||
local err
|
local err
|
||||||
message, err = better_commands.expand_selectors(param, split_param, 2, context)
|
message, err = better_commands.expand_selectors(param, split_param, 2, context)
|
||||||
if err then return false, err, 0 end
|
if err then return false, minetest.colorize("red", err), 0 end
|
||||||
else
|
else
|
||||||
---@diagnostic disable-next-line: param-type-mismatch
|
---@diagnostic disable-next-line: param-type-mismatch
|
||||||
message = param:sub(split_param[2][1], -1)
|
message = param:sub(split_param[2][1], -1)
|
||||||
@ -78,7 +78,7 @@ better_commands.register_command("me", {
|
|||||||
if context.command_block or minetest.check_player_privs(context.origin, {server = true}) then
|
if context.command_block or minetest.check_player_privs(context.origin, {server = true}) then
|
||||||
local err
|
local err
|
||||||
message, err = better_commands.expand_selectors(param, split_param, 1, context)
|
message, err = better_commands.expand_selectors(param, split_param, 1, context)
|
||||||
if err then return false, err, 0 end
|
if err then return false, minetest.colorize("red", err), 0 end
|
||||||
else
|
else
|
||||||
message = param
|
message = param
|
||||||
end
|
end
|
||||||
@ -112,7 +112,7 @@ better_commands.register_command("teammsg", {
|
|||||||
if context.command_block or minetest.check_player_privs(context.origin, {server = true}) then
|
if context.command_block or minetest.check_player_privs(context.origin, {server = true}) then
|
||||||
local err
|
local err
|
||||||
message, err = better_commands.expand_selectors(param, split_param, 1, context)
|
message, err = better_commands.expand_selectors(param, split_param, 1, context)
|
||||||
if err then return false, err, 0 end
|
if err then return false, minetest.colorize("red", err), 0 end
|
||||||
else
|
else
|
||||||
---@diagnostic disable-next-line: param-type-mismatch
|
---@diagnostic disable-next-line: param-type-mismatch
|
||||||
message = param:sub(split_param[1][1], -1)
|
message = param:sub(split_param[1][1], -1)
|
||||||
|
@ -14,7 +14,7 @@ better_commands.register_command("clear", {
|
|||||||
targets = {context.executor}
|
targets = {context.executor}
|
||||||
else
|
else
|
||||||
targets, err = better_commands.parse_selector(selector, context)
|
targets, err = better_commands.parse_selector(selector, context)
|
||||||
if err or not targets then return false, err, 0 end
|
if err or not targets then return false, minetest.colorize("red", err), 0 end
|
||||||
end
|
end
|
||||||
local filter, group
|
local filter, group
|
||||||
if split_param[2] then
|
if split_param[2] then
|
||||||
@ -31,7 +31,7 @@ better_commands.register_command("clear", {
|
|||||||
filter = split_param[2][3]:sub(7, -1)
|
filter = split_param[2][3]:sub(7, -1)
|
||||||
else
|
else
|
||||||
filter, err = better_commands.parse_item(split_param[2], true)
|
filter, err = better_commands.parse_item(split_param[2], true)
|
||||||
if err or not filter then return false, err, 0 end
|
if err or not filter then return false, minetest.colorize("red", err), 0 end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
local remove_max = tonumber(split_param[3] and split_param[3][3])
|
local remove_max = tonumber(split_param[3] and split_param[3][3])
|
||||||
|
@ -223,7 +223,7 @@ better_commands.execute_subcommands = {
|
|||||||
end
|
end
|
||||||
else
|
else
|
||||||
if not (branches.param[branch_data.i+1] and branches.param[branch_data.i+2]) then
|
if not (branches.param[branch_data.i+1] and branches.param[branch_data.i+2]) then
|
||||||
return false, minetest.colorize("red", S("Missing argument(s)) for rotated")
|
return false, minetest.colorize("red", S("Missing argument(s)) for rotated"))
|
||||||
end
|
end
|
||||||
local victim_rot = branch_data.rot
|
local victim_rot = branch_data.rot
|
||||||
if branches.param[branch_data.i+1].type == "number" then
|
if branches.param[branch_data.i+1].type == "number" then
|
||||||
|
@ -18,7 +18,7 @@ better_commands.register_command("gamemode", {
|
|||||||
if not context then return false, minetest.colorize("red", S("Missing context")), 0 end
|
if not context then return false, minetest.colorize("red", S("Missing context")), 0 end
|
||||||
if not context.executor then return false, minetest.colorize("red", S("Missing executor")), 0 end
|
if not context.executor then return false, minetest.colorize("red", S("Missing executor")), 0 end
|
||||||
local split_param, err = better_commands.parse_params(param)
|
local split_param, err = better_commands.parse_params(param)
|
||||||
if err then return false, err, 0 end
|
if err then return false, minetest.colorize("red", err), 0 end
|
||||||
local gamemode = split_param[1] and split_param[1][3]
|
local gamemode = split_param[1] and split_param[1][3]
|
||||||
if not gamemode then return false, minetest.colorize("red", S("Missing gamemode")), 0 end
|
if not gamemode then return false, minetest.colorize("red", S("Missing gamemode")), 0 end
|
||||||
gamemode = better_commands.gamemode_aliases[gamemode] or gamemode
|
gamemode = better_commands.gamemode_aliases[gamemode] or gamemode
|
||||||
@ -34,7 +34,7 @@ better_commands.register_command("gamemode", {
|
|||||||
if split_param[2] then
|
if split_param[2] then
|
||||||
local err
|
local err
|
||||||
targets, err = better_commands.parse_selector(split_param[2], context)
|
targets, err = better_commands.parse_selector(split_param[2], context)
|
||||||
if err or not targets then return false, err, 0 end
|
if err or not targets then return false, minetest.colorize("red", err), 0 end
|
||||||
self = false
|
self = false
|
||||||
end
|
end
|
||||||
local count = 0
|
local count = 0
|
||||||
|
@ -18,7 +18,7 @@ end
|
|||||||
-- Modified from builtin/game/chat.lua
|
-- Modified from builtin/game/chat.lua
|
||||||
local function handle_give_command(receiver, stack_data)
|
local function handle_give_command(receiver, stack_data)
|
||||||
local itemstack, err = better_commands.parse_item(stack_data)
|
local itemstack, err = better_commands.parse_item(stack_data)
|
||||||
if err or not itemstack then return false, err, 0 end
|
if err or not itemstack then return false, minetest.colorize("red", err), 0 end
|
||||||
if itemstack:is_empty() then
|
if itemstack:is_empty() then
|
||||||
return false, minetest.colorize("red", S("Cannot give an empty item")), 0
|
return false, minetest.colorize("red", S("Cannot give an empty item")), 0
|
||||||
elseif (not itemstack:is_known()) or (itemstack:get_name() == "unknown") then
|
elseif (not itemstack:is_known()) or (itemstack:get_name() == "unknown") then
|
||||||
@ -55,7 +55,7 @@ better_commands.register_command("give", {
|
|||||||
end
|
end
|
||||||
local message
|
local message
|
||||||
local targets, err = better_commands.parse_selector(split_param[1], context)
|
local targets, err = better_commands.parse_selector(split_param[1], context)
|
||||||
if err or not targets then return false, err, 0 end
|
if err or not targets then return false, minetest.colorize("red", err), 0 end
|
||||||
local count = 0
|
local count = 0
|
||||||
for _, target in ipairs(targets) do
|
for _, target in ipairs(targets) do
|
||||||
if target.is_player and target:is_player() then
|
if target.is_player and target:is_player() then
|
||||||
|
@ -12,7 +12,7 @@ better_commands.register_command("kill", {
|
|||||||
if param == "" then param = "@s" end
|
if param == "" then param = "@s" end
|
||||||
local split_param = better_commands.parse_params(param)
|
local split_param = better_commands.parse_params(param)
|
||||||
local targets, err = better_commands.parse_selector(split_param[1], context)
|
local targets, err = better_commands.parse_selector(split_param[1], context)
|
||||||
if err or not targets then return false, err, 0 end
|
if err or not targets then return false, minetest.colorize("red", err), 0 end
|
||||||
local count = 0
|
local count = 0
|
||||||
local last
|
local last
|
||||||
for _, target in ipairs(targets) do
|
for _, target in ipairs(targets) do
|
||||||
@ -36,7 +36,7 @@ better_commands.register_command("kill", {
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
if count < 1 then
|
if count < 1 then
|
||||||
return false, minetest.colorize("red", S("No matching entity found")), 0
|
return false, minetest.colorize("red", S("No entity was found")), 0
|
||||||
elseif count == 1 then
|
elseif count == 1 then
|
||||||
return true, S("Killed @1", last), count
|
return true, S("Killed @1", last), count
|
||||||
else
|
else
|
||||||
|
@ -15,11 +15,11 @@ better_commands.register_command("playsound", {
|
|||||||
local targets, err, next
|
local targets, err, next
|
||||||
if split_param[2].type == "selector" then
|
if split_param[2].type == "selector" then
|
||||||
targets, err = better_commands.parse_selector(split_param[2], context)
|
targets, err = better_commands.parse_selector(split_param[2], context)
|
||||||
if err or not targets then return false, err, 0 end
|
if err or not targets then return false, minetest.colorize("red", err), 0 end
|
||||||
next = 3
|
next = 3
|
||||||
else
|
else
|
||||||
local pos, err = better_commands.parse_pos(split_param, 2, context)
|
local pos, err = better_commands.parse_pos(split_param, 2, context)
|
||||||
if err or not pos then return false, err, 0
|
if err or not pos then return false, minetest.colorize("red", err), 0
|
||||||
end
|
end
|
||||||
targets = {pos}
|
targets = {pos}
|
||||||
next = 5
|
next = 5
|
||||||
|
@ -174,7 +174,7 @@ better_commands.register_command("scoreboard", {
|
|||||||
if not score then return false, minetest.colorize("red", S("Missing score")), 0 end
|
if not score then return false, minetest.colorize("red", S("Missing score")), 0 end
|
||||||
score = math.floor(score)
|
score = math.floor(score)
|
||||||
local names, err = better_commands.get_scoreboard_names(selector, context, objective)
|
local names, err = better_commands.get_scoreboard_names(selector, context, objective)
|
||||||
if err or not names then return false, err, 0 end
|
if err or not names then return false, minetest.colorize("red", err), 0 end
|
||||||
local last
|
local last
|
||||||
local scores = better_commands.scoreboard.objectives[objective].scores
|
local scores = better_commands.scoreboard.objectives[objective].scores
|
||||||
for name in pairs(names) do
|
for name in pairs(names) do
|
||||||
@ -215,7 +215,7 @@ better_commands.register_command("scoreboard", {
|
|||||||
end
|
end
|
||||||
local scores = better_commands.scoreboard.objectives[objective].scores
|
local scores = better_commands.scoreboard.objectives[objective].scores
|
||||||
local names, err = better_commands.get_scoreboard_names(selector, context, objective)
|
local names, err = better_commands.get_scoreboard_names(selector, context, objective)
|
||||||
if err or not names then return false, err, 0 end
|
if err or not names then return false, minetest.colorize("red", err), 0 end
|
||||||
local last
|
local last
|
||||||
for name in pairs(names) do
|
for name in pairs(names) do
|
||||||
last = name
|
last = name
|
||||||
@ -268,7 +268,7 @@ better_commands.register_command("scoreboard", {
|
|||||||
return false, minetest.colorize("red", S("Must be 'blank', 'fixed', or 'styled'")), 0
|
return false, minetest.colorize("red", S("Must be 'blank', 'fixed', or 'styled'")), 0
|
||||||
end
|
end
|
||||||
local names, err = better_commands.get_scoreboard_names(selector, context, objective)
|
local names, err = better_commands.get_scoreboard_names(selector, context, objective)
|
||||||
if err or not names then return false, err, 0 end
|
if err or not names then return false, minetest.colorize("red", err), 0 end
|
||||||
local scores = better_commands.scoreboard.objectives[objective].scores
|
local scores = better_commands.scoreboard.objectives[objective].scores
|
||||||
local count = 0
|
local count = 0
|
||||||
for name in pairs(names) do
|
for name in pairs(names) do
|
||||||
@ -293,7 +293,7 @@ better_commands.register_command("scoreboard", {
|
|||||||
return false, minetest.colorize("red", S("@1 is not a trigger objective", objective)), 0
|
return false, minetest.colorize("red", S("@1 is not a trigger objective", objective)), 0
|
||||||
end
|
end
|
||||||
local names, err = better_commands.get_scoreboard_names(selector, context, objective)
|
local names, err = better_commands.get_scoreboard_names(selector, context, objective)
|
||||||
if err or not names then return false, err, 0 end
|
if err or not names then return false, minetest.colorize("red", err), 0 end
|
||||||
local scores = objective_data.scores
|
local scores = objective_data.scores
|
||||||
local display_name = objective_data.display_name or objective
|
local display_name = objective_data.display_name or objective
|
||||||
local last
|
local last
|
||||||
@ -319,7 +319,7 @@ better_commands.register_command("scoreboard", {
|
|||||||
return false, minetest.colorize("red", S("Unknown scoreboard objective '@1'", objective)), 0
|
return false, minetest.colorize("red", S("Unknown scoreboard objective '@1'", objective)), 0
|
||||||
end
|
end
|
||||||
local names, err = better_commands.get_scoreboard_names(selector, context, objective, true)
|
local names, err = better_commands.get_scoreboard_names(selector, context, objective, true)
|
||||||
if err or not names then return false, err, 0 end
|
if err or not names then return false, minetest.colorize("red", err), 0 end
|
||||||
local name = names[1]
|
local name = names[1]
|
||||||
if name then
|
if name then
|
||||||
local score = better_commands.scoreboard.objectives[objective].scores[name]
|
local score = better_commands.scoreboard.objectives[objective].scores[name]
|
||||||
@ -355,7 +355,7 @@ better_commands.register_command("scoreboard", {
|
|||||||
return true, S("There are @1 tracked player(s): @2", result_count, result_string), result_count
|
return true, S("There are @1 tracked player(s): @2", result_count, result_string), result_count
|
||||||
else
|
else
|
||||||
local names, err = better_commands.get_scoreboard_names(selector, context, nil, true)
|
local names, err = better_commands.get_scoreboard_names(selector, context, nil, true)
|
||||||
if err or not names then return false, err, 0 end
|
if err or not names then return false, minetest.colorize("red", err), 0 end
|
||||||
local name = names[1]
|
local name = names[1]
|
||||||
local results = {}
|
local results = {}
|
||||||
for _, data in pairs(better_commands.scoreboard.objectives) do
|
for _, data in pairs(better_commands.scoreboard.objectives) do
|
||||||
@ -397,11 +397,11 @@ better_commands.register_command("scoreboard", {
|
|||||||
return false, minetest.colorize("red", S("Invalid target objective")), 0
|
return false, minetest.colorize("red", S("Invalid target objective")), 0
|
||||||
end
|
end
|
||||||
local sources, err = better_commands.get_scoreboard_names(source_selector, context)
|
local sources, err = better_commands.get_scoreboard_names(source_selector, context)
|
||||||
if err or not sources then return false, err, 0 end
|
if err or not sources then return false, minetest.colorize("red", err), 0 end
|
||||||
local targets, err = better_commands.get_scoreboard_names(target_selector, context)
|
local targets, err = better_commands.get_scoreboard_names(target_selector, context)
|
||||||
local source_scores = better_commands.scoreboard.objectives[source_objective].scores
|
local source_scores = better_commands.scoreboard.objectives[source_objective].scores
|
||||||
local target_scores = better_commands.scoreboard.objectives[target_objective].scores
|
local target_scores = better_commands.scoreboard.objectives[target_objective].scores
|
||||||
if err or not targets then return false, err, 0 end
|
if err or not targets then return false, minetest.colorize("red", err), 0 end
|
||||||
local change_count, score_count = 0, 0
|
local change_count, score_count = 0, 0
|
||||||
local last_source, last_target, op_string, preposition
|
local last_source, last_target, op_string, preposition
|
||||||
local swap = false
|
local swap = false
|
||||||
@ -460,7 +460,7 @@ better_commands.register_command("scoreboard", {
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
if change_count < 1 then
|
if change_count < 1 then
|
||||||
return false, minetest.colorize("red", S("No matching entity found")), 0
|
return false, minetest.colorize("red", S("No entity was found")), 0
|
||||||
elseif change_count == 1 then
|
elseif change_count == 1 then
|
||||||
return true, S(
|
return true, S(
|
||||||
"@1 [@2] score of @3 @4 [@5] score of @6", -- a bit unnecessary, perhaps.
|
"@1 [@2] score of @3 @4 [@5] score of @6", -- a bit unnecessary, perhaps.
|
||||||
@ -492,7 +492,7 @@ better_commands.register_command("scoreboard", {
|
|||||||
max = tonumber(max)
|
max = tonumber(max)
|
||||||
if not max then return false, minetest.colorize("red", S("Must be a number")), 0 end
|
if not max then return false, minetest.colorize("red", S("Must be a number")), 0 end
|
||||||
local names, err = better_commands.get_scoreboard_names(selector, context)
|
local names, err = better_commands.get_scoreboard_names(selector, context)
|
||||||
if err or not names then return false, err, 0 end
|
if err or not names then return false, minetest.colorize("red", err), 0 end
|
||||||
local scores = better_commands.scoreboard.objectives[objective].scores
|
local scores = better_commands.scoreboard.objectives[objective].scores
|
||||||
local count = 0
|
local count = 0
|
||||||
local last
|
local last
|
||||||
@ -517,7 +517,7 @@ better_commands.register_command("scoreboard", {
|
|||||||
return false, minetest.colorize("red", S("Invalid objective")), 0
|
return false, minetest.colorize("red", S("Invalid objective")), 0
|
||||||
end
|
end
|
||||||
local names, err = better_commands.get_scoreboard_names(selector, context)
|
local names, err = better_commands.get_scoreboard_names(selector, context)
|
||||||
if err or not names then return false, err, 0 end
|
if err or not names then return false, minetest.colorize("red", err), 0 end
|
||||||
local count = 0
|
local count = 0
|
||||||
local last
|
local last
|
||||||
for name in pairs(names) do
|
for name in pairs(names) do
|
||||||
@ -557,7 +557,7 @@ better_commands.register_command("scoreboard", {
|
|||||||
max = tonumber(max)
|
max = tonumber(max)
|
||||||
if not max then return false, minetest.colorize("red", S("Must be a number")), 0 end
|
if not max then return false, minetest.colorize("red", S("Must be a number")), 0 end
|
||||||
local names, err = better_commands.get_scoreboard_names(selector, context, objective, true)
|
local names, err = better_commands.get_scoreboard_names(selector, context, objective, true)
|
||||||
if err or not names then return false, err, 0 end
|
if err or not names then return false, minetest.colorize("red", err), 0 end
|
||||||
local scoreboard_name = names[1]
|
local scoreboard_name = names[1]
|
||||||
local scores = better_commands.scoreboard.objectives[objective].scores
|
local scores = better_commands.scoreboard.objectives[objective].scores
|
||||||
if not scores[scoreboard_name] then
|
if not scores[scoreboard_name] then
|
||||||
|
@ -16,13 +16,13 @@ better_commands.register_command("setblock", {
|
|||||||
if split_param[5] then
|
if split_param[5] then
|
||||||
keep = split_param[5][3]:lower()
|
keep = split_param[5][3]:lower()
|
||||||
if keep ~= "keep" and keep ~= "replace" then
|
if keep ~= "keep" and keep ~= "replace" then
|
||||||
return false, minetest.colorize("red", S("Last argument ust be either 'replace' (default)), 'keep', or missing, not @1", keep), 0
|
return false, minetest.colorize("red", S("Last argument ust be either 'replace' (default)), 'keep', or missing, not @1", keep), 0)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
local pos, err = better_commands.parse_pos(split_param, 1, context)
|
local pos, err = better_commands.parse_pos(split_param, 1, context)
|
||||||
if err or not pos then return false, err, 0 end
|
if err or not pos then return false, minetest.colorize("red", err), 0 end
|
||||||
local node, meta, err = better_commands.parse_node(split_param[4])
|
local node, meta, err = better_commands.parse_node(split_param[4])
|
||||||
if err or not node then return false, err, 0 end
|
if err or not node then return false, minetest.colorize("red", err), 0 end
|
||||||
|
|
||||||
if keep == "keep" and minetest.get_node(pos).name ~= "air" then
|
if keep == "keep" and minetest.get_node(pos).name ~= "air" then
|
||||||
return false, minetest.colorize("red", S("Position is not empty")), 0
|
return false, minetest.colorize("red", S("Position is not empty")), 0
|
||||||
|
@ -14,8 +14,7 @@ better_commands.register_command("gamerule", {
|
|||||||
local value = split_param[2] and split_param[2][3]
|
local value = split_param[2] and split_param[2][3]
|
||||||
if value then
|
if value then
|
||||||
if setting:sub(1, 7) == "secure." then
|
if setting:sub(1, 7) == "secure." then
|
||||||
return false, S("Failed. Cannot modify secure settings. "
|
return false, S("Failed. Cannot modify secure settings. Edit the settings file manually"), 0
|
||||||
.. "Edit the settings file manually"), 0
|
|
||||||
end
|
end
|
||||||
local new = not minetest.settings:get(setting)
|
local new = not minetest.settings:get(setting)
|
||||||
minetest.settings:set(setting, value)
|
minetest.settings:set(setting, value)
|
||||||
|
@ -9,7 +9,7 @@ better_commands.register_command("spawnpoint", {
|
|||||||
if not context then return false, minetest.colorize("red", S("Missing context")), 0 end
|
if not context then return false, minetest.colorize("red", S("Missing context")), 0 end
|
||||||
if not context.executor then return false, minetest.colorize("red", S("Missing executor")), 0 end
|
if not context.executor then return false, minetest.colorize("red", S("Missing executor")), 0 end
|
||||||
local split_param, err = better_commands.parse_params(param)
|
local split_param, err = better_commands.parse_params(param)
|
||||||
if err then return false, err, 0 end
|
if err then return false, minetest.colorize("red", err), 0 end
|
||||||
local selector = split_param[1]
|
local selector = split_param[1]
|
||||||
if not selector then
|
if not selector then
|
||||||
if context.executor.is_player and context.executor:is_player() then
|
if context.executor.is_player and context.executor:is_player() then
|
||||||
@ -20,7 +20,7 @@ better_commands.register_command("spawnpoint", {
|
|||||||
end
|
end
|
||||||
else
|
else
|
||||||
local targets, err = better_commands.parse_selector(selector, context)
|
local targets, err = better_commands.parse_selector(selector, context)
|
||||||
if err or not targets then return false, err, 0 end
|
if err or not targets then return false, minetest.colorize("red", err), 0 end
|
||||||
local last
|
local last
|
||||||
local count = 0
|
local count = 0
|
||||||
for _, target in ipairs(targets) do
|
for _, target in ipairs(targets) do
|
||||||
@ -31,7 +31,7 @@ better_commands.register_command("spawnpoint", {
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
if count < 1 then
|
if count < 1 then
|
||||||
return false, minetest.colorize("red", S("No matching players found.")), 0
|
return false, minetest.colorize("red", S("No player was found.")), 0
|
||||||
elseif count == 1 then
|
elseif count == 1 then
|
||||||
return true, S("Set spawn point to @1 for @2", minetest.pos_to_string(context.pos), last), 1
|
return true, S("Set spawn point to @1 for @2", minetest.pos_to_string(context.pos), last), 1
|
||||||
else
|
else
|
||||||
@ -50,7 +50,7 @@ better_commands.register_command("clearspawnpoint", {
|
|||||||
if not context then return false, minetest.colorize("red", S("Missing context")), 0 end
|
if not context then return false, minetest.colorize("red", S("Missing context")), 0 end
|
||||||
if not context.executor then return false, minetest.colorize("red", S("Missing executor")), 0 end
|
if not context.executor then return false, minetest.colorize("red", S("Missing executor")), 0 end
|
||||||
local split_param, err = better_commands.parse_params(param)
|
local split_param, err = better_commands.parse_params(param)
|
||||||
if err then return false, err, 0 end
|
if err then return false, minetest.colorize("red", err), 0 end
|
||||||
local selector = split_param[1]
|
local selector = split_param[1]
|
||||||
if not selector then
|
if not selector then
|
||||||
if context.executor.is_player and context.executor:is_player() then
|
if context.executor.is_player and context.executor:is_player() then
|
||||||
@ -61,7 +61,7 @@ better_commands.register_command("clearspawnpoint", {
|
|||||||
end
|
end
|
||||||
else
|
else
|
||||||
local targets, err = better_commands.parse_selector(selector, context)
|
local targets, err = better_commands.parse_selector(selector, context)
|
||||||
if err or not targets then return false, err, 0 end
|
if err or not targets then return false, minetest.colorize("red", err), 0 end
|
||||||
local last
|
local last
|
||||||
local count = 0
|
local count = 0
|
||||||
for _, target in ipairs(targets) do
|
for _, target in ipairs(targets) do
|
||||||
@ -72,7 +72,7 @@ better_commands.register_command("clearspawnpoint", {
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
if count < 1 then
|
if count < 1 then
|
||||||
return false, minetest.colorize("red", S("No matching players found.")), 0
|
return false, minetest.colorize("red", S("No player was found.")), 0
|
||||||
elseif count == 1 then
|
elseif count == 1 then
|
||||||
return true, S("Cleared spawn point for @2", last), 1
|
return true, S("Cleared spawn point for @2", last), 1
|
||||||
else
|
else
|
||||||
|
@ -17,12 +17,12 @@ better_commands.register_command("summon", {
|
|||||||
local summoned
|
local summoned
|
||||||
if split_param[2] then
|
if split_param[2] then
|
||||||
local pos, err = better_commands.parse_pos(split_param, 2, context)
|
local pos, err = better_commands.parse_pos(split_param, 2, context)
|
||||||
if err or not pos then return false, err, 0 end
|
if err or not pos then return false, minetest.colorize("red", err), 0 end
|
||||||
summoned = minetest.add_entity(pos, checked_entity, entity[4])
|
summoned = minetest.add_entity(pos, checked_entity, entity[4])
|
||||||
if not summoned then return false, minetest.colorize("red", S("Could not summon @1", entity[3])), 0 end
|
if not summoned then return false, minetest.colorize("red", S("Could not summon @1", entity[3])), 0 end
|
||||||
if split_param[5] then
|
if split_param[5] then
|
||||||
local victim_rot, err = better_commands.get_tp_rot(context, summoned, split_param, 5)
|
local victim_rot, err = better_commands.get_tp_rot(context, summoned, split_param, 5)
|
||||||
if err or not victim_rot then return false, err, 0 end
|
if err or not victim_rot then return false, minetest.colorize("red", err), 0 end
|
||||||
better_commands.set_entity_rotation(summoned, victim_rot)
|
better_commands.set_entity_rotation(summoned, victim_rot)
|
||||||
end
|
end
|
||||||
else
|
else
|
||||||
|
@ -10,7 +10,7 @@ better_commands.register_command("team", {
|
|||||||
if not context then return false, minetest.colorize("red", S("Missing context")), 0 end
|
if not context then return false, minetest.colorize("red", S("Missing context")), 0 end
|
||||||
if not context.executor then return false, minetest.colorize("red", S("Missing executor")), 0 end
|
if not context.executor then return false, minetest.colorize("red", S("Missing executor")), 0 end
|
||||||
local split_param, err = better_commands.parse_params(param)
|
local split_param, err = better_commands.parse_params(param)
|
||||||
if err then return false, err, 0 end
|
if err then return false, minetest.colorize("red", err), 0 end
|
||||||
if not split_param[1] then return false, minetest.colorize("red", S("Missing subcommand")), 0 end
|
if not split_param[1] then return false, minetest.colorize("red", S("Missing subcommand")), 0 end
|
||||||
local subcommand = split_param[1] and split_param[1][3]
|
local subcommand = split_param[1] and split_param[1][3]
|
||||||
if subcommand == "add" then
|
if subcommand == "add" then
|
||||||
@ -62,7 +62,7 @@ better_commands.register_command("team", {
|
|||||||
local count = 0
|
local count = 0
|
||||||
local last
|
local last
|
||||||
local names, err = better_commands.get_scoreboard_names(selector, context)
|
local names, err = better_commands.get_scoreboard_names(selector, context)
|
||||||
if err or not names then return false, err, 0 end
|
if err or not names then return false, minetest.colorize("red", err), 0 end
|
||||||
for name in pairs(names) do
|
for name in pairs(names) do
|
||||||
if count < 1 then last = better_commands.format_name(name) end
|
if count < 1 then last = better_commands.format_name(name) end
|
||||||
count = count + 1
|
count = count + 1
|
||||||
@ -90,7 +90,7 @@ better_commands.register_command("team", {
|
|||||||
end
|
end
|
||||||
else
|
else
|
||||||
local names, err = better_commands.get_scoreboard_names(selector, context)
|
local names, err = better_commands.get_scoreboard_names(selector, context)
|
||||||
if err or not names then return false, err, 0 end
|
if err or not names then return false, minetest.colorize("red", err), 0 end
|
||||||
for _, name in ipairs(names) do
|
for _, name in ipairs(names) do
|
||||||
if better_commands.teams.players[name] then
|
if better_commands.teams.players[name] then
|
||||||
count = count + 1
|
count = count + 1
|
||||||
|
@ -15,10 +15,10 @@ better_commands.register_command("teleport", {
|
|||||||
if split_param[1].type == "selector" then
|
if split_param[1].type == "selector" then
|
||||||
if not split_param[2] then
|
if not split_param[2] then
|
||||||
if not context.executor.is_player then
|
if not context.executor.is_player then
|
||||||
return false, minetest.colorize("red", S("Command blocks can't teleport (although I did consider making it possible))"), 0
|
return false, minetest.colorize("red", S("Command blocks can't teleport (although I did consider making it possible)")), 0
|
||||||
end
|
end
|
||||||
local targets, err = better_commands.parse_selector(split_param[1], context, true)
|
local targets, err = better_commands.parse_selector(split_param[1], context, true)
|
||||||
if err or not targets then return false, err, 0 end
|
if err or not targets then return false, minetest.colorize("red", err), 0 end
|
||||||
local target_pos = targets[1].is_player and targets[1]:get_pos() or targets[1]
|
local target_pos = targets[1].is_player and targets[1]:get_pos() or targets[1]
|
||||||
context.executor:set_pos(target_pos)
|
context.executor:set_pos(target_pos)
|
||||||
context.executor:add_velocity(-context.executor:get_velocity())
|
context.executor:add_velocity(-context.executor:get_velocity())
|
||||||
@ -27,15 +27,15 @@ better_commands.register_command("teleport", {
|
|||||||
return true, S("Teleported @1 to @2", better_commands.get_entity_name(context.executor), better_commands.get_entity_name(targets[1])), 1
|
return true, S("Teleported @1 to @2", better_commands.get_entity_name(context.executor), better_commands.get_entity_name(targets[1])), 1
|
||||||
elseif split_param[2].type == "selector" then
|
elseif split_param[2].type == "selector" then
|
||||||
if not context.executor.is_player and split_param[1][3] == "@s" then
|
if not context.executor.is_player and split_param[1][3] == "@s" then
|
||||||
return false, minetest.colorize("red", S("Command blocks can't teleport (although I did consider making it possible))"), 0
|
return false, minetest.colorize("red", S("Command blocks can't teleport (although I did consider making it possible)")), 0
|
||||||
end
|
end
|
||||||
local victims, err = better_commands.parse_selector(split_param[1], context)
|
local victims, err = better_commands.parse_selector(split_param[1], context)
|
||||||
if err or not victims then return false, err, 0 end
|
if err or not victims then return false, minetest.colorize("red", err), 0 end
|
||||||
if #victims == 0 then
|
if #victims == 0 then
|
||||||
return false, minetest.colorize("red", S("No matching entities found")), 0
|
return false, minetest.colorize("red", S("No entity was found")), 0
|
||||||
end
|
end
|
||||||
local targets, err = better_commands.parse_selector(split_param[2], context, true)
|
local targets, err = better_commands.parse_selector(split_param[2], context, true)
|
||||||
if err or not targets then return false, err, 0 end
|
if err or not targets then return false, minetest.colorize("red", err), 0 end
|
||||||
local target_pos = targets[1].is_player and targets[1]:get_pos() or targets[1]
|
local target_pos = targets[1].is_player and targets[1]:get_pos() or targets[1]
|
||||||
local count = 0
|
local count = 0
|
||||||
local last
|
local last
|
||||||
@ -68,12 +68,12 @@ better_commands.register_command("teleport", {
|
|||||||
end
|
end
|
||||||
elseif split_param[2].type == "number" or split_param[2].type == "relative" or split_param[2].type == "look_relative" then
|
elseif split_param[2].type == "number" or split_param[2].type == "relative" or split_param[2].type == "look_relative" then
|
||||||
if not context.executor.is_player and split_param[1][3] == "@s" then
|
if not context.executor.is_player and split_param[1][3] == "@s" then
|
||||||
return false, minetest.colorize("red", S("Command blocks can't teleport (although I did consider making it possible))"), 0
|
return false, minetest.colorize("red", S("Command blocks can't teleport (although I did consider making it possible)")), 0
|
||||||
end
|
end
|
||||||
local victims, err = better_commands.parse_selector(split_param[1], context)
|
local victims, err = better_commands.parse_selector(split_param[1], context)
|
||||||
if err or not victims then return false, err, 0 end
|
if err or not victims then return false, minetest.colorize("red", err), 0 end
|
||||||
local target_pos, err = better_commands.parse_pos(split_param, 2, context)
|
local target_pos, err = better_commands.parse_pos(split_param, 2, context)
|
||||||
if err then return false, err, 0 end
|
if err then return false, minetest.colorize("red", err), 0 end
|
||||||
local count = 0
|
local count = 0
|
||||||
local last
|
local last
|
||||||
for _, victim in ipairs(victims) do
|
for _, victim in ipairs(victims) do
|
||||||
@ -88,7 +88,7 @@ better_commands.register_command("teleport", {
|
|||||||
victim:add_velocity(-victim:get_velocity())
|
victim:add_velocity(-victim:get_velocity())
|
||||||
end
|
end
|
||||||
local victim_rot, err = better_commands.get_tp_rot(context, victim, split_param, 5)
|
local victim_rot, err = better_commands.get_tp_rot(context, victim, split_param, 5)
|
||||||
if err then return false, err, 0 end
|
if err then return false, minetest.colorize("red", err), 0 end
|
||||||
if victim_rot then
|
if victim_rot then
|
||||||
better_commands.set_entity_rotation(victim, victim_rot)
|
better_commands.set_entity_rotation(victim, victim_rot)
|
||||||
end
|
end
|
||||||
@ -104,11 +104,11 @@ better_commands.register_command("teleport", {
|
|||||||
end
|
end
|
||||||
elseif split_param[1].type == "number" or split_param[1].type == "relative" or split_param[1].type == "look_relative" then
|
elseif split_param[1].type == "number" or split_param[1].type == "relative" or split_param[1].type == "look_relative" then
|
||||||
if not context.executor.is_player and split_param[1][3] == "@s" then
|
if not context.executor.is_player and split_param[1][3] == "@s" then
|
||||||
return false, minetest.colorize("red", S("Command blocks can't teleport (although I did consider making it possible))"), 0
|
return false, minetest.colorize("red", S("Command blocks can't teleport (although I did consider making it possible)")), 0
|
||||||
end
|
end
|
||||||
local target_pos, err = better_commands.parse_pos(split_param, 1, context)
|
local target_pos, err = better_commands.parse_pos(split_param, 1, context)
|
||||||
if err then
|
if err then
|
||||||
return false, err, 0
|
return false, minetest.colorize("red", err), 0
|
||||||
end
|
end
|
||||||
context.executor:set_pos(target_pos)
|
context.executor:set_pos(target_pos)
|
||||||
if not (split_param[1].type == "look_relative"
|
if not (split_param[1].type == "look_relative"
|
||||||
@ -118,7 +118,7 @@ better_commands.register_command("teleport", {
|
|||||||
context.executor:add_velocity(-context.executor:get_velocity())
|
context.executor:add_velocity(-context.executor:get_velocity())
|
||||||
end
|
end
|
||||||
local victim_rot, err = better_commands.get_tp_rot(context, context.executor, split_param, 4)
|
local victim_rot, err = better_commands.get_tp_rot(context, context.executor, split_param, 4)
|
||||||
if err or not victim_rot then return false, err, 0 end
|
if err or not victim_rot then return false, minetest.colorize("red", err), 0 end
|
||||||
better_commands.set_entity_rotation(context.executor, victim_rot)
|
better_commands.set_entity_rotation(context.executor, victim_rot)
|
||||||
return true, S("Teleported @1 to @2", better_commands.get_entity_name(context.executor), minetest.pos_to_string(target_pos, 1)), 1
|
return true, S("Teleported @1 to @2", better_commands.get_entity_name(context.executor), minetest.pos_to_string(target_pos, 1)), 1
|
||||||
end
|
end
|
||||||
|
@ -24,7 +24,7 @@ better_commands.register_command("time", {
|
|||||||
local time = split_param[2][3]:lower()
|
local time = split_param[2][3]:lower()
|
||||||
if action == "add" then
|
if action == "add" then
|
||||||
local new_time, err = better_commands.parse_time_string(time)
|
local new_time, err = better_commands.parse_time_string(time)
|
||||||
if err then return false, err, 0 end
|
if err then return false, minetest.colorize("red", err), 0 end
|
||||||
minetest.set_timeofday(new_time)
|
minetest.set_timeofday(new_time)
|
||||||
return true, S("Time set"), 1
|
return true, S("Time set"), 1
|
||||||
elseif action == "query" then
|
elseif action == "query" then
|
||||||
@ -42,7 +42,7 @@ better_commands.register_command("time", {
|
|||||||
return false, minetest.colorize("red", S("Must be 'daytime', 'gametime', or 'day', got @1", time)), 0
|
return false, minetest.colorize("red", S("Must be 'daytime', 'gametime', or 'day', got @1", time)), 0
|
||||||
elseif action == "set" then
|
elseif action == "set" then
|
||||||
local new_time, err = better_commands.parse_time_string(time, true)
|
local new_time, err = better_commands.parse_time_string(time, true)
|
||||||
if err then return false, err, 0 end
|
if err then return false, minetest.colorize("red", err), 0 end
|
||||||
minetest.set_timeofday(new_time)
|
minetest.set_timeofday(new_time)
|
||||||
return true, S("Time set"), 1
|
return true, S("Time set"), 1
|
||||||
end
|
end
|
||||||
|
Loading…
x
Reference in New Issue
Block a user