mirror of
https://git.minetest.land/VoxeLibre/VoxeLibre.git
synced 2024-11-25 20:11:06 +01:00
Add gamerule keepInventory and migrate existing setting value from mcl_keepInvetory
This commit is contained in:
parent
75565e7118
commit
f819b31613
11 changed files with 25 additions and 15 deletions
|
@ -1,4 +1,5 @@
|
||||||
local modname = minetest.get_current_modname()
|
local modname = minetest.get_current_modname()
|
||||||
|
local modpath = minetest.get_modpath(modname)
|
||||||
local S = minetest.get_translator(modname)
|
local S = minetest.get_translator(modname)
|
||||||
local storage = minetest.get_mod_storage()
|
local storage = minetest.get_mod_storage()
|
||||||
local mod = {}
|
local mod = {}
|
||||||
|
@ -57,6 +58,8 @@ function mod.setting(setting, setting_type, def )
|
||||||
-- return the existing setting if it was previously registered. Don't update the definition
|
-- return the existing setting if it was previously registered. Don't update the definition
|
||||||
local tunable = tunables[setting]
|
local tunable = tunables[setting]
|
||||||
if tunable then return tunable end
|
if tunable then return tunable end
|
||||||
|
assert(setting_type)
|
||||||
|
assert(def)
|
||||||
|
|
||||||
-- Setup the tunable data
|
-- Setup the tunable data
|
||||||
tunable = table.copy(def)
|
tunable = table.copy(def)
|
||||||
|
@ -149,3 +152,4 @@ minetest.register_chatcommand("gamerule", {
|
||||||
end
|
end
|
||||||
})
|
})
|
||||||
|
|
||||||
|
dofile(modpath.."/settings.lua")
|
||||||
|
|
|
@ -237,8 +237,9 @@ minetest.register_on_leaveplayer(function(player)
|
||||||
caches[player] = nil
|
caches[player] = nil
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
local keep_inventory = vl_tuning.setting("gamerule:keepInventory")
|
||||||
minetest.register_on_dieplayer(function(player)
|
minetest.register_on_dieplayer(function(player)
|
||||||
if not minetest.settings:get_bool("mcl_keepInventory", false) then
|
if not keep_inventory[1] then
|
||||||
mcl_experience.throw_xp(player:get_pos(), mcl_experience.get_xp(player))
|
mcl_experience.throw_xp(player:get_pos(), mcl_experience.get_xp(player))
|
||||||
mcl_experience.set_xp(player, 0)
|
mcl_experience.set_xp(player, 0)
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
name = mcl_experience
|
name = mcl_experience
|
||||||
author = oilboi
|
author = oilboi
|
||||||
description = eXPerience mod
|
description = eXPerience mod
|
||||||
depends = mcl_gamemode, mcl_luck
|
depends = mcl_gamemode, mcl_luck, vl_tuning
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
name = mcl_farming
|
name = mcl_farming
|
||||||
depends = mcl_core, mcl_sounds, mcl_wool, mcl_torches, mcl_weather, mobs_mc, mcl_colors, mcl_init
|
depends = mcl_core, mcl_sounds, mcl_wool, mcl_torches, mcl_weather, mobs_mc, mcl_colors, mcl_init, vl_tuning
|
||||||
optional_depends = mcl_armor, doc
|
optional_depends = mcl_armor, doc
|
||||||
|
|
|
@ -175,8 +175,9 @@ if minetest.get_modpath("mcl_armor") then
|
||||||
add_pumpkin_hud(player)
|
add_pumpkin_hud(player)
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
local keep_inventory = vl_tuning.setting("gamerule:keepInventory")
|
||||||
minetest.register_on_dieplayer(function(player)
|
minetest.register_on_dieplayer(function(player)
|
||||||
if not minetest.settings:get_bool("mcl_keepInventory") then
|
if not keep_inventory[1] then
|
||||||
remove_pumpkin_hud(player)
|
remove_pumpkin_hud(player)
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
|
@ -434,9 +434,10 @@ minetest.register_globalstep(function(dtime)
|
||||||
end
|
end
|
||||||
end)
|
end)
|
||||||
|
|
||||||
|
local keep_inventory = vl_tuning.setting("gamerule:keepInventory")
|
||||||
minetest.register_on_dieplayer(function(player)
|
minetest.register_on_dieplayer(function(player)
|
||||||
remove_shield_hud(player)
|
remove_shield_hud(player)
|
||||||
if not minetest.settings:get_bool("mcl_keepInventory") then
|
if not keep_inventory[1] then
|
||||||
remove_shield_entity(player, 1)
|
remove_shield_entity(player, 1)
|
||||||
remove_shield_entity(player, 2)
|
remove_shield_entity(player, 2)
|
||||||
end
|
end
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
name = mcl_shields
|
name = mcl_shields
|
||||||
author = NO11
|
author = NO11
|
||||||
depends = mcl_damage, mcl_enchanting, mcl_banners, mcl_util, playerphysics
|
depends = mcl_damage, mcl_enchanting, mcl_banners, mcl_util, playerphysics, vl_tuning
|
||||||
|
|
|
@ -6,6 +6,8 @@ mcl_death_drop = {}
|
||||||
|
|
||||||
mcl_death_drop.registered_dropped_lists = {}
|
mcl_death_drop.registered_dropped_lists = {}
|
||||||
|
|
||||||
|
local keep_inventory = vl_tuning.setting("gamerule:keepInventory")
|
||||||
|
|
||||||
function mcl_death_drop.register_dropped_list(inv, listname, drop)
|
function mcl_death_drop.register_dropped_list(inv, listname, drop)
|
||||||
table.insert(mcl_death_drop.registered_dropped_lists, {inv = inv, listname = listname, drop = drop})
|
table.insert(mcl_death_drop.registered_dropped_lists, {inv = inv, listname = listname, drop = drop})
|
||||||
end
|
end
|
||||||
|
@ -16,8 +18,7 @@ mcl_death_drop.register_dropped_list("PLAYER", "armor", true)
|
||||||
mcl_death_drop.register_dropped_list("PLAYER", "offhand", true)
|
mcl_death_drop.register_dropped_list("PLAYER", "offhand", true)
|
||||||
|
|
||||||
minetest.register_on_dieplayer(function(player)
|
minetest.register_on_dieplayer(function(player)
|
||||||
local keep = minetest.settings:get_bool("mcl_keepInventory", false)
|
if not keep_inventory[1] then
|
||||||
if keep == false then
|
|
||||||
-- Drop inventory, crafting grid and armor
|
-- Drop inventory, crafting grid and armor
|
||||||
local playerinv = player:get_inventory()
|
local playerinv = player:get_inventory()
|
||||||
local pos = player:get_pos()
|
local pos = player:get_pos()
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
name = mcl_death_drop
|
name = mcl_death_drop
|
||||||
author = Wuzzy
|
author = Wuzzy
|
||||||
description = Makes all items in inventory drop after player death.
|
description = Makes all items in inventory drop after player death.
|
||||||
depends = mcl_armor, mcl_enchanting
|
depends = mcl_armor, mcl_enchanting, vl_tuning
|
||||||
|
|
|
@ -735,8 +735,10 @@ end
|
||||||
|
|
||||||
init()
|
init()
|
||||||
|
|
||||||
if not minetest.settings:get_bool("mcl_keepInventory", false) then
|
local keep_inventory = vl_tuning.setting("gamerule:keepInventory")
|
||||||
minetest.register_on_respawnplayer(function(player)
|
minetest.register_on_respawnplayer(function(player)
|
||||||
|
if not keep_inventory[1] then
|
||||||
mcl_skins.update_player_skin(player) -- ensures players have their cape again after dying with an elytra
|
mcl_skins.update_player_skin(player) -- ensures players have their cape again after dying with an elytra
|
||||||
end)
|
|
||||||
end
|
end
|
||||||
|
end)
|
||||||
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
name = mcl_skins
|
name = mcl_skins
|
||||||
author = MrRar
|
author = MrRar
|
||||||
description = Advanced player skin customization.
|
description = Advanced player skin customization.
|
||||||
depends = mcl_player
|
depends = mcl_player, vl_tuning
|
||||||
|
|
Loading…
Reference in a new issue