From ecafa581bb46a33f90bbe7a076a0d0bc11c81777 Mon Sep 17 00:00:00 2001 From: IamPyu Date: Sat, 26 Oct 2024 13:45:58 -0600 Subject: [PATCH] Revamp bucket system --- mods/ITEMS/pyutest_blocks/api.lua | 4 +++- mods/ITEMS/pyutest_buckets/init.lua | 25 ++++++++++++++++--------- mods/PLAYER/pyutest_player/stats.lua | 5 ----- textures/pyutest-bucket.png | Bin 164 -> 179 bytes 4 files changed, 19 insertions(+), 15 deletions(-) diff --git a/mods/ITEMS/pyutest_blocks/api.lua b/mods/ITEMS/pyutest_blocks/api.lua index 179218b..23633d9 100644 --- a/mods/ITEMS/pyutest_blocks/api.lua +++ b/mods/ITEMS/pyutest_blocks/api.lua @@ -236,6 +236,8 @@ PyuTest.make_liquid = function(name, desc, groups, texture, speed, extra_conf) local g = groups or {} g["liquid"] = 1 - PyuTest.make_node(name .. "_source", desc .. " Source", g, { texture }, make_liquid_flags("source")) + PyuTest.make_node(name .. "_source", desc .. " Source", PyuTest.util.tableconcat(g, { + liquid_source = 1 + }), { texture }, make_liquid_flags("source")) PyuTest.make_node(name .. "_flowing", "Flowing " .. desc, g, { texture }, make_liquid_flags("flowing")) end diff --git a/mods/ITEMS/pyutest_buckets/init.lua b/mods/ITEMS/pyutest_buckets/init.lua index 5efd469..3a1c24e 100644 --- a/mods/ITEMS/pyutest_buckets/init.lua +++ b/mods/ITEMS/pyutest_buckets/init.lua @@ -1,7 +1,7 @@ PyuTest.make_item("pyutest_buckets:bucket", "Empty Bucket", {}, "pyutest-bucket.png", { pointabilities = { nodes = { - ["group:liquid"] = true + ["group:liquid_source"] = true } }, @@ -15,8 +15,8 @@ PyuTest.make_item("pyutest_buckets:bucket", "Empty Bucket", {}, "pyutest-bucket. local node = minetest.get_node(pos) local def = minetest.registered_nodes[node.name] - if def.__source then - PyuTest.give_item_or_drop(ItemStack(def.__source), user:get_inventory(), "main", user:get_pos()) + if def.__bucket then + PyuTest.give_item_or_drop(ItemStack(def.__bucket), user:get_inventory(), "main", user:get_pos()) minetest.remove_node(pos) itemstack:take_item() @@ -34,22 +34,29 @@ minetest.register_craft({ } }) -PyuTest.make_liquid_bucket = function (source, flowing, source_desc, color) +PyuTest.make_liquid_bucket = function (name, desc, source, color) local texture = string.format("pyutest-bucket.png^(pyutest-bucket-overlay.png^[colorize:%s)", color) - minetest.override_item(source, { - description = source_desc, + PyuTest.make_node(name, desc, { + bucket = 1 + }, {}, { + drawtype = "airlike", + walkable = false, + pointable = false, wield_image = texture, inventory_image = texture, after_place_node = function (pos, placer) if placer == nil then return end PyuTest.give_item_or_drop(ItemStack("pyutest_buckets:bucket"), placer:get_inventory(), "main", placer:get_pos()) + minetest.set_node(pos, {name = source}) end, + }) - __source = source, + minetest.override_item(source, { + __bucket = name, }) end -PyuTest.make_liquid_bucket("pyutest_blocks:water_source", "pyutest_blocks:water_flowing", "Water Bucket", "blue") -PyuTest.make_liquid_bucket("pyutest_blocks:lava_source", "pyutest_blocks:lava_flowing", "Lava Bucket", "orange") +PyuTest.make_liquid_bucket("pyutest_buckets:water_bucket", "Water Bucket", "pyutest_blocks:water_source", "blue") +PyuTest.make_liquid_bucket("pyutest_buckets:lava_bucket", "Lava Bucket", "pyutest_blocks:lava_source", "orange") diff --git a/mods/PLAYER/pyutest_player/stats.lua b/mods/PLAYER/pyutest_player/stats.lua index 51b93d3..3d86a78 100644 --- a/mods/PLAYER/pyutest_player/stats.lua +++ b/mods/PLAYER/pyutest_player/stats.lua @@ -42,17 +42,12 @@ minetest.register_on_player_hpchange(function (player, hp_change, reason) end end - minetest.log(new_hp_change) - if current_hp > (max_hp / 4) then local defense = PyuTest.get_player_stat(player, "defense") - -- new_hp_change = new_hp_change * (1 / defense) new_hp_change = new_hp_change / defense new_hp_change = math.floor(new_hp_change + 0.5) end - minetest.log(new_hp_change) - return new_hp_change end, true) diff --git a/textures/pyutest-bucket.png b/textures/pyutest-bucket.png index 477fa6f0beea294f28c55161ee2bf6782ec44ca8..f6d42206381a5f403be1a320c96d11077733cf6e 100644 GIT binary patch delta 151 zcmV;I0BHZD0kZ*+B!7BIL_t(Ijm46|4Zt7_15MSb_%H%9^I@KBkbVjZDUp(@QvCu6 zpREMoZzXl-s80eo=j?L#-lz9)CYl-mZ*?i2HC_S$Af4mXT64RI2(?xKAI>0@z5}FE ziW_p*kFQauYk;eTOb<2Kr7t8Q9xK%*oo)dD`(r)cU*<+3;1I-&TIv7*002ovPDHLk FV1f?1KPLbH delta 136 zcmV;30C)eh0i*$tB!6p3L_t(Ijm45d4!|G?1lOjo;=OQ*D|VFwqUc^$Fct#