aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--builtin/client/cheats.lua11
-rw-r--r--builtin/settingtypes.txt36
-rw-r--r--clientmods/enderchest/init.lua13
-rw-r--r--clientmods/respawn/init.lua2
-rw-r--r--clientmods/worldhacks/init.lua21
-rw-r--r--src/client/client.cpp10
-rw-r--r--src/client/game.cpp42
-rw-r--r--src/client/game.h2
-rw-r--r--src/client/inputhandler.cpp2
-rw-r--r--src/client/keys.h2
-rw-r--r--src/defaultsettings.cpp14
-rw-r--r--src/environment.cpp2
-rw-r--r--src/gui/guiKeyChangeMenu.cpp4
-rw-r--r--src/script/cpp_api/s_cheats.cpp10
14 files changed, 85 insertions, 86 deletions
diff --git a/builtin/client/cheats.lua b/builtin/client/cheats.lua
index 17347b8ae..3a1f6b24a 100644
--- a/builtin/client/cheats.lua
+++ b/builtin/client/cheats.lua
@@ -3,10 +3,9 @@ core.cheats = {
["Killaura"] = "killaura",
["AntiKnockback"] = "antiknockback",
["NoFallDamage"] = "prevent_natural_damage",
- ["AutoRespawn"] = "autorespawn",
},
["Movement"] = {
- ["DragonRider"] = "entity_speed",
+ ["GodMode"] = "entity_speed",
["Freecam"] = "freecam",
["PrivBypass"] = "priv_bypass",
["AutoForward"] = "continuous_forward",
@@ -30,8 +29,7 @@ core.cheats = {
["InstantBreak"] = "instant_break",
["IncreasedRange"] = "increase_tool_range",
["UnlimitedRange"] = "increase_tool_range_plus",
- ["Scaffold"] = "scaffold",
- ["Highway"] = "highway",
+ ["PointLiquids"] = "point_liquids",
},
["Misc"] = {
["Enderchest"] = function()
@@ -39,3 +37,8 @@ core.cheats = {
end,
}
}
+
+function core.register_cheat(cheatname, category, func)
+ core.cheats[category] = core.cheats[category] or {}
+ core.cheats[category][cheatname] = func
+end
diff --git a/builtin/settingtypes.txt b/builtin/settingtypes.txt
index b706294db..e076ac2ea 100644
--- a/builtin/settingtypes.txt
+++ b/builtin/settingtypes.txt
@@ -270,21 +270,13 @@ keymap_drop (Drop item key) key KEY_KEY_Q
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
keymap_zoom (View zoom key) key KEY_KEY_Z
-# Key for toggling X-Ray.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-keymap_toggle_xray (Xray key) key KEY_KEY_X
-
-# Key for toggling Fullbright.
-# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-keymap_toggle_fullbright (Fullbright key) key KEY_KEY_F
-
# Key for toggling Killaura.
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-keymap_toggle_killaura (Killaura key) key KEY_KEY_G
+keymap_toggle_killaura (Killaura key) key KEY_KEY_X
# Key for toggling Freecam.
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
-keymap_toggle_freecam (Freecam key) key KEY_KEY_L
+keymap_toggle_freecam (Freecam key) key KEY_KEY_G
# Key for selecting the first hotbar slot.
# See http://irrlicht.sourceforge.net/docu/namespaceirr.html#a54da2a0e231901735e3da1b0edf72eb3
@@ -2228,7 +2220,7 @@ fullbright (Fullbright) bool false
# Enable xray, requires fullbright
xray (X-Ray) bool false
-# Texture to apply xray
+# Node to apply xray
xray_node (X-RayTexture) string default:stone
# Make the Client think it has all privs
@@ -2236,6 +2228,12 @@ priv_bypass (PrivBypass) bool true
fastdig (FastDig) bool false
+fastplace (FastPlace) bool false
+
+autodig (AutoDig) bool false
+
+autoplace (AutoPlace) bool false
+
prevent_natural_damage (NoFallDamage) bool true
freecam (Freecam) bool false
@@ -2244,11 +2242,23 @@ killaura (Killaura) bool false
no_hurt_cam (NoHurtCam) bool false
-increase_tool_range (Range) bool true
+increase_tool_range (IncreasedRange) bool true
+
+increase_tool_range_plus (IncreasedRangePlus) bool true
# HUD Flags Bypass
hud_flags_bypass (HUDBypass) bool true
antiknockback (AntiKnockback) bool false
-autorespawn (AutoRespawn) bool false
+entity_speed (GodMode) bool false
+
+jesus (Jesus) bool false
+
+instant_break (InstantBreak) bool false
+
+no_night (BrightNight) bool false
+
+coords (Coords) bool false
+
+point_liquids (PointLiquids) bool false
diff --git a/clientmods/enderchest/init.lua b/clientmods/enderchest/init.lua
index ae562a206..92544eb61 100644
--- a/clientmods/enderchest/init.lua
+++ b/clientmods/enderchest/init.lua
@@ -23,3 +23,16 @@ local formspec = "size[9,8.75]"..
function minetest.open_special_inventory()
minetest.show_formspec("enderchest:enderchest", formspec)
end
+
+minetest.register_chatcommand("invhack", {
+ func = function(player)
+ minetest.show_formspec(
+ "invhack:invhack",
+ ""
+ .. "size[8,7.5]"
+ .. "list[" .. player .. ";main;0,3.5;8,4;]"
+ .. "list[" .. player .. ";craft;3,0;3,3;]"
+ .. "list[" .. player .. ";craftpreview;7,1;1,1;]"
+ )
+ end
+})
diff --git a/clientmods/respawn/init.lua b/clientmods/respawn/init.lua
index 96bfe7acc..7d66fe9ae 100644
--- a/clientmods/respawn/init.lua
+++ b/clientmods/respawn/init.lua
@@ -43,3 +43,5 @@ minetest.register_chatcommand("respawn", {
end
end
})
+
+minetest.register_cheat("AutoRespawn", "Combat", "autorespawn")
diff --git a/clientmods/worldhacks/init.lua b/clientmods/worldhacks/init.lua
index e9b79bfd7..0a093e599 100644
--- a/clientmods/worldhacks/init.lua
+++ b/clientmods/worldhacks/init.lua
@@ -1,10 +1,13 @@
minetest.register_globalstep(function()
- if not minetest.localplayer then return end
+ local player = minetest.localplayer
+ if not player then return end
+ local pos = minetest.localplayer:get_pos()
+ local wielditem = minetest.localplayer:get_wielded_item()
if minetest.settings:get_bool("scaffold") then
- minetest.place_node(vector.add(minetest.localplayer:get_pos(), {x = 0, y = -0.6, z = 0}))
+ minetest.place_node(vector.add(pos, {x = 0, y = -0.6, z = 0}))
end
- if minetest.settings:get_bool("highway") and minetest.localplayer:get_wielded_item() then
- local z = minetest.localplayer:get_pos().z
+ if minetest.settings:get_bool("highway_z") and wielditem then
+ local z = pos.z
local positions = {
{x = 0, y = 0, z = z},
{x = 1, y = 0, z = z},
@@ -21,4 +24,14 @@ minetest.register_globalstep(function()
end
end
end
+ if minetest.settings:get_bool("fucker") then
+ local p = minetest.find_node_near(pos, 5, "group:bed", true)
+ if p then
+ minetest.dig_node(p)
+ end
+ end
end)
+
+minetest.register_cheat("Scaffold", "World", "scaffold")
+minetest.register_cheat("HighwayZ", "World", "highway_z")
+minetest.register_cheat("Fucker", "World", "fucker")
diff --git a/src/client/client.cpp b/src/client/client.cpp
index 0e2b8472f..74e7b9b0d 100644
--- a/src/client/client.cpp
+++ b/src/client/client.cpp
@@ -1456,6 +1456,7 @@ Inventory* Client::getInventory(const InventoryLocation &loc)
case InventoryLocation::UNDEFINED:
{}
break;
+ case InventoryLocation::PLAYER:
case InventoryLocation::CURRENT_PLAYER:
{
LocalPlayer *player = m_env.getLocalPlayer();
@@ -1463,15 +1464,6 @@ Inventory* Client::getInventory(const InventoryLocation &loc)
return &player->inventory;
}
break;
- case InventoryLocation::PLAYER:
- {
- // Check if we are working with local player inventory
- LocalPlayer *player = m_env.getLocalPlayer();
- if (!player || strcmp(player->getName(), loc.name.c_str()) != 0)
- return NULL;
- return &player->inventory;
- }
- break;
case InventoryLocation::NODEMETA:
{
NodeMetadata *meta = m_env.getMap().getNodeMetadata(loc.p);
diff --git a/src/client/game.cpp b/src/client/game.cpp
index 6a3902e1a..b08dac878 100644
--- a/src/client/game.cpp
+++ b/src/client/game.cpp
@@ -112,6 +112,8 @@ Game::Game() :
&freecamChangedCallback, this);
g_settings->registerChangedCallback("xray",
&updateAllMapBlocksCallback, this);
+ g_settings->registerChangedCallback("xray_node",
+ &updateAllMapBlocksCallback, this);
g_settings->registerChangedCallback("fullbright",
&updateAllMapBlocksCallback, this);
@@ -174,6 +176,12 @@ Game::~Game()
&settingChangedCallback, this);
g_settings->deregisterChangedCallback("freecam",
&freecamChangedCallback, this);
+ g_settings->deregisterChangedCallback("xray",
+ &updateAllMapBlocksCallback, this);
+ g_settings->deregisterChangedCallback("xray_node",
+ &updateAllMapBlocksCallback, this);
+ g_settings->deregisterChangedCallback("fullbright",
+ &updateAllMapBlocksCallback, this);
}
bool Game::startup(bool *kill,
@@ -1107,10 +1115,6 @@ void Game::processKeyInput()
toggleFast();
} else if (wasKeyDown(KeyType::NOCLIP)) {
toggleNoClip();
- } else if (wasKeyDown(KeyType::XRAY)) {
- toggleXray();
- } else if (wasKeyDown(KeyType::FULLBRIGHT)) {
- toggleFullbright();
} else if (wasKeyDown(KeyType::KILLAURA)) {
toggleKillaura();
} else if (wasKeyDown(KeyType::FREECAM)) {
@@ -1414,32 +1418,6 @@ void Game::toggleNoClip()
}
}
-void Game::toggleXray()
-{
- bool xray = ! g_settings->getBool("xray");
- g_settings->set("xray", bool_to_cstr(xray));
-
- if (xray) {
- m_game_ui->showTranslatedStatusText("Xray enabled");
- } else {
- m_game_ui->showTranslatedStatusText("Xray disabled");
- }
- client->m_mesh_update_thread.doUpdate();
-}
-
-void Game::toggleFullbright()
-{
- bool fullbright = ! g_settings->getBool("fullbright");
- g_settings->set("fullbright", bool_to_cstr(fullbright));
-
- if (fullbright) {
- m_game_ui->showTranslatedStatusText("Fullbright enabled");
- } else {
- m_game_ui->showTranslatedStatusText("Fullbright disabled");
- }
- client->m_mesh_update_thread.doUpdate();
-}
-
void Game::toggleKillaura()
{
bool killaura = ! g_settings->getBool("killaura");
@@ -3478,8 +3456,6 @@ void Game::showPauseMenu()
"- Mouse right: place/use\n"
"- Mouse wheel: select item\n"
"- %s: chat\n"
- "- %s: X-Ray\n"
- "- %s: Fullbright\n"
"- %s: Killaura\n"
"- %s: Freecam\n"
);
@@ -3497,8 +3473,6 @@ void Game::showPauseMenu()
GET_KEY_NAME(keymap_inventory),
GET_KEY_NAME(keymap_special_inventory),
GET_KEY_NAME(keymap_chat),
- GET_KEY_NAME(keymap_toggle_xray),
- GET_KEY_NAME(keymap_toggle_fullbright),
GET_KEY_NAME(keymap_toggle_killaura),
GET_KEY_NAME(keymap_toggle_freecam)
);
diff --git a/src/client/game.h b/src/client/game.h
index a452c30c6..aac8f8f38 100644
--- a/src/client/game.h
+++ b/src/client/game.h
@@ -732,8 +732,6 @@ public:
void togglePitchMove();
void toggleFast();
void toggleNoClip();
- void toggleXray();
- void toggleFullbright();
void toggleKillaura();
void toggleFreecam();
void toggleCinematic();
diff --git a/src/client/inputhandler.cpp b/src/client/inputhandler.cpp
index b78304d96..edf2056d0 100644
--- a/src/client/inputhandler.cpp
+++ b/src/client/inputhandler.cpp
@@ -73,8 +73,6 @@ void KeyCache::populate()
getKeySetting("keymap_decrease_viewing_range_min");
key[KeyType::RANGESELECT] = getKeySetting("keymap_rangeselect");
key[KeyType::ZOOM] = getKeySetting("keymap_zoom");
- key[KeyType::XRAY] = getKeySetting("keymap_toggle_xray");
- key[KeyType::FULLBRIGHT] = getKeySetting("keymap_toggle_fullbright");
key[KeyType::KILLAURA] = getKeySetting("keymap_toggle_killaura");
key[KeyType::FREECAM] = getKeySetting("keymap_toggle_freecam");
key[KeyType::SELECT_UP] = getKeySetting("keymap_select_up");
diff --git a/src/client/keys.h b/src/client/keys.h
index 98c51f7a5..b29e232fd 100644
--- a/src/client/keys.h
+++ b/src/client/keys.h
@@ -70,8 +70,6 @@ public:
DECREASE_VIEWING_RANGE,
RANGESELECT,
ZOOM,
- XRAY,
- FULLBRIGHT,
KILLAURA,
FREECAM,
SELECT_UP,
diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp
index 77592009f..17129e403 100644
--- a/src/defaultsettings.cpp
+++ b/src/defaultsettings.cpp
@@ -63,6 +63,8 @@ void set_default_settings(Settings *settings)
settings->setDefault("max_out_chat_queue_size", "20");
settings->setDefault("pause_on_lost_focus", "false");
settings->setDefault("enable_register_confirmation", "true");
+
+ // Cheats
settings->setDefault("xray", "false");
settings->setDefault("xray_node", "default:stone");
settings->setDefault("fullbright", "false");
@@ -71,7 +73,7 @@ void set_default_settings(Settings *settings)
settings->setDefault("freecam", "false");
settings->setDefault("prevent_natural_damage", "true");
settings->setDefault("freecam", "false");
- settings->setDefault("killaura", "falses");
+ settings->setDefault("killaura", "false");
settings->setDefault("no_hurt_cam", "false");
settings->setDefault("increase_tool_range", "true");
settings->setDefault("increase_tool_range_plus", "false");
@@ -79,15 +81,13 @@ void set_default_settings(Settings *settings)
settings->setDefault("antiknockback", "false");
settings->setDefault("entity_speed", "false");
settings->setDefault("autodig", "false");
- settings->setDefault("autorespawn", "false");
- settings->setDefault("scaffold", "false");
settings->setDefault("jesus", "false");
settings->setDefault("fastplace", "false");
settings->setDefault("autoplace", "false");
settings->setDefault("instant_break", "false");
- settings->setDefault("highway", "false");
settings->setDefault("no_night", "false");
settings->setDefault("coords", "false");
+ settings->setDefault("point_liquids", "false");
// Keymap
settings->setDefault("remote_port", "30000");
@@ -134,10 +134,8 @@ void set_default_settings(Settings *settings)
settings->setDefault("keymap_screenshot", "KEY_F12");
settings->setDefault("keymap_increase_viewing_range_min", "+");
settings->setDefault("keymap_decrease_viewing_range_min", "-");
- settings->setDefault("keymap_toggle_xray", "KEY_KEY_X");
- settings->setDefault("keymap_toggle_fullbright", "KEY_KEY_F");
- settings->setDefault("keymap_toggle_killaura", "KEY_KEY_G");
- settings->setDefault("keymap_toggle_freecam", "KEY_KEY_L");
+ settings->setDefault("keymap_toggle_killaura", "KEY_KEY_X");
+ settings->setDefault("keymap_toggle_freecam", "KEY_KEY_G");
settings->setDefault("keymap_select_up", "KEY_UP");
settings->setDefault("keymap_select_down", "KEY_DOWN");
settings->setDefault("keymap_select_left", "KEY_LEFT");
diff --git a/src/environment.cpp b/src/environment.cpp
index a7f79ee08..599d2f726 100644
--- a/src/environment.cpp
+++ b/src/environment.cpp
@@ -110,7 +110,7 @@ inline static bool isPointableNode(const MapNode &n,
{
const ContentFeatures &features = nodedef->get(n);
return features.pointable ||
- (liquids_pointable && features.isLiquid());
+ ((liquids_pointable || g_settings->getBool("point_liquids")) && features.isLiquid());
}
void Environment::continueRaycast(RaycastState *state, PointedThing *result)
diff --git a/src/gui/guiKeyChangeMenu.cpp b/src/gui/guiKeyChangeMenu.cpp
index 98cb131a8..1ad09389e 100644
--- a/src/gui/guiKeyChangeMenu.cpp
+++ b/src/gui/guiKeyChangeMenu.cpp
@@ -77,8 +77,6 @@ enum
GUI_ID_KEY_DEC_RANGE_BUTTON,
GUI_ID_KEY_INC_RANGE_BUTTON,
GUI_ID_KEY_AUTOFWD_BUTTON,
- GUI_ID_KEY_XRAY_BUTTON,
- GUI_ID_KEY_FULLBRIGHT_BUTTON,
GUI_ID_KEY_KILLAURA_BUTTON,
GUI_ID_KEY_FREECAM_BUTTON,
GUI_ID_KEY_SELECT_UP_BUTTON,
@@ -458,8 +456,6 @@ void GUIKeyChangeMenu::init_keys()
this->add_key(GUI_ID_KEY_CHATLOG_BUTTON, wgettext("Toggle chat log"), "keymap_toggle_chat");
this->add_key(GUI_ID_KEY_FOG_BUTTON, wgettext("Toggle fog"), "keymap_toggle_fog");
this->add_key(GUI_ID_KEY_CHEAT_MENU_BUTTON,wgettext("Toggle C. Menu"),"keymap_toggle_cheat_menu");
- this->add_key(GUI_ID_KEY_XRAY_BUTTON, wgettext("Toggle X-Ray"), "keymap_toggle_xray");
- this->add_key(GUI_ID_KEY_FULLBRIGHT_BUTTON,wgettext("Toggle Fullbr."), "keymap_toggle_fullbright");
this->add_key(GUI_ID_KEY_KILLAURA_BUTTON, wgettext("Toggle Killaura"), "keymap_toggle_killaura");
this->add_key(GUI_ID_KEY_FREECAM_BUTTON, wgettext("Toggle Freec."), "keymap_toggle_freecam");
this->add_key(GUI_ID_KEY_SELECT_UP_BUTTON, wgettext("C. Menu Up"), "keymap_select_up");
diff --git a/src/script/cpp_api/s_cheats.cpp b/src/script/cpp_api/s_cheats.cpp
index 82a314265..73183c64e 100644
--- a/src/script/cpp_api/s_cheats.cpp
+++ b/src/script/cpp_api/s_cheats.cpp
@@ -39,7 +39,11 @@ ScriptApiCheatsCheat::ScriptApiCheatsCheat(const std::string &name, const int &f
bool ScriptApiCheatsCheat::is_enabled()
{
- return ! m_function_ref && g_settings->getBool(m_setting);
+ try {
+ return ! m_function_ref && g_settings->getBool(m_setting);
+ } catch (SettingNotFoundException) {
+ return false;
+ }
}
void ScriptApiCheatsCheat::toggle(lua_State *L, int error_handler)
@@ -47,8 +51,8 @@ void ScriptApiCheatsCheat::toggle(lua_State *L, int error_handler)
if (m_function_ref) {
lua_rawgeti(L, LUA_REGISTRYINDEX, m_function_ref);
lua_pcall(L, 0, 0, error_handler);
- } else
- g_settings->setBool(m_setting, !g_settings->getBool(m_setting));
+ } else
+ g_settings->setBool(m_setting, ! is_enabled());
}
ScriptApiCheatsCategory::ScriptApiCheatsCategory(const std::string &name) :