From c9d28f6d62115d940348ceeeffc417d76fb0ab23 Mon Sep 17 00:00:00 2001 From: poikilos <7557867+poikilos@users.noreply.github.com> Date: Tue, 13 Mar 2018 14:32:50 -0400 Subject: [PATCH] change bones basis and target to 0.5 --- README.md | 4 + etc/game-install-ENLIVEN | 1 + ...{init-0.5.0-dev.lua => init-something.lua} | 60 +++++------- patches/subgame-basis/mods/bones/init.lua | 60 +++++++----- ...{init-0.5.0-dev.lua => init-something.lua} | 91 +++++++------------ patches/subgame/mods/bones/init.lua | 91 ++++++++++++------- 6 files changed, 156 insertions(+), 151 deletions(-) rename patches/subgame-basis/mods/bones/{init-0.5.0-dev.lua => init-something.lua} (85%) rename patches/subgame/mods/bones/{init-0.5.0-dev.lua => init-something.lua} (73%) diff --git a/README.md b/README.md index 5e34497..67e2481 100644 --- a/README.md +++ b/README.md @@ -123,6 +123,10 @@ Otherwise just install everything EXCEPT cme_to_spawners & tsm_pyramids_to_spawn * The included minetest.conf recommended for your clients includes the line enable_local_map_saving = true, which will cache the world locally on their machines. You can feel free to change that according to your preference. ## Changes: +### (2018-03-13) +* added mapfix mod since dynamic_liquid makes one block create a whole pond if set high above ground +* removed mapfix due to [improvements to minetest](https://github.com/minetest/minetest/issues/2767) +* removed dynamic_liquid since it makes oceans deplete as they go into caves (see ) ### (2018-03-08) * added technic_armor since is now in separate repo ### (2018-03-06) diff --git a/etc/game-install-ENLIVEN b/etc/game-install-ENLIVEN index 3e67a71..737006a 100755 --- a/etc/game-install-ENLIVEN +++ b/etc/game-install-ENLIVEN @@ -936,6 +936,7 @@ add_git_mod quartz quartz https://github.com/minetest-mods/quartz add_git_mod magma_conduits magma_conduits https://github.com/FaceDeer/magma_conduits.git # dynamic_liquid: makes suspended source blocks move down until supported--therefore improves the underground especially when using mods like magma_conduits add_git_mod dynamic_liquid dynamic_liquid https://github.com/minetest-mods/dynamic_liquid.git +add_git_mod mapfix mapfix https://github.com/minetest-mods/mapfix #endregion MOB AND WORLDGEN MODS diff --git a/patches/subgame-basis/mods/bones/init-0.5.0-dev.lua b/patches/subgame-basis/mods/bones/init-something.lua similarity index 85% rename from patches/subgame-basis/mods/bones/init-0.5.0-dev.lua rename to patches/subgame-basis/mods/bones/init-something.lua index 4294518..9583bc2 100644 --- a/patches/subgame-basis/mods/bones/init-0.5.0-dev.lua +++ b/patches/subgame-basis/mods/bones/init-something.lua @@ -1,8 +1,6 @@ -- Minetest 0.4 mod: bones -- See README.txt for licensing and other information. -bones = {} - local function is_owner(pos, name) local owner = minetest.get_meta(pos):get_string("owner") if owner == "" or owner == name or minetest.check_player_privs(name, "protection_bypass") then @@ -70,12 +68,6 @@ minetest.register_node("bones:bones", { on_metadata_inventory_take = function(pos, listname, index, stack, player) local meta = minetest.get_meta(pos) if meta:get_inventory():is_empty("main") then - local inv = player:get_inventory() - if inv:room_for_item("main", {name = "bones:bones"}) then - inv:add_item("main", {name = "bones:bones"}) - else - minetest.add_item(pos, "bones:bones") - end minetest.remove_node(pos) end end, @@ -167,18 +159,6 @@ local drop = function(pos, itemstack) end end -local player_inventory_lists = { "main", "craft" } -bones.player_inventory_lists = player_inventory_lists - -local function is_all_empty(player_inv) - for _, list_name in ipairs(player_inventory_lists) do - if not player_inv:is_empty(list_name) then - return false - end - end - return true -end - minetest.register_on_dieplayer(function(player) local bones_mode = minetest.settings:get("bones_mode") or "bones" @@ -193,7 +173,8 @@ minetest.register_on_dieplayer(function(player) end local player_inv = player:get_inventory() - if is_all_empty(player_inv) then + if player_inv:is_empty("main") and + player_inv:is_empty("craft") then return end @@ -211,12 +192,19 @@ minetest.register_on_dieplayer(function(player) end if bones_mode == "drop" then - for _, list_name in ipairs(player_inventory_lists) do - for i = 1, player_inv:get_size(list_name) do - drop(pos, player_inv:get_stack(list_name, i)) - end - player_inv:set_list(list_name, {}) + + -- drop inventory items + for i = 1, player_inv:get_size("main") do + drop(pos, player_inv:get_stack("main", i)) + end + player_inv:set_list("main", {}) + + -- drop crafting grid items + for i = 1, player_inv:get_size("craft") do + drop(pos, player_inv:get_stack("craft", i)) end + player_inv:set_list("craft", {}) + drop(pos, ItemStack("bones:bones")) return end @@ -227,19 +215,21 @@ minetest.register_on_dieplayer(function(player) local meta = minetest.get_meta(pos) local inv = meta:get_inventory() inv:set_size("main", 8 * 4) + inv:set_list("main", player_inv:get_list("main")) - for _, list_name in ipairs(player_inventory_lists) do - for i = 1, player_inv:get_size(list_name) do - local stack = player_inv:get_stack(list_name, i) - if inv:room_for_item("main", stack) then - inv:add_item("main", stack) - else -- no space left - drop(pos, stack) - end + for i = 1, player_inv:get_size("craft") do + local stack = player_inv:get_stack("craft", i) + if inv:room_for_item("main", stack) then + inv:add_item("main", stack) + else + --drop if no space left + drop(pos, stack) end - player_inv:set_list(list_name, {}) end + player_inv:set_list("main", {}) + player_inv:set_list("craft", {}) + meta:set_string("formspec", bones_formspec) meta:set_string("owner", player_name) diff --git a/patches/subgame-basis/mods/bones/init.lua b/patches/subgame-basis/mods/bones/init.lua index 9583bc2..4294518 100644 --- a/patches/subgame-basis/mods/bones/init.lua +++ b/patches/subgame-basis/mods/bones/init.lua @@ -1,6 +1,8 @@ -- Minetest 0.4 mod: bones -- See README.txt for licensing and other information. +bones = {} + local function is_owner(pos, name) local owner = minetest.get_meta(pos):get_string("owner") if owner == "" or owner == name or minetest.check_player_privs(name, "protection_bypass") then @@ -68,6 +70,12 @@ minetest.register_node("bones:bones", { on_metadata_inventory_take = function(pos, listname, index, stack, player) local meta = minetest.get_meta(pos) if meta:get_inventory():is_empty("main") then + local inv = player:get_inventory() + if inv:room_for_item("main", {name = "bones:bones"}) then + inv:add_item("main", {name = "bones:bones"}) + else + minetest.add_item(pos, "bones:bones") + end minetest.remove_node(pos) end end, @@ -159,6 +167,18 @@ local drop = function(pos, itemstack) end end +local player_inventory_lists = { "main", "craft" } +bones.player_inventory_lists = player_inventory_lists + +local function is_all_empty(player_inv) + for _, list_name in ipairs(player_inventory_lists) do + if not player_inv:is_empty(list_name) then + return false + end + end + return true +end + minetest.register_on_dieplayer(function(player) local bones_mode = minetest.settings:get("bones_mode") or "bones" @@ -173,8 +193,7 @@ minetest.register_on_dieplayer(function(player) end local player_inv = player:get_inventory() - if player_inv:is_empty("main") and - player_inv:is_empty("craft") then + if is_all_empty(player_inv) then return end @@ -192,19 +211,12 @@ minetest.register_on_dieplayer(function(player) end if bones_mode == "drop" then - - -- drop inventory items - for i = 1, player_inv:get_size("main") do - drop(pos, player_inv:get_stack("main", i)) - end - player_inv:set_list("main", {}) - - -- drop crafting grid items - for i = 1, player_inv:get_size("craft") do - drop(pos, player_inv:get_stack("craft", i)) + for _, list_name in ipairs(player_inventory_lists) do + for i = 1, player_inv:get_size(list_name) do + drop(pos, player_inv:get_stack(list_name, i)) + end + player_inv:set_list(list_name, {}) end - player_inv:set_list("craft", {}) - drop(pos, ItemStack("bones:bones")) return end @@ -215,21 +227,19 @@ minetest.register_on_dieplayer(function(player) local meta = minetest.get_meta(pos) local inv = meta:get_inventory() inv:set_size("main", 8 * 4) - inv:set_list("main", player_inv:get_list("main")) - for i = 1, player_inv:get_size("craft") do - local stack = player_inv:get_stack("craft", i) - if inv:room_for_item("main", stack) then - inv:add_item("main", stack) - else - --drop if no space left - drop(pos, stack) + for _, list_name in ipairs(player_inventory_lists) do + for i = 1, player_inv:get_size(list_name) do + local stack = player_inv:get_stack(list_name, i) + if inv:room_for_item("main", stack) then + inv:add_item("main", stack) + else -- no space left + drop(pos, stack) + end end + player_inv:set_list(list_name, {}) end - player_inv:set_list("main", {}) - player_inv:set_list("craft", {}) - meta:set_string("formspec", bones_formspec) meta:set_string("owner", player_name) diff --git a/patches/subgame/mods/bones/init-0.5.0-dev.lua b/patches/subgame/mods/bones/init-something.lua similarity index 73% rename from patches/subgame/mods/bones/init-0.5.0-dev.lua rename to patches/subgame/mods/bones/init-something.lua index 5c4ecca..f1fe190 100644 --- a/patches/subgame/mods/bones/init-0.5.0-dev.lua +++ b/patches/subgame/mods/bones/init-something.lua @@ -1,8 +1,6 @@ -- Minetest 0.4 mod: bones -- See README.txt for licensing and other information. -bones = {} - local function is_owner(pos, name) local owner = minetest.get_meta(pos):get_string("owner") if owner == "" or owner == name or minetest.check_player_privs(name, "protection_bypass") then @@ -70,12 +68,6 @@ minetest.register_node("bones:bones", { on_metadata_inventory_take = function(pos, listname, index, stack, player) local meta = minetest.get_meta(pos) if meta:get_inventory():is_empty("main") then - local inv = player:get_inventory() - if inv:room_for_item("main", {name = "bones:bones"}) then - inv:add_item("main", {name = "bones:bones"}) - else - minetest.add_item(pos, "bones:bones") - end minetest.remove_node(pos) end end, @@ -167,19 +159,6 @@ local drop = function(pos, itemstack) end end -local player_inventory_lists = { "main", "craft" } -bones.player_inventory_lists = player_inventory_lists - -local function is_all_empty(player_inv) - for _, list_name in ipairs(player_inventory_lists) do - if not player_inv:is_empty(list_name) then - return false - end - end - return true -end - - minetest.register_on_dieplayer(function(player) local bones_mode = minetest.settings:get("bones_mode") or "bones" @@ -187,24 +166,20 @@ minetest.register_on_dieplayer(function(player) bones_mode = "bones" end - local enable_bones_logging = minetest.settings:get_bool("enable_bones_logging") - local enable_bones_chat_msg = minetest.settings:get_bool("enable_bones_chat_msg") - local pos = vector.round(player:getpos()) -- return if keep inventory set or in creative mode if bones_mode == "keep" or (creative and creative.is_enabled_for and creative.is_enabled_for(player:get_player_name())) then - if enable_bones_logging then - minetest.log("action", "[bones] " .. player:get_player_name() .. "'s bones do not remain since player has creative -- died at " .. minetest.pos_to_string(vector.round(player:getpos()))) - end - if enable_bones_chat_msg then - minetest.chat_send_player(player:get_player_name(), player:get_player_name() .. "'s bones do not remain since player has creative -- died at " .. minetest.pos_to_string(pos)) - end + minetest.log("action", "[bones] " .. player:get_player_name() .. "'s bones do not remain since in creative_mode -- died at " .. minetest.pos_to_string(vector.round(player:getpos()))) + minetest.chat_send_player(player:get_player_name(), player:get_player_name() .. "'s bones do not remain since in creative_mode -- died at " .. minetest.pos_to_string(pos)) --formerly ("Bones placed at %s."):format(pos) return end local player_inv = player:get_inventory() - if is_all_empty(player_inv) then + if player_inv:is_empty("main") and + player_inv:is_empty("craft") then + minetest.log("action", "[bones] " .. player:get_player_name() .. "'s bones do not remain since inventory and craft are empty -- died at " .. minetest.pos_to_string(vector.round(player:getpos()))) + minetest.chat_send_player(player:get_player_name(), player:get_player_name() .. "'s bones do not remain since inventory and craft are empty -- died at " .. minetest.pos_to_string(pos)) --formerly ("Bones placed at %s."):format(pos) return end @@ -222,47 +197,49 @@ minetest.register_on_dieplayer(function(player) end if bones_mode == "drop" then - for _, list_name in ipairs(player_inventory_lists) do - for i = 1, player_inv:get_size(list_name) do - drop(pos, player_inv:get_stack(list_name, i)) - end - player_inv:set_list(list_name, {}) + + -- drop inventory items + for i = 1, player_inv:get_size("main") do + drop(pos, player_inv:get_stack("main", i)) + end + player_inv:set_list("main", {}) + + -- drop crafting grid items + for i = 1, player_inv:get_size("craft") do + drop(pos, player_inv:get_stack("craft", i)) end + player_inv:set_list("craft", {}) + drop(pos, ItemStack("bones:bones")) - if enable_bones_logging then - minetest.log("action", "[bones] " .. player:get_player_name() .. "'s bones do not remain since cannot place bones here -- died at " .. minetest.pos_to_string(pos)) - end - if enable_bones_chat_msg then - minetest.chat_send_player(player:get_player_name(), player:get_player_name() .. "'s do not remain since cannot place bones here -- died at " .. minetest.pos_to_string(pos)) - end + minetest.log("action", "[bones] " .. player:get_player_name() .. "'s bones do not remain since area is_protected -- died at " .. minetest.pos_to_string(pos)) + minetest.chat_send_player(player:get_player_name(), player:get_player_name() .. "'s do not remain since area is_protected -- died at " .. minetest.pos_to_string(pos)) --formerly ("Bones placed at %s."):format(pos) return end local param2 = minetest.dir_to_facedir(player:get_look_dir()) minetest.set_node(pos, {name = "bones:bones", param2 = param2}) - if enable_bones_logging then - minetest.log("action", "[bones] " .. player:get_player_name() .. "'s bones remain where died at " .. minetest.pos_to_string(pos)) - end - if enable_bones_chat_msg then - minetest.chat_send_player(player:get_player_name(), player:get_player_name() .. "'s bones remain where died at " .. minetest.pos_to_string(pos)) - end + minetest.log("action", "[bones] " .. player:get_player_name() .. "'s bones remain where died at " .. minetest.pos_to_string(pos)) + minetest.chat_send_player(player:get_player_name(), player:get_player_name() .. "'s bones remain where died at " .. minetest.pos_to_string(pos)) --formerly ("Bones placed at %s."):format(pos) + local meta = minetest.get_meta(pos) local inv = meta:get_inventory() inv:set_size("main", 8 * 4) + inv:set_list("main", player_inv:get_list("main")) - for _, list_name in ipairs(player_inventory_lists) do - for i = 1, player_inv:get_size(list_name) do - local stack = player_inv:get_stack(list_name, i) - if inv:room_for_item("main", stack) then - inv:add_item("main", stack) - else -- no space left - drop(pos, stack) - end + for i = 1, player_inv:get_size("craft") do + local stack = player_inv:get_stack("craft", i) + if inv:room_for_item("main", stack) then + inv:add_item("main", stack) + else + --drop if no space left + drop(pos, stack) end - player_inv:set_list(list_name, {}) end + player_inv:set_list("main", {}) + player_inv:set_list("craft", {}) + meta:set_string("formspec", bones_formspec) meta:set_string("owner", player_name) diff --git a/patches/subgame/mods/bones/init.lua b/patches/subgame/mods/bones/init.lua index f1fe190..5c4ecca 100644 --- a/patches/subgame/mods/bones/init.lua +++ b/patches/subgame/mods/bones/init.lua @@ -1,6 +1,8 @@ -- Minetest 0.4 mod: bones -- See README.txt for licensing and other information. +bones = {} + local function is_owner(pos, name) local owner = minetest.get_meta(pos):get_string("owner") if owner == "" or owner == name or minetest.check_player_privs(name, "protection_bypass") then @@ -68,6 +70,12 @@ minetest.register_node("bones:bones", { on_metadata_inventory_take = function(pos, listname, index, stack, player) local meta = minetest.get_meta(pos) if meta:get_inventory():is_empty("main") then + local inv = player:get_inventory() + if inv:room_for_item("main", {name = "bones:bones"}) then + inv:add_item("main", {name = "bones:bones"}) + else + minetest.add_item(pos, "bones:bones") + end minetest.remove_node(pos) end end, @@ -159,6 +167,19 @@ local drop = function(pos, itemstack) end end +local player_inventory_lists = { "main", "craft" } +bones.player_inventory_lists = player_inventory_lists + +local function is_all_empty(player_inv) + for _, list_name in ipairs(player_inventory_lists) do + if not player_inv:is_empty(list_name) then + return false + end + end + return true +end + + minetest.register_on_dieplayer(function(player) local bones_mode = minetest.settings:get("bones_mode") or "bones" @@ -166,20 +187,24 @@ minetest.register_on_dieplayer(function(player) bones_mode = "bones" end + local enable_bones_logging = minetest.settings:get_bool("enable_bones_logging") + local enable_bones_chat_msg = minetest.settings:get_bool("enable_bones_chat_msg") + local pos = vector.round(player:getpos()) -- return if keep inventory set or in creative mode if bones_mode == "keep" or (creative and creative.is_enabled_for and creative.is_enabled_for(player:get_player_name())) then - minetest.log("action", "[bones] " .. player:get_player_name() .. "'s bones do not remain since in creative_mode -- died at " .. minetest.pos_to_string(vector.round(player:getpos()))) - minetest.chat_send_player(player:get_player_name(), player:get_player_name() .. "'s bones do not remain since in creative_mode -- died at " .. minetest.pos_to_string(pos)) --formerly ("Bones placed at %s."):format(pos) + if enable_bones_logging then + minetest.log("action", "[bones] " .. player:get_player_name() .. "'s bones do not remain since player has creative -- died at " .. minetest.pos_to_string(vector.round(player:getpos()))) + end + if enable_bones_chat_msg then + minetest.chat_send_player(player:get_player_name(), player:get_player_name() .. "'s bones do not remain since player has creative -- died at " .. minetest.pos_to_string(pos)) + end return end local player_inv = player:get_inventory() - if player_inv:is_empty("main") and - player_inv:is_empty("craft") then - minetest.log("action", "[bones] " .. player:get_player_name() .. "'s bones do not remain since inventory and craft are empty -- died at " .. minetest.pos_to_string(vector.round(player:getpos()))) - minetest.chat_send_player(player:get_player_name(), player:get_player_name() .. "'s bones do not remain since inventory and craft are empty -- died at " .. minetest.pos_to_string(pos)) --formerly ("Bones placed at %s."):format(pos) + if is_all_empty(player_inv) then return end @@ -197,49 +222,47 @@ minetest.register_on_dieplayer(function(player) end if bones_mode == "drop" then - - -- drop inventory items - for i = 1, player_inv:get_size("main") do - drop(pos, player_inv:get_stack("main", i)) - end - player_inv:set_list("main", {}) - - -- drop crafting grid items - for i = 1, player_inv:get_size("craft") do - drop(pos, player_inv:get_stack("craft", i)) + for _, list_name in ipairs(player_inventory_lists) do + for i = 1, player_inv:get_size(list_name) do + drop(pos, player_inv:get_stack(list_name, i)) + end + player_inv:set_list(list_name, {}) end - player_inv:set_list("craft", {}) - drop(pos, ItemStack("bones:bones")) - minetest.log("action", "[bones] " .. player:get_player_name() .. "'s bones do not remain since area is_protected -- died at " .. minetest.pos_to_string(pos)) - minetest.chat_send_player(player:get_player_name(), player:get_player_name() .. "'s do not remain since area is_protected -- died at " .. minetest.pos_to_string(pos)) --formerly ("Bones placed at %s."):format(pos) + if enable_bones_logging then + minetest.log("action", "[bones] " .. player:get_player_name() .. "'s bones do not remain since cannot place bones here -- died at " .. minetest.pos_to_string(pos)) + end + if enable_bones_chat_msg then + minetest.chat_send_player(player:get_player_name(), player:get_player_name() .. "'s do not remain since cannot place bones here -- died at " .. minetest.pos_to_string(pos)) + end return end local param2 = minetest.dir_to_facedir(player:get_look_dir()) minetest.set_node(pos, {name = "bones:bones", param2 = param2}) - minetest.log("action", "[bones] " .. player:get_player_name() .. "'s bones remain where died at " .. minetest.pos_to_string(pos)) - minetest.chat_send_player(player:get_player_name(), player:get_player_name() .. "'s bones remain where died at " .. minetest.pos_to_string(pos)) --formerly ("Bones placed at %s."):format(pos) - + if enable_bones_logging then + minetest.log("action", "[bones] " .. player:get_player_name() .. "'s bones remain where died at " .. minetest.pos_to_string(pos)) + end + if enable_bones_chat_msg then + minetest.chat_send_player(player:get_player_name(), player:get_player_name() .. "'s bones remain where died at " .. minetest.pos_to_string(pos)) + end local meta = minetest.get_meta(pos) local inv = meta:get_inventory() inv:set_size("main", 8 * 4) - inv:set_list("main", player_inv:get_list("main")) - for i = 1, player_inv:get_size("craft") do - local stack = player_inv:get_stack("craft", i) - if inv:room_for_item("main", stack) then - inv:add_item("main", stack) - else - --drop if no space left - drop(pos, stack) + for _, list_name in ipairs(player_inventory_lists) do + for i = 1, player_inv:get_size(list_name) do + local stack = player_inv:get_stack(list_name, i) + if inv:room_for_item("main", stack) then + inv:add_item("main", stack) + else -- no space left + drop(pos, stack) + end end + player_inv:set_list(list_name, {}) end - player_inv:set_list("main", {}) - player_inv:set_list("craft", {}) - meta:set_string("formspec", bones_formspec) meta:set_string("owner", player_name)