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 477fa6f..f6d4220 100644 Binary files a/textures/pyutest-bucket.png and b/textures/pyutest-bucket.png differ