Some Updates

This commit is contained in:
Elias Fleckenstein 2020-08-14 19:12:14 +02:00
parent 107dec6c0f
commit 9019e18b94
14 changed files with 85 additions and 86 deletions

View File

@ -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

View File

@ -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

View File

@ -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
})

View File

@ -43,3 +43,5 @@ minetest.register_chatcommand("respawn", {
end
end
})
minetest.register_cheat("AutoRespawn", "Combat", "autorespawn")

View File

@ -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")

View File

@ -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);

View File

@ -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)
);

View File

@ -732,8 +732,6 @@ public:
void togglePitchMove();
void toggleFast();
void toggleNoClip();
void toggleXray();
void toggleFullbright();
void toggleKillaura();
void toggleFreecam();
void toggleCinematic();

View File

@ -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");

View File

@ -70,8 +70,6 @@ public:
DECREASE_VIEWING_RANGE,
RANGESELECT,
ZOOM,
XRAY,
FULLBRIGHT,
KILLAURA,
FREECAM,
SELECT_UP,

View File

@ -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");

View File

@ -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)

View File

@ -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");

View File

@ -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) :