From 90df7767968e7b77aa15ebffe3aea8bf6dabce10 Mon Sep 17 00:00:00 2001 From: IamPyu Date: Fri, 25 Oct 2024 23:04:36 -0600 Subject: [PATCH] Lots of minor changes and add buckets! --- CHANGELOG.md | 2 +- mods/CORE/pyutest/util.lua | 8 ++++ mods/ITEMS/pyutest_buckets/init.lua | 55 ++++++++++++++++++++++++ mods/ITEMS/pyutest_buckets/mod.conf | 1 + mods/ITEMS/pyutest_upgrades/init.lua | 6 +-- mods/ITEMS/pyutest_wool/init.lua | 13 +++++- mods/WORLD/pyutest_environment/init.lua | 4 +- textures/pyutest-bucket.png | Bin 149 -> 164 bytes textures/pyutest-rune.png | Bin 196 -> 181 bytes 9 files changed, 82 insertions(+), 7 deletions(-) create mode 100644 mods/ITEMS/pyutest_buckets/init.lua create mode 100644 mods/ITEMS/pyutest_buckets/mod.conf diff --git a/CHANGELOG.md b/CHANGELOG.md index d4186c0..29b480d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -15,7 +15,7 @@ - Added stats which can improve your defense and attack capabilities - Defense stat is only applied when your health is greater than one fourth of it! - Added upgrade runes which can be used to improve your defense and attack stats - +- Added buckets ## [Oct 19th 2024] Bugfix Update diff --git a/mods/CORE/pyutest/util.lua b/mods/CORE/pyutest/util.lua index 5e3d7a2..cc8acf4 100644 --- a/mods/CORE/pyutest/util.lua +++ b/mods/CORE/pyutest/util.lua @@ -263,3 +263,11 @@ PyuTest.deal_damage = function(target, damage) target:set_hp(hp - damage) end end + +PyuTest.give_item_or_drop = function(stack, inventory, listname, pos) + local leftover = inventory:add_item(listname, stack) + + if leftover then + minetest.add_item(pos, leftover) + end +end diff --git a/mods/ITEMS/pyutest_buckets/init.lua b/mods/ITEMS/pyutest_buckets/init.lua new file mode 100644 index 0000000..5efd469 --- /dev/null +++ b/mods/ITEMS/pyutest_buckets/init.lua @@ -0,0 +1,55 @@ +PyuTest.make_item("pyutest_buckets:bucket", "Empty Bucket", {}, "pyutest-bucket.png", { + pointabilities = { + nodes = { + ["group:liquid"] = true + } + }, + + on_place = function (itemstack, user, pointed_thing) + if user == nil then + return + end + + if pointed_thing.type == "node" then + local pos = pointed_thing.under + 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()) + minetest.remove_node(pos) + + itemstack:take_item() + return itemstack + end + end + end +}) + +minetest.register_craft({ + output = "pyutest_buckets:bucket", + recipe = { + {"pyutest_ores:iron_ingot", "", "pyutest_ores:iron_ingot"}, + {"", "pyutest_ores:iron_ingot", ""} + } +}) + +PyuTest.make_liquid_bucket = function (source, flowing, source_desc, color) + local texture = string.format("pyutest-bucket.png^(pyutest-bucket-overlay.png^[colorize:%s)", color) + + minetest.override_item(source, { + description = source_desc, + 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()) + end, + + __source = source, + }) +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") diff --git a/mods/ITEMS/pyutest_buckets/mod.conf b/mods/ITEMS/pyutest_buckets/mod.conf new file mode 100644 index 0000000..fee55f5 --- /dev/null +++ b/mods/ITEMS/pyutest_buckets/mod.conf @@ -0,0 +1 @@ +depends = pyutest_blocks,pyutest_tools,pyutest_ores diff --git a/mods/ITEMS/pyutest_upgrades/init.lua b/mods/ITEMS/pyutest_upgrades/init.lua index 1f00d31..9d0f374 100644 --- a/mods/ITEMS/pyutest_upgrades/init.lua +++ b/mods/ITEMS/pyutest_upgrades/init.lua @@ -1,4 +1,4 @@ -PyuTest.make_upgrade_rune = function (name, desc, stat, increase, max) +PyuTest.make_upgrade_rune = function (name, desc, stat, increase, max, color) PyuTest.make_item(name, desc, { upgrade_rune = 1, }, "pyutest-rune.png", { @@ -27,5 +27,5 @@ PyuTest.make_upgrade_rune = function (name, desc, stat, increase, max) }) end -PyuTest.make_upgrade_rune("pyutest_upgrades:defense", "Defense Upgrade Rune", "defense", 0.5, 5) -PyuTest.make_upgrade_rune("pyutest_upgrades:attack", "Attack Upgrade Rune", "attack", 0.5, 3) +PyuTest.make_upgrade_rune("pyutest_upgrades:defense", "Defense Upgrade Rune", "defense", 0.5, 5, "green") +PyuTest.make_upgrade_rune("pyutest_upgrades:attack", "Attack Upgrade Rune", "attack", 0.5, 3, "red") diff --git a/mods/ITEMS/pyutest_wool/init.lua b/mods/ITEMS/pyutest_wool/init.lua index 0dfa7b9..1beb18a 100644 --- a/mods/ITEMS/pyutest_wool/init.lua +++ b/mods/ITEMS/pyutest_wool/init.lua @@ -105,7 +105,9 @@ end for k, v in pairs(PyuTest.COLORS) do if v[2] ~= nil then - PyuTest.make_node("pyutest_wool:"..k.."_stained_glass", v[1] .. " Stained Glass", { + local id = "pyutest_wool:"..k.."_stained_glass" + + PyuTest.make_node(id, v[1] .. " Stained Glass", { cracky = PyuTest.BLOCK_FAST, glass = 1, colored = 1 @@ -115,6 +117,15 @@ for k, v in pairs(PyuTest.COLORS) do paramtype = "light", sunlight_propagates = true }) + + minetest.register_craft({ + output = id, + recipe = { + "pyutest_blocks:glass", + "pyutest_wool:"..k.."_dye" + }, + type = "shapeless" + }) end end diff --git a/mods/WORLD/pyutest_environment/init.lua b/mods/WORLD/pyutest_environment/init.lua index 3b7ba7a..ab8fc74 100644 --- a/mods/WORLD/pyutest_environment/init.lua +++ b/mods/WORLD/pyutest_environment/init.lua @@ -5,10 +5,10 @@ minetest.register_abm({ chance = 2.5, catch_up = true, action = function (pos) - local heat = minetest.get_heat(pos) + local heat = minetest.get_heat(pos) or 50 local found = minetest.find_node_near(pos, 2, {"group:emits_heat"}) ~= nil - if heat and heat < 12 and not found then + if heat < 12 and not found then minetest.set_node(pos, {name = "pyutest_blocks:ice_block"}) end end diff --git a/textures/pyutest-bucket.png b/textures/pyutest-bucket.png index f0c80e3474f4f6bbdbcf47709c453cdc54c29de0..477fa6f0beea294f28c55161ee2bf6782ec44ca8 100644 GIT binary patch delta 136 zcmV;30C)eD0i*$tB!6p3L_t(Ijm45d4!|G?1lOjo;=OQ*D|VFwqUc^$Fct#pONY=Aj%cUw$sD~cwK>RJ1zql7;q;j a4D|q_b`}*hZ)Y6<0000HiOsOBUr3gLqB2AB(k5i5rBgMYlNJd0PT