diff --git a/mods/CORE/mcl_oxidation/README.md b/mods/CORE/mcl_oxidation/README.md new file mode 100644 index 000000000..3f3291b19 --- /dev/null +++ b/mods/CORE/mcl_oxidation/README.md @@ -0,0 +1,14 @@ +# Oxidization API for MineClone 2 +This mods adds the oxidization api, so that modders can easily use the same features that copper uses. + +## API +To take advantage of the actual oxidization, put `oxidizable = 1` into the list of groups for the oxidizable node. +You would also need to put `_mcl_oxidized_variant = itemstring of node this node will oxidize into` into the node definition. +For example, a copper block oxidizes into exposed copper, so the defintion would be `_mcl_oxidized_variant = "mcl_copper:block_exposed"`. + +To utilize the ability to wax the block for protection from oxidization, put `mcl_waxed_variant = item string of waxed variant of node` into the node definition table. +For example, Copper Blocks have the definition arguement of `_mcl_waxed_variant = "mcl_copper:waxed_block"`. + +For waxed nodes, scraping is easy. Start by putting `waxed = 1` into the list of groups of the waxed node. +Next put `_mcl_stripped_variant = item string of the unwaxed variant of the node` into the defintion table. +Wxaed Copper Blocks can be scrapped into normal Copper Blocks because of the definition `_mcl_stripped_variant = "mcl_copper:block"`. diff --git a/mods/CORE/mcl_oxidation/init.lua b/mods/CORE/mcl_oxidation/init.lua new file mode 100644 index 000000000..201d0260a --- /dev/null +++ b/mods/CORE/mcl_oxidation/init.lua @@ -0,0 +1,12 @@ +minetest.register_abm({ + label = "Oxidatize Nodes", + nodenames = { "group:oxidizable" }, + interval = 500, + chance = 3, + action = function(pos, node) + local def = minetest.registered_nodes[node.name] + if def and def._mcl_oxidized_variant then + minetest.set_node(pos, { name = def._mcl_oxidized_variant, param2 = node.param2 }) + end + end, +}) diff --git a/mods/CORE/mcl_oxidation/mod.conf b/mods/CORE/mcl_oxidation/mod.conf new file mode 100644 index 000000000..7ab7eeffe --- /dev/null +++ b/mods/CORE/mcl_oxidation/mod.conf @@ -0,0 +1,4 @@ +name = mcl_oxidation +title = Oxidation API for MineClone 2 +author = PrairieWind, N011, Michael +description = API to allow oxidizing different nodes. diff --git a/mods/ITEMS/mcl_copper/functions.lua b/mods/ITEMS/mcl_copper/functions.lua index db756e425..bd289f60f 100644 --- a/mods/ITEMS/mcl_copper/functions.lua +++ b/mods/ITEMS/mcl_copper/functions.lua @@ -1,75 +1,132 @@ ---local deepslate_mod = minetest.get_modpath("mcl_deepslate") - -local function register_oxidation_abm(abm_name, node_name, oxidized_variant) - minetest.register_abm({ - label = abm_name, - nodenames = { node_name }, - interval = 500, - chance = 3, - action = function(pos, node) - minetest.swap_node(pos, { name = oxidized_variant, param2 = node.param2 }) - end, - }) -end - ---[[ -local stairs = { - {"stair", "exposed", "_inner", "cut_inner"}, - {"stair", "weathered", "_inner", "exposed_cut_inner"}, - {"stair", "exposed", "_outer", "cut_outer"}, - {"stair", "weathered", "_outer", "exposed_cut_outer"}, - {"stair", "oxidized", "_outer", "weathered_cut_outer"}, - {"stair", "oxidized", "_inner", "weathered_cut_inner"}, - {"slab", "exposed", "","cut"}, - {"slab", "oxidized", "","weathered_cut"}, - {"slab", "weathered", "","exposed_cut"}, - {"slab", "exposed", "_top","cut_top"}, - {"slab", "oxidized", "_top", "weathered_cut_top"}, - {"slab", "weathered", "_top","exposed_cut_top"}, - {"slab", "exposed", "_double","cut_double"}, - {"slab", "oxidized", "_double","weathered_cut_double"}, - {"slab", "weathered", "_double","exposed_cut_double"}, - {"stair", "exposed", "","cut"}, - {"stair", "oxidized", "", "weathered_cut"}, - {"stair", "weathered", "", "exposed_cut"}, -}]] - -local block_oxidation = { - { "", "_exposed" }, - { "_cut", "_exposed_cut" }, - { "_exposed", "_weathered" }, - { "_exposed_cut", "_weathered_cut" }, - { "_weathered", "_oxidized" }, - { "_weathered_cut", "_oxidized_cut" } +local stair_oxidization = { + { "cut", "exposed_cut" }, + { "cut_inner", "exposed_cut_inner" }, + { "cut_outer", "exposed_cut_outer" }, + { "exposed_cut", "weathered_cut" }, + { "exposed_cut_inner", "weathered_cut_inner" }, + { "exposed_cut_outer", "weathered_cut_outer" }, + { "weathered_cut", "oxidized_cut" }, + { "weathered_cut_inner", "oxidized_cut_inner" }, + { "weathered_cut_outer", "oxidized_cut_outer" } } -local stair_oxidation = { - { "slab", "cut", "exposed_cut" }, - { "slab", "exposed_cut", "weathered_cut" }, - { "slab", "weathered_cut", "oxidized_cut" }, - { "slab", "cut_top", "exposed_cut_top" }, - { "slab", "exposed_cut_top", "weathered_cut_top" }, - { "slab", "weathered_cut_top", "oxidized_cut_double" }, - { "slab", "cut_double", "exposed_cut_double" }, - { "slab", "exposed_cut_double", "weathered_cut_double" }, - { "slab", "weathered_cut_double", "oxidized_cut_double" }, - { "stair", "cut", "exposed_cut" }, - { "stair", "exposed_cut", "weathered_cut" }, - { "stair", "weathered_cut", "oxidized_cut" }, - { "stair", "cut_inner", "exposed_cut_inner" }, - { "stair", "exposed_cut_inner", "weathered_cut_inner" }, - { "stair", "weathered_cut_inner", "oxidized_cut_inner" }, - { "stair", "cut_outer", "exposed_cut_outer" }, - { "stair", "exposed_cut_outer", "weathered_cut_outer" }, - { "stair", "weathered_cut_outer", "oxidized_cut_outer" } +local slab_oxidization = { + { "cut", "exposed_cut" }, + { "cut_top", "exposed_cut_top" }, + { "cut_double", "exposed_cut_double" }, + { "exposed_cut", "weathered_cut" }, + { "exposed_cut_top", "weathered_cut_top" }, + { "exposed_cut_double", "weathered_cut_double" }, + { "weathered_cut", "oxidized_cut" }, + { "weathered_cut_top", "oxidized_cut_top" }, + { "weathered_cut_double", "oxidized_cut_double" }, } -for _, b in pairs(block_oxidation) do - register_oxidation_abm("Copper oxidation", "mcl_copper:block" .. b[1], "mcl_copper:block" .. b[2]) +local def +local def_variant_oxidized +local def_variant_waxed +local def_variant_scraped + +-- set up oxidized and waxed variants. +for i = 1, #stair_oxidization do + -- stairs + def = "mcl_stairs:stair_copper_" .. stair_oxidization[i][1] + def_variant_oxidized = "mcl_stairs:stair_copper_" .. stair_oxidization[i][2] + minetest.override_item(def, { _mcl_oxidized_variant = def_variant_oxidized }) + + def_variant_waxed = "mcl_stairs:stair_waxed_copper_" .. stair_oxidization[i][1] + minetest.override_item(def, { _mcl_waxed_variant = def_variant_waxed }) + + -- slabs + def = "mcl_stairs:slab_copper_" .. slab_oxidization[i][1] + def_variant_oxidized = "mcl_stairs:slab_copper_" .. slab_oxidization[i][2] + minetest.override_item(def, { _mcl_oxidized_variant = def_variant_oxidized }) + + def_variant_waxed = "mcl_stairs:slab_waxed_copper_" .. slab_oxidization[i][1] + minetest.override_item(def, { _mcl_waxed_variant = def_variant_waxed }) end -for _, s in pairs(stair_oxidation) do - register_oxidation_abm("Copper oxidation", "mcl_stairs:" .. s[1] .. "_copper_" .. s[2], "mcl_stairs:" .. s[1] .. "_copper_" .. s[3]) - -- TODO: Make stairs and slabs be waxable / scrapable. Place the Node overrides here, just like they are on the copper nodes, and it will work properly. May need to update mcl_honey to call the waxing function for stairs and slabs. +-- Set up scraped variants. +for i = 1, #stair_oxidization do + -- does both stairs and slabs. + if i > 3 then + def = "mcl_stairs:stair_copper_" .. stair_oxidization[i][1] + def_variant_scraped = "mcl_stairs:stair_copper_" .. stair_oxidization[i - 3][1] + minetest.override_item(def, { _mcl_stripped_variant = def_variant_scraped }) + + def = "mcl_stairs:slab_copper_" .. slab_oxidization[i][1] + def_variant_scraped = "mcl_stairs:slab_copper_" .. slab_oxidization[i - 3][1] + minetest.override_item(def, { _mcl_stripped_variant = def_variant_scraped }) + end + if i > 6 then + def = "mcl_stairs:stair_copper_" .. stair_oxidization[i][2] + def_variant_scraped = "mcl_stairs:stair_copper_" .. stair_oxidization[i][1] + minetest.override_item(def, { _mcl_stripped_variant = def_variant_scraped }) + + def = "mcl_stairs:slab_copper_" .. slab_oxidization[i][2] + def_variant_scraped = "mcl_stairs:slab_copper_" .. slab_oxidization[i][1] + minetest.override_item(def, { _mcl_stripped_variant = def_variant_scraped }) + end end +-- Set up scraped variants for waxed stairs. +local waxed_variants = { + { "waxed_copper_cut", "copper_cut" }, + { "waxed_copper_exposed_cut", "copper_exposed_cut" }, + { "waxed_copper_weathered_cut", "copper_weathered_cut" }, + { "waxed_copper_oxidized_cut", "copper_oxidized_cut" }, +} + +for i = 1, #waxed_variants do + -- stairs + def = "mcl_stairs:stair_" .. waxed_variants[i][1] + def_variant_scraped = "mcl_stairs:stair_" .. waxed_variants[i][2] + minetest.override_item(def, { _mcl_stripped_variant = def_variant_scraped }) + + def = "mcl_stairs:stair_" .. waxed_variants[i][1] .. "_inner" + def_variant_scraped = "mcl_stairs:stair_" .. waxed_variants[i][2] .. "_inner" + minetest.override_item(def, { _mcl_stripped_variant = def_variant_scraped }) + + def = "mcl_stairs:stair_" .. waxed_variants[i][1] .. "_outer" + def_variant_scraped = "mcl_stairs:stair_" .. waxed_variants[i][2] .. "_outer" + minetest.override_item(def, { _mcl_stripped_variant = def_variant_scraped }) + + -- slab + def = "mcl_stairs:slab_" .. waxed_variants[i][1] + def_variant_scraped = "mcl_stairs:slab_" .. waxed_variants[i][2] + minetest.override_item(def, { _mcl_stripped_variant = def_variant_scraped }) + + def = "mcl_stairs:slab_" .. waxed_variants[i][1] .. "_top" + def_variant_scraped = "mcl_stairs:slab_" .. waxed_variants[i][2] .. "_top" + minetest.override_item(def, { _mcl_stripped_variant = def_variant_scraped }) + + def = "mcl_stairs:slab_" .. waxed_variants[i][1] .. "_double" + def_variant_scraped = "mcl_stairs:slab_" .. waxed_variants[i][2] .. "_double" + minetest.override_item(def, { _mcl_stripped_variant = def_variant_scraped }) + +end + +-- Waxed Oxidized Slabs and Stairs +local oxidized_slabs = { + "oxidized_cut", + "oxidized_cut_double", + "oxidized_cut_top" +} + +for i = 1, #oxidized_slabs do + def = "mcl_stairs:slab_copper_" .. oxidized_slabs[i] + def_variant_waxed = "mcl_stairs:slab_waxed_copper_" .. oxidized_slabs[i] + minetest.override_item(def, { _mcl_waxed_variant = def_variant_waxed }) +end + +local oxidized_stairs = { + "oxidized_cut", + "oxidized_cut_inner", + "oxidized_cut_outer" +} + +for i = 1, #oxidized_stairs do + def = "mcl_stairs:stair_copper_" .. oxidized_stairs[i] + def_variant_waxed = "mcl_stairs:stair_waxed_copper_" .. oxidized_stairs[i] + minetest.override_item(def, { _mcl_waxed_variant = def_variant_waxed }) +end diff --git a/mods/ITEMS/mcl_copper/init.lua b/mods/ITEMS/mcl_copper/init.lua index 937d262e2..01ece6d54 100644 --- a/mods/ITEMS/mcl_copper/init.lua +++ b/mods/ITEMS/mcl_copper/init.lua @@ -2,7 +2,7 @@ local path = minetest.get_modpath("mcl_copper") mcl_copper = {} -- initialize global variable. -dofile(path .. "/functions.lua") dofile(path .. "/nodes.lua") dofile(path .. "/items.lua") dofile(path .. "/crafting.lua") +dofile(path .. "/functions.lua") diff --git a/mods/ITEMS/mcl_copper/mod.conf b/mods/ITEMS/mcl_copper/mod.conf index 8cf5fd579..a48ee56f7 100644 --- a/mods/ITEMS/mcl_copper/mod.conf +++ b/mods/ITEMS/mcl_copper/mod.conf @@ -1,4 +1,4 @@ name = mcl_copper author = NO11 -depends = mcl_core, mcl_sounds, mcl_stairs, mcl_util +depends = mcl_core, mcl_sounds, mcl_stairs, mcl_util, mcl_oxidation description = Adds Copper Ore, blocks and items. diff --git a/mods/ITEMS/mcl_copper/nodes.lua b/mods/ITEMS/mcl_copper/nodes.lua index c8bb139cf..af5a49a1c 100644 --- a/mods/ITEMS/mcl_copper/nodes.lua +++ b/mods/ITEMS/mcl_copper/nodes.lua @@ -30,11 +30,12 @@ minetest.register_node("mcl_copper:block", { _doc_items_longdesc = S("A block of copper is mostly a decorative block."), tiles = {"mcl_copper_block.png"}, is_ground_content = false, - groups = {pickaxey = 2, building_block = 1}, + groups = {pickaxey = 2, building_block = 1, oxidizable = 1}, sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 3, - _mcl_copper_waxed_variant = "mcl_copper:waxed_block", + _mcl_oxidized_variant = "mcl_copper:block_exposed", + _mcl_waxed_variant = "mcl_copper:waxed_block", }) minetest.register_node("mcl_copper:waxed_block", { @@ -42,7 +43,7 @@ minetest.register_node("mcl_copper:waxed_block", { _doc_items_longdesc = S("A block of copper is mostly a decorative block."), tiles = {"mcl_copper_block.png"}, is_ground_content = false, - groups = {pickaxey = 2, building_block = 1}, + groups = {pickaxey = 2, building_block = 1, waxed = 1}, sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 3, @@ -54,11 +55,12 @@ minetest.register_node("mcl_copper:block_exposed", { _doc_items_longdesc = S("Exposed copper is a decorative block."), tiles = {"mcl_copper_exposed.png"}, is_ground_content = false, - groups = {pickaxey = 2, building_block = 1}, + groups = {pickaxey = 2, building_block = 1, oxidizable = 1}, sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - _mcl_copper_waxed_variant = "mcl_copper:waxed_block_exposed", + _mcl_oxidized_variant = "mcl_copper:block_weathered", + _mcl_waxed_variant = "mcl_copper:waxed_block_exposed", _mcl_stripped_variant = "mcl_copper:block", }) @@ -67,11 +69,11 @@ minetest.register_node("mcl_copper:waxed_block_exposed", { _doc_items_longdesc = S("Exposed copper is a decorative block."), tiles = {"mcl_copper_exposed.png"}, is_ground_content = false, - groups = {pickaxey = 2, building_block = 1}, + groups = {pickaxey = 2, building_block = 1, waxed = 1}, sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - _mcl_stripped_variant = "mcl_copper:block", + _mcl_stripped_variant = "mcl_copper:block_exposed", }) minetest.register_node("mcl_copper:block_weathered", { @@ -79,11 +81,12 @@ minetest.register_node("mcl_copper:block_weathered", { _doc_items_longdesc = S("Weathered copper is a decorative block."), tiles = {"mcl_copper_weathered.png"}, is_ground_content = false, - groups = {pickaxey = 2, building_block = 1}, + groups = {pickaxey = 2, building_block = 1, oxidizable = 1}, sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - _mcl_copper_waxed_variant = "mcl_copper:waxed_block_weathered", + _mcl_oxidized_variant = "mcl_copper:block_oxidized", + _mcl_waxed_variant = "mcl_copper:waxed_block_weathered", _mcl_stripped_variant = "mcl_copper:block_exposed", }) @@ -92,11 +95,11 @@ minetest.register_node("mcl_copper:waxed_block_weathered", { _doc_items_longdesc = S("Weathered copper is a decorative block."), tiles = {"mcl_copper_weathered.png"}, is_ground_content = false, - groups = {pickaxey = 2, building_block = 1}, + groups = {pickaxey = 2, building_block = 1, waxed = 1}, sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - _mcl_stripped_variant = "mcl_copper:block_exposed", + _mcl_stripped_variant = "mcl_copper:block_weathered", }) minetest.register_node("mcl_copper:block_oxidized", { @@ -108,7 +111,7 @@ minetest.register_node("mcl_copper:block_oxidized", { sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - _mcl_copper_waxed_variant = "mcl_copper:waxed_block_oxidized", + _mcl_waxed_variant = "mcl_copper:waxed_block_oxidized", _mcl_stripped_variant = "mcl_copper:block_weathered", }) @@ -117,11 +120,11 @@ minetest.register_node("mcl_copper:waxed_block_oxidized", { _doc_items_longdesc = S("Oxidized copper is a decorative block."), tiles = {"mcl_copper_oxidized.png"}, is_ground_content = false, - groups = {pickaxey = 2, building_block = 1}, + groups = {pickaxey = 2, building_block = 1, waxed = 1}, sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - _mcl_stripped_variant = "mcl_copper:block_weathered", + _mcl_stripped_variant = "mcl_copper:block_oxidized", }) minetest.register_node("mcl_copper:block_cut", { @@ -129,11 +132,12 @@ minetest.register_node("mcl_copper:block_cut", { _doc_items_longdesc = S("Cut copper is a decorative block."), tiles = {"mcl_copper_block_cut.png"}, is_ground_content = false, - groups = {pickaxey = 2, building_block = 1}, + groups = {pickaxey = 2, building_block = 1, oxidizable = 1}, sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - _mcl_copper_waxed_variant = "mcl_copper:waxed_block_cut", + _mcl_oxidized_variant = "mcl_copper:block_exposed_cut", + _mcl_waxed_variant = "mcl_copper:waxed_block_cut", }) minetest.register_node("mcl_copper:waxed_block_cut", { @@ -141,7 +145,7 @@ minetest.register_node("mcl_copper:waxed_block_cut", { _doc_items_longdesc = S("Cut copper is a decorative block."), tiles = {"mcl_copper_block_cut.png"}, is_ground_content = false, - groups = {pickaxey = 2, building_block = 1}, + groups = {pickaxey = 2, building_block = 1, waxed = 1}, sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, @@ -153,11 +157,12 @@ minetest.register_node("mcl_copper:block_exposed_cut", { _doc_items_longdesc = S("Exposed cut copper is a decorative block."), tiles = {"mcl_copper_exposed_cut.png"}, is_ground_content = false, - groups = {pickaxey = 2, building_block = 1}, + groups = {pickaxey = 2, building_block = 1, oxidizable = 1}, sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - _mcl_copper_waxed_variant = "mcl_copper:waxed_block_exposed_cut", + _mcl_waxed_variant = "mcl_copper:waxed_block_exposed_cut", + _mcl_oxidized_variant = "mcl_copper:block_weathered_cut", _mcl_stripped_variant = "mcl_copper:block_cut", }) @@ -166,11 +171,11 @@ minetest.register_node("mcl_copper:waxed_block_exposed_cut", { _doc_items_longdesc = S("Exposed cut copper is a decorative block."), tiles = {"mcl_copper_exposed_cut.png"}, is_ground_content = false, - groups = {pickaxey = 2, building_block = 1}, + groups = {pickaxey = 2, building_block = 1, waxed = 1}, sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - _mcl_stripped_variant = "mcl_copper:block_cut", + _mcl_stripped_variant = "mcl_copper:block_exposed_cut", }) minetest.register_node("mcl_copper:block_weathered_cut", { @@ -178,12 +183,13 @@ minetest.register_node("mcl_copper:block_weathered_cut", { _doc_items_longdesc = S("Weathered cut copper is a decorative block."), tiles = {"mcl_copper_weathered_cut.png"}, is_ground_content = false, - groups = {pickaxey = 2, building_block = 1}, + groups = {pickaxey = 2, building_block = 1, oxidizable = 1}, sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, _mcl_stripped_variant = "mcl_copper:block_exposed_cut", - _mcl_copper_waxed_variant = "mcl_copper:waxed_block_weathered_cut", + _mcl_oxidized_variant = "mcl_copper:block_oxidized_cut", + _mcl_waxed_variant = "mcl_copper:waxed_block_weathered_cut", }) minetest.register_node("mcl_copper:waxed_block_weathered_cut", { @@ -191,11 +197,11 @@ minetest.register_node("mcl_copper:waxed_block_weathered_cut", { _doc_items_longdesc = S("Weathered cut copper is a decorative block."), tiles = {"mcl_copper_weathered_cut.png"}, is_ground_content = false, - groups = {pickaxey = 2, building_block = 1}, + groups = {pickaxey = 2, building_block = 1, waxed = 1}, sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - _mcl_stripped_variant = "mcl_copper:block_exposed_cut", + _mcl_stripped_variant = "mcl_copper:block_weathered_cut", }) minetest.register_node("mcl_copper:block_oxidized_cut", { @@ -208,7 +214,7 @@ minetest.register_node("mcl_copper:block_oxidized_cut", { _mcl_blast_resistance = 6, _mcl_hardness = 5, _mcl_stripped_variant = "mcl_copper:block_weathered_cut", - _mcl_copper_waxed_variant = "mcl_copper:waxed_block_oxidized_cut", + _mcl_waxed_variant = "mcl_copper:waxed_block_oxidized_cut", }) minetest.register_node("mcl_copper:waxed_block_oxidized_cut", { @@ -216,50 +222,50 @@ minetest.register_node("mcl_copper:waxed_block_oxidized_cut", { _doc_items_longdesc = S("Oxidized cut copper is a decorative block."), tiles = {"mcl_copper_oxidized_cut.png"}, is_ground_content = false, - groups = {pickaxey = 2, building_block = 1}, + groups = {pickaxey = 2, building_block = 1, waxed = 1}, sounds = mcl_sounds.node_sound_metal_defaults(), _mcl_blast_resistance = 6, _mcl_hardness = 5, - _mcl_stripped_variant = "mcl_copper:block_weathered_cut", + _mcl_stripped_variant = "mcl_copper:block_oxidized_cut", }) mcl_stairs.register_slab("copper_cut", "mcl_copper:block_cut", - {pickaxey = 2}, + {pickaxey = 2, oxidizable = 1}, {"mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png"}, S("Slab of Cut Copper"), nil, nil, nil, S("Double Slab of Cut Copper")) mcl_stairs.register_slab("waxed_copper_cut", "mcl_copper:waxed_block_cut", - {pickaxey = 2}, + {pickaxey = 2, waxed = 1}, {"mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png"}, S("Waxed Slab of Cut Copper"), nil, nil, nil, S("Waxed Double Slab of Cut Copper")) mcl_stairs.register_slab("copper_exposed_cut", "mcl_copper:block_exposed_cut", - {pickaxey = 2}, + {pickaxey = 2, oxidizable = 1}, {"mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png"}, S("Slab of Exposed Cut Copper"), nil, nil, nil, S("Double Slab of Exposed Cut Copper")) mcl_stairs.register_slab("waxed_copper_exposed_cut", "mcl_copper:waxed_block_exposed_cut", - {pickaxey = 2}, + {pickaxey = 2, waxed = 1}, {"mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png"}, S("Waxed Slab of Exposed Cut Copper"), nil, nil, nil, S("Waxed Double Slab of Exposed Cut Copper")) mcl_stairs.register_slab("copper_weathered_cut", "mcl_copper:block_weathered_cut", - {pickaxey = 2}, + {pickaxey = 2, oxidizable = 1}, {"mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png"}, S("Slab of Weathered Cut Copper"), nil, nil, nil, S("Double Slab of Weathered Cut Copper")) mcl_stairs.register_slab("waxed_copper_weathered_cut", "mcl_copper:waxed_block_weathered_cut", - {pickaxey = 2}, + {pickaxey = 2, waxed = 1}, {"mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png"}, S("Waxed Slab of Weathered Cut Copper"), nil, nil, nil, @@ -273,49 +279,49 @@ mcl_stairs.register_slab("copper_oxidized_cut", "mcl_copper:block_oxidized_cut", S("Double Slab of Oxidized Cut Copper")) mcl_stairs.register_slab("waxed_copper_oxidized_cut", "mcl_copper:waxed_block_oxidized_cut", - {pickaxey = 2}, + {pickaxey = 2, waxed = 1}, {"mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png"}, S("Waxed Slab of Oxidized Cut Copper"), nil, nil, nil, S("Waxed Double Slab of Oxidized Cut Copper")) mcl_stairs.register_stair("copper_cut", "mcl_copper:block_cut", - {pickaxey = 2}, + {pickaxey = 2, oxidizable = 1}, {"mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png"}, S("Stairs of Cut Copper"), nil, 6, nil, "woodlike") mcl_stairs.register_stair("waxed_copper_cut", "mcl_copper:waxed_block_cut", - {pickaxey = 2}, + {pickaxey = 2, waxed = 1}, {"mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png", "mcl_copper_block_cut.png"}, S("Waxed Stairs of Cut Copper"), nil, 6, nil, "woodlike") mcl_stairs.register_stair("copper_exposed_cut", "mcl_copper:block_exposed_cut", - {pickaxey = 2}, + {pickaxey = 2, oxidizable = 1}, {"mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png"}, S("Stairs of Exposed Cut Copper"), nil, 6, nil, "woodlike") mcl_stairs.register_stair("waxed_copper_exposed_cut", "mcl_copper:waxed_block_exposed_cut", - {pickaxey = 2}, + {pickaxey = 2, waxed = 1}, {"mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png", "mcl_copper_exposed_cut.png"}, S("Waxed Stairs of Exposed Cut Copper"), nil, 6, nil, "woodlike") mcl_stairs.register_stair("copper_weathered_cut", "mcl_copper:block_weathered_cut", - {pickaxey = 2}, + {pickaxey = 2, oxidizable = 1}, {"mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png"}, S("Stairs of Weathered Cut Copper"), nil, 6, nil, "woodlike") mcl_stairs.register_stair("waxed_copper_weathered_cut", "mcl_copper:waxed_block_weathered_cut", - {pickaxey = 2}, + {pickaxey = 2, waxed = 1}, {"mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png", "mcl_copper_weathered_cut.png"}, S("Waxed Stairs of Weathered Cut Copper"), nil, 6, nil, @@ -329,7 +335,7 @@ mcl_stairs.register_stair("copper_oxidized_cut", "mcl_copper:block_oxidized_cut" "woodlike") mcl_stairs.register_stair("waxed_copper_oxidized_cut", "mcl_copper:waxed_block_oxidized_cut", - {pickaxey = 2}, + {pickaxey = 2, waxed = 1}, {"mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png", "mcl_copper_oxidized_cut.png"}, S("Waxed Stairs of Oxidized Cut Copper"), nil, 6, nil, diff --git a/mods/ITEMS/mcl_honey/init.lua b/mods/ITEMS/mcl_honey/init.lua index e3b958a7d..ad507439e 100644 --- a/mods/ITEMS/mcl_honey/init.lua +++ b/mods/ITEMS/mcl_honey/init.lua @@ -16,11 +16,13 @@ function mcl_honey.wax_block(pos, node, player, itemstack) local def = minetest.registered_nodes[node.name] - if not def or not def._mcl_copper_waxed_variant then + if def and def._mcl_waxed_variant then + node.name = def._mcl_waxed_variant + else return end - node.name = def._mcl_copper_waxed_variant + node.name = def._mcl_waxed_variant minetest.set_node(pos, node) awards.unlock(player:get_player_name(), "mcl:wax_on") if not minetest.is_creative_enabled(player:get_player_name()) then diff --git a/mods/ITEMS/mcl_tools/init.lua b/mods/ITEMS/mcl_tools/init.lua index de0ea6261..5f96fa3fa 100644 --- a/mods/ITEMS/mcl_tools/init.lua +++ b/mods/ITEMS/mcl_tools/init.lua @@ -387,6 +387,9 @@ local function make_stripped_trunk(itemstack, placer, pointed_thing) return itemstack else minetest.swap_node(pointed_thing.under, {name=noddef._mcl_stripped_variant, param2=node.param2}) + if minetest.get_item_group(node_name, "waxed") ~= 0 then + awards.unlock(placer:get_player_name(), "mcl:wax_off") + end if not minetest.is_creative_enabled(placer:get_player_name()) then -- Add wear (as if digging a axey node) local toolname = itemstack:get_name()