aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPerttu Ahola <celeron55@gmail.com>2012-04-01 13:08:52 +0300
committerPerttu Ahola <celeron55@gmail.com>2012-04-01 13:08:52 +0300
commit8ecfd88d92b0c8bf695f862b76077488127ab33f (patch)
tree13b1e4ebc8fd1f030f936a4cd8a023978e4b7e4e /src
parentb54178bbbdf7e66ef5107fe3d0fe434b60cd9a68 (diff)
downloadminetest-8ecfd88d92b0c8bf695f862b76077488127ab33f.tar.gz
minetest-8ecfd88d92b0c8bf695f862b76077488127ab33f.tar.bz2
minetest-8ecfd88d92b0c8bf695f862b76077488127ab33f.zip
Remplement and improve /setting in Lua, now called /set
Diffstat (limited to 'src')
-rw-r--r--src/scriptapi.cpp10
-rw-r--r--src/servercommand.cpp26
2 files changed, 10 insertions, 26 deletions
diff --git a/src/scriptapi.cpp b/src/scriptapi.cpp
index ac5142209..f8fca00c7 100644
--- a/src/scriptapi.cpp
+++ b/src/scriptapi.cpp
@@ -3800,6 +3800,15 @@ static int l_register_craft(lua_State *L)
return 0; /* number of results */
}
+// setting_set(name, value)
+static int l_setting_set(lua_State *L)
+{
+ const char *name = luaL_checkstring(L, 1);
+ const char *value = luaL_checkstring(L, 2);
+ g_settings->set(name, value);
+ return 0;
+}
+
// setting_get(name)
static int l_setting_get(lua_State *L)
{
@@ -4006,6 +4015,7 @@ static const struct luaL_Reg minetest_f [] = {
{"register_item_raw", l_register_item_raw},
{"register_alias_raw", l_register_alias_raw},
{"register_craft", l_register_craft},
+ {"setting_set", l_setting_set},
{"setting_get", l_setting_get},
{"setting_getbool", l_setting_getbool},
{"chat_send_all", l_chat_send_all},
diff --git a/src/servercommand.cpp b/src/servercommand.cpp
index f6088925e..2c74c81ea 100644
--- a/src/servercommand.cpp
+++ b/src/servercommand.cpp
@@ -79,30 +79,6 @@ void cmd_shutdown(std::wostringstream &os,
ctx->flags |= SEND_TO_OTHERS;
}
-void cmd_setting(std::wostringstream &os,
- ServerCommandContext *ctx)
-{
- if(!ctx->server->checkPriv(ctx->player->getName(), "server"))
- {
- os<<L"-!- You don't have permission to do that";
- return;
- }
-
- /*std::string confline = wide_to_narrow(
- ctx->parms[1] + L" = " + ctx->params[2]);*/
-
- std::string confline = wide_to_narrow(ctx->paramstring);
-
- actionstream<<ctx->player->getName()
- <<" sets: "<<confline<<std::endl;
-
- g_settings->parseConfigLine(confline);
-
- ctx->server->saveConfig();
-
- os<< L"-!- Setting changed and configuration saved.";
-}
-
void cmd_banunban(std::wostringstream &os, ServerCommandContext *ctx)
{
if(!ctx->server->checkPriv(ctx->player->getName(), "ban"))
@@ -194,8 +170,6 @@ std::wstring processServerCommand(ServerCommandContext *ctx)
cmd_time(os, ctx);
else if(ctx->parms[0] == L"shutdown")
cmd_shutdown(os, ctx);
- else if(ctx->parms[0] == L"setting")
- cmd_setting(os, ctx);
else if(ctx->parms[0] == L"ban" || ctx->parms[0] == L"unban")
cmd_banunban(os, ctx);
else if(ctx->parms[0] == L"me")