diff options
-rw-r--r-- | builtin/client/cheats.lua | 11 | ||||
-rw-r--r-- | builtin/settingtypes.txt | 36 | ||||
-rw-r--r-- | clientmods/enderchest/init.lua | 13 | ||||
-rw-r--r-- | clientmods/respawn/init.lua | 2 | ||||
-rw-r--r-- | clientmods/worldhacks/init.lua | 21 | ||||
-rw-r--r-- | src/client/client.cpp | 10 | ||||
-rw-r--r-- | src/client/game.cpp | 42 | ||||
-rw-r--r-- | src/client/game.h | 2 | ||||
-rw-r--r-- | src/client/inputhandler.cpp | 2 | ||||
-rw-r--r-- | src/client/keys.h | 2 | ||||
-rw-r--r-- | src/defaultsettings.cpp | 14 | ||||
-rw-r--r-- | src/environment.cpp | 2 | ||||
-rw-r--r-- | src/gui/guiKeyChangeMenu.cpp | 4 | ||||
-rw-r--r-- | src/script/cpp_api/s_cheats.cpp | 10 |
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) : |