mirror of
https://git.minetest.land/VoxeLibre/VoxeLibre.git
synced 2024-11-26 12:31:05 +01:00
Merge pull request 'Oxidation API' (#3748) from oxidation_api into master
Reviewed-on: https://git.minetest.land/MineClone2/MineClone2/pulls/3748 Reviewed-by: ancientmarinerdev <ancientmariner_dev@proton.me>
This commit is contained in:
commit
46d486c7cb
9 changed files with 211 additions and 113 deletions
14
mods/CORE/mcl_oxidation/README.md
Normal file
14
mods/CORE/mcl_oxidation/README.md
Normal file
|
@ -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"`.
|
12
mods/CORE/mcl_oxidation/init.lua
Normal file
12
mods/CORE/mcl_oxidation/init.lua
Normal file
|
@ -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,
|
||||
})
|
4
mods/CORE/mcl_oxidation/mod.conf
Normal file
4
mods/CORE/mcl_oxidation/mod.conf
Normal file
|
@ -0,0 +1,4 @@
|
|||
name = mcl_oxidation
|
||||
title = Oxidation API for MineClone 2
|
||||
author = PrairieWind, N011, Michael
|
||||
description = API to allow oxidizing different nodes.
|
|
@ -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
|
||||
|
|
|
@ -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")
|
||||
|
|
|
@ -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.
|
||||
|
|
|
@ -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,
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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()
|
||||
|
|
Loading…
Reference in a new issue