Revamp bucket system

This commit is contained in:
IamPyu 2024-10-26 13:45:58 -06:00
parent 90df776796
commit ecafa581bb
4 changed files with 19 additions and 15 deletions

View File

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

View File

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

View File

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 164 B

After

Width:  |  Height:  |  Size: 179 B