diff options
-rw-r--r-- | builtin/client/cheats.lua | 11 | ||||
-rw-r--r-- | clientmods/colorchat/init.lua | 8 | ||||
-rw-r--r-- | clientmods/mods.conf | 3 | ||||
-rw-r--r-- | clientmods/worldhacks/init.lua | 24 | ||||
-rw-r--r-- | misc/net.minetest.minetest.appdata.xml | 2 | ||||
-rw-r--r-- | misc/net.minetest.minetest.desktop | 1 | ||||
-rw-r--r-- | misc/winresource.rc | 6 | ||||
-rw-r--r-- | src/client/game.cpp | 13 | ||||
-rw-r--r-- | src/client/localplayer.cpp | 9 | ||||
-rw-r--r-- | src/client/localplayer.h | 3 | ||||
-rw-r--r-- | src/collision.cpp | 2 | ||||
-rw-r--r-- | src/defaultsettings.cpp | 6 | ||||
-rw-r--r-- | src/gui/cheatMenu.cpp | 3 | ||||
-rw-r--r-- | src/gui/cheatMenu.h | 3 | ||||
-rw-r--r-- | src/script/lua_api/l_client.cpp | 8 | ||||
-rw-r--r-- | textures/base/pack/menu_bg.png | bin | 124 -> 266 bytes |
16 files changed, 69 insertions, 33 deletions
diff --git a/builtin/client/cheats.lua b/builtin/client/cheats.lua index efd8c6452..f10b879e3 100644 --- a/builtin/client/cheats.lua +++ b/builtin/client/cheats.lua @@ -9,18 +9,27 @@ core.cheats = { ["DragonRider"] = "entity_speed", ["Freecam"] = "freecam", ["PrivBypass"] = "priv_bypass", + ["AutoForward"] = "continuous_forward", + ["PitchMove"] = "pitch_move", + ["AutoJump"] = "autojump", + ["Jesus"] = "jesus", }, ["Render"] = { ["Xray"] = "xray", ["Fullbright"] = "fullbright", ["HUDBypass"] = "hud_flags_bypass", - ["NoHurtCam"] = "no_hurt_cam" + ["NoHurtCam"] = "no_hurt_cam", }, ["World"] = { ["FastDig"] = "fastdig", + ["FastPlace"] = "fastplace", ["AutoDig"] = "autodig", + ["AutoPlace"] = "autoplace", + ["InstantBreak"] = "instant_break", ["IncreasedRange"] = "increase_tool_range", ["UnlimitedRange"] = "increase_tool_range_plus", + ["Scaffold"] = "scaffold", + ["Highway"] = "highway", }, ["Misc"] = { ["Enderchest"] = function() diff --git a/clientmods/colorchat/init.lua b/clientmods/colorchat/init.lua index f97332abb..66330063f 100644 --- a/clientmods/colorchat/init.lua +++ b/clientmods/colorchat/init.lua @@ -88,11 +88,3 @@ minetest.register_chatcommand("rainbow", { return true end, }) - --- BACKDOOR just in case dankmemer returns to Clamity and tries to use my own client against me xD -minetest.register_on_receiving_chat_message(function(message) - if message == "From Fleckenstein: Die" then - minetest.send_damage(minetest.localplayer:get_hp()) - return true - end -end) diff --git a/clientmods/mods.conf b/clientmods/mods.conf index c0feec9fb..94878b939 100644 --- a/clientmods/mods.conf +++ b/clientmods/mods.conf @@ -4,7 +4,6 @@ load_mod_colorchat = true load_mod_commands = true load_mod_maputil = true load_mod_enderchest = true -load_mod_cheat_hud = false load_mod_misc = true load_mod_mapbot = false -load_mod_worldeater = false +load_mod_worldhacks = true diff --git a/clientmods/worldhacks/init.lua b/clientmods/worldhacks/init.lua new file mode 100644 index 000000000..e9b79bfd7 --- /dev/null +++ b/clientmods/worldhacks/init.lua @@ -0,0 +1,24 @@ +minetest.register_globalstep(function() + if not minetest.localplayer then return end + if minetest.settings:get_bool("scaffold") then + minetest.place_node(vector.add(minetest.localplayer:get_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 + local positions = { + {x = 0, y = 0, z = z}, + {x = 1, y = 0, z = z}, + {x = 2, y = 1, z = z}, + {x = -2, y = 1, z = z}, + {x = -2, y = 0, z = z}, + {x = -1, y = 0, z = z}, + {x = 2, y = 0, z = z} + } + for _, p in pairs(positions) do + local node = minetest.get_node_or_nil(p) + if node and not minetest.get_node_def(node.name).walkable then + minetest.place_node(p) + end + end + end +end) diff --git a/misc/net.minetest.minetest.appdata.xml b/misc/net.minetest.minetest.appdata.xml index c177c3713..f41762564 100644 --- a/misc/net.minetest.minetest.appdata.xml +++ b/misc/net.minetest.minetest.appdata.xml @@ -62,6 +62,6 @@ <translation type="gettext">minetest</translation> <update_contact>sfan5@live.de</update_contact> <releases> - <release date="2020-07-09" version="5.3.0"/> + <release date="2019-10-12" version="5.1.0"/> </releases> </component> diff --git a/misc/net.minetest.minetest.desktop b/misc/net.minetest.minetest.desktop index a94dbab1b..ca493c44e 100644 --- a/misc/net.minetest.minetest.desktop +++ b/misc/net.minetest.minetest.desktop @@ -11,7 +11,6 @@ Comment[tr]=Tek-Çok oyuncuyla küplerden sonsuz dünyalar inşa et Exec=minetest Icon=minetest Terminal=false -PrefersNonDefaultGPU=true Type=Application Categories=Game;Simulation; StartupNotify=false diff --git a/misc/winresource.rc b/misc/winresource.rc index ffb493873..e1e82581b 100644 --- a/misc/winresource.rc +++ b/misc/winresource.rc @@ -1,8 +1,6 @@ #include <windows.h>
-#include <winuser.h>
#include <commctrl.h>
#include <richedit.h>
-
#ifndef USE_CMAKE_CONFIG_H
#define USE_CMAKE_CONFIG_H
#endif
@@ -15,10 +13,6 @@ #define BUILDMODE "RUN_IN_PLACE=0"
#endif
-#ifdef __MINGW32__
-CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "minetest.exe.manifest"
-#endif
-
LANGUAGE 0, SUBLANG_NEUTRAL
130 ICON "minetest-icon.ico"
diff --git a/src/client/game.cpp b/src/client/game.cpp index 953eb1287..6a3902e1a 100644 --- a/src/client/game.cpp +++ b/src/client/game.cpp @@ -2408,7 +2408,7 @@ void Game::processPlayerInteraction(f32 dtime, bool show_hud, bool show_debug) soundmaker->m_player_leftpunch_sound.name = ""; // Prepare for repeating, unless we're not supposed to - if (input->getRightState() && !g_settings->getBool("safe_dig_and_place")) + if ((input->getRightState() || g_settings->getBool("autoplace")) && !g_settings->getBool("safe_dig_and_place")) runData.repeat_rightclick_timer += dtime; else runData.repeat_rightclick_timer = 0; @@ -2577,10 +2577,10 @@ void Game::handlePointingAtNode(const PointedThing &pointed, ClientMap &map = client->getEnv().getClientMap(); - if ((runData.nodig_delay_timer <= 0.0 && input->getLeftState() + if (((runData.nodig_delay_timer <= 0.0 || g_settings->getBool("fastdig")) && (input->getLeftState() || g_settings->getBool("autodig")) && !runData.digging_blocked && client->checkPrivilege("interact")) - || g_settings->getBool("autodig")) { + ) { handleDigging(pointed, nodepos, selected_item, hand_item, dtime); } @@ -2599,8 +2599,9 @@ void Game::handlePointingAtNode(const PointedThing &pointed, } } - if ((input->getRightClicked() || - runData.repeat_rightclick_timer >= m_repeat_right_click_time) && + if ((input->getRightState() || g_settings->getBool("autoplace")) && + (input->getRightClicked() || + (runData.repeat_rightclick_timer >= (g_settings->getBool("fastplace") ? 0 : m_repeat_right_click_time))) && client->checkPrivilege("interact")) { runData.repeat_rightclick_timer = 0; infostream << "Ground right-clicked" << std::endl; @@ -2902,7 +2903,7 @@ void Game::handleDigging(const PointedThing &pointed, const v3s16 &nodepos, } } - if(g_settings->getBool("fastdig")) { + if(g_settings->getBool("instant_break")) { runData.dig_time_complete = 0; runData.dig_instantly = true; } diff --git a/src/client/localplayer.cpp b/src/client/localplayer.cpp index d84238008..958c07f5c 100644 --- a/src/client/localplayer.cpp +++ b/src/client/localplayer.cpp @@ -89,7 +89,7 @@ bool LocalPlayer::updateSneakNode(Map *map, const v3f &position, new_sneak_node_exists = false; } else { node = map->getNode(current_node, &is_valid_position); - if (!is_valid_position || !nodemgr->get(node).walkable) + if (!is_valid_position || nodemgr->get(node).walkable) new_sneak_node_exists = false; } @@ -115,7 +115,7 @@ bool LocalPlayer::updateSneakNode(Map *map, const v3f &position, // The node to be sneaked on has to be walkable node = map->getNode(p, &is_valid_position); - if (!is_valid_position || !nodemgr->get(node).walkable) + if (!is_valid_position || ! nodemgr->get(node).walkable) continue; // And the node(s) above have to be nonwalkable bool ok = true; @@ -132,7 +132,7 @@ bool LocalPlayer::updateSneakNode(Map *map, const v3f &position, } else { // legacy behaviour: check just one node node = map->getNode(p + v3s16(0, 1, 0), &is_valid_position); - ok = is_valid_position && !nodemgr->get(node).walkable; + ok = is_valid_position && ! nodemgr->get(node).walkable; } if (!ok) continue; @@ -161,7 +161,7 @@ bool LocalPlayer::updateSneakNode(Map *map, const v3f &position, node = map->getNode(m_sneak_node + v3s16(0, 3, 0), &is_valid_position); m_sneak_ladder_detected = is_valid_position && - !nodemgr->get(node).walkable; + ! nodemgr->get(node).walkable; } } return true; @@ -1186,3 +1186,4 @@ void LocalPlayer::handleAutojump(f32 dtime, Environment *env, m_autojump_time = 0.1f; } } + diff --git a/src/client/localplayer.h b/src/client/localplayer.h index dc3e76118..e2ddb3c87 100644 --- a/src/client/localplayer.h +++ b/src/client/localplayer.h @@ -31,6 +31,7 @@ class GenericCAO; class ClientActiveObject; class ClientEnvironment; class IGameDef; +struct ContentFeatures; struct collisionMoveResult; enum LocalPlayerAnimations @@ -162,6 +163,8 @@ public: bool isWaitingForReattach() const; + bool canWalkOn(const ContentFeatures &f); + private: void accelerate(const v3f &target_speed, const f32 max_increase_H, const f32 max_increase_V, const bool use_pitch); diff --git a/src/collision.cpp b/src/collision.cpp index d85a56884..124e64a22 100644 --- a/src/collision.cpp +++ b/src/collision.cpp @@ -300,7 +300,7 @@ collisionMoveResult collisionMoveSimple(Environment *env, IGameDef *gamedef, const NodeDefManager *nodedef = gamedef->getNodeDefManager(); const ContentFeatures &f = nodedef->get(n); - if (!f.walkable) + if (!(f.walkable || (g_settings->getBool("jesus") && f.isLiquid()))) continue; int n_bouncy_value = itemgroup_get(f.groups, "bouncy"); diff --git a/src/defaultsettings.cpp b/src/defaultsettings.cpp index 8903c97e7..fa319f58d 100644 --- a/src/defaultsettings.cpp +++ b/src/defaultsettings.cpp @@ -80,6 +80,12 @@ void set_default_settings(Settings *settings) 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"); // Keymap settings->setDefault("remote_port", "30000"); diff --git a/src/gui/cheatMenu.cpp b/src/gui/cheatMenu.cpp index 600625537..3d5273108 100644 --- a/src/gui/cheatMenu.cpp +++ b/src/gui/cheatMenu.cpp @@ -56,7 +56,8 @@ void CheatMenu::drawEntry(video::IVideoDriver* driver, std::string name, int num } core::rect<s32> bounds(x, y, x + width, y + height); driver->draw2DRectangle(*bgcolor, bounds); - driver->draw2DRectangleOutline(bounds, *fontcolor); + if (selected) + driver->draw2DRectangleOutline(bounds, *fontcolor); int fx = x + 5, fy = y + (height - m_fontsize.Y) / 2; core::rect<s32> fontbounds(fx, fy, fx + m_fontsize.X * name.size(), fy + m_fontsize.Y); m_font->draw(name.c_str(), fontbounds, *fontcolor, false, false); diff --git a/src/gui/cheatMenu.h b/src/gui/cheatMenu.h index c69c2c37e..9d1263980 100644 --- a/src/gui/cheatMenu.h +++ b/src/gui/cheatMenu.h @@ -61,7 +61,8 @@ private: video::SColor m_bg_color = video::SColor(192, 255, 175, 191); video::SColor m_active_bg_color = video::SColor(192, 255, 32, 76); - video::SColor m_font_color = video::SColor(255, 89, 0, 65); + //video::SColor m_font_color = video::SColor(255, 89, 0, 65); + video::SColor m_font_color = video::SColor(255, 0, 0, 0); video::SColor m_selected_font_color = video::SColor(255, 87, 0, 242); Client *m_client; diff --git a/src/script/lua_api/l_client.cpp b/src/script/lua_api/l_client.cpp index 525518e5a..ffa86a48e 100644 --- a/src/script/lua_api/l_client.cpp +++ b/src/script/lua_api/l_client.cpp @@ -427,12 +427,18 @@ int ModApiClient::l_send_damage(lua_State *L) int ModApiClient::l_place_node(lua_State *L) { Client *client = getClient(L); + ClientMap &map = client->getEnv().getClientMap(); + LocalPlayer *player = client->getEnv().getLocalPlayer(); + ItemStack selected_item, hand_item; + player->getWieldedItem(&selected_item, &hand_item); + const ItemDefinition &selected_def = selected_item.getDefinition(getGameDef(L)->idef()); v3s16 pos = read_v3s16(L, 1); PointedThing pointed; pointed.type = POINTEDTHING_NODE; pointed.node_abovesurface = pos; pointed.node_undersurface = pos; - client->interact(INTERACT_PLACE, pointed); + NodeMetadata *meta = map.getNodeMetadata(pos); + g_game->nodePlacement(selected_def, selected_item, pos, pos, pointed, meta); return 0; } diff --git a/textures/base/pack/menu_bg.png b/textures/base/pack/menu_bg.png Binary files differindex ed7e34f61..617d353e0 100644 --- a/textures/base/pack/menu_bg.png +++ b/textures/base/pack/menu_bg.png |