From 95a4b96478dc972fb43fc72b0d54f53976e24c6b Mon Sep 17 00:00:00 2001 From: tenplus1 Date: Tue, 23 Aug 2022 08:22:26 +0100 Subject: [PATCH] tidy code, hide grey recipes if unifieddye present --- flowers.lua | 117 ++++++++++++++++++++ init.lua | 276 ++++++++---------------------------------------- lucky_block.lua | 64 +++++++++++ 3 files changed, 227 insertions(+), 230 deletions(-) create mode 100644 flowers.lua create mode 100644 lucky_block.lua diff --git a/flowers.lua b/flowers.lua new file mode 100644 index 0000000..8d5d5f2 --- /dev/null +++ b/flowers.lua @@ -0,0 +1,117 @@ +local flowers = { + {"delphinium", "Blue Delphinium", + {-0.15, -0.5, -0.15, 0.15, 0.3, 0.15}, {color_cyan = 1}}, + + {"thistle", "Thistle", + {-0.15, -0.5, -0.15, 0.15, 0.2, 0.15}, {color_magenta = 1}}, + + {"lazarus", "Lazarus Bell", + {-0.15, -0.5, -0.15, 0.15, 0.2, 0.15}, {color_pink = 1}}, + + {"mannagrass", "Reed Mannagrass", + {-0.15, -0.5, -0.15, 0.15, 0.2, 0.15}, {color_dark_green = 1}} +} + +-- register some new flowers to fill in missing dye colours +-- flower registration (borrowed from default game) +local function add_simple_flower(name, desc, box, f_groups) + + f_groups.snappy = 3 + f_groups.flower = 1 + f_groups.flora = 1 + f_groups.attached_node = 1 + + minetest.register_node("bakedclay:" .. name, { + description = desc, + drawtype = "plantlike", + waving = 1, + tiles = {"baked_clay_" .. name .. ".png"}, + inventory_image = "baked_clay_" .. name .. ".png", + wield_image = "baked_clay_" .. name .. ".png", + sunlight_propagates = true, + paramtype = "light", + walkable = false, + buildable_to = true, + stack_max = 99, + groups = f_groups, + sounds = default.node_sound_leaves_defaults(), + selection_box = {type = "fixed", fixed = box} + }) +end + +for _,item in pairs(flowers) do + add_simple_flower(unpack(item)) +end + +-- add new flowers to mapgen +minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:dirt_with_grass"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.004, + spread = {x = 100, y = 100, z = 100}, + seed = 7133, + octaves = 3, + persist = 0.6 + }, + y_min = 10, + y_max = 90, + decoration = "bakedclay:delphinium" +}) + +minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:dirt_with_grass", "default:dirt_with_dry_grass"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.004, + spread = {x = 100, y = 100, z = 100}, + seed = 7134, + octaves = 3, + persist = 0.6 + }, + y_min = 15, + y_max = 90, + decoration = "bakedclay:thistle" +}) + +minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:dirt_with_grass", "default:dirt_with_rainforest_litter"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.01, + spread = {x = 100, y = 100, z = 100}, + seed = 7135, + octaves = 3, + persist = 0.6 + }, + y_min = 1, + y_max = 90, + decoration = "bakedclay:lazarus", + spawn_by = "default:jungletree", + num_spawn_by = 1 +}) + +minetest.register_decoration({ + deco_type = "simple", + place_on = {"default:dirt_with_grass", "default:sand"}, + sidelen = 16, + noise_params = { + offset = 0, + scale = 0.009, + spread = {x = 100, y = 100, z = 100}, + seed = 7136, + octaves = 3, + persist = 0.6 + }, + y_min = 1, + y_max = 15, + decoration = "bakedclay:mannagrass", + spawn_by = "group:water", + num_spawn_by = 1 +}) diff --git a/init.lua b/init.lua index 1aa9813..409a73c 100644 --- a/init.lua +++ b/init.lua @@ -23,12 +23,11 @@ local clay = { local techcnc_mod = minetest.get_modpath("technic_cnc") local stairs_mod = minetest.get_modpath("stairs") local stairsplus_mod = minetest.get_modpath("moreblocks") - and minetest.global_exists("stairsplus") + and minetest.global_exists("stairsplus") for _, clay in pairs(clay) do -- node - minetest.register_node("bakedclay:" .. clay[1], { description = clay[2] .. " Baked Clay", tiles = {"baked_clay_" .. clay[1] ..".png"}, @@ -37,7 +36,6 @@ for _, clay in pairs(clay) do }) -- craft recipe - if clay[1] ~= "natural" then minetest.register_craft({ @@ -100,7 +98,7 @@ for _, clay in pairs(clay) do end end --- Terracotta blocks (textures by D3monPixel, thanks for use :) +-- Terracotta blocks for _, clay in pairs(clay) do if clay[1] ~= "natural" then @@ -134,21 +132,13 @@ end minetest.register_alias("bakedclay:terracotta_light_blue", "bakedclay:terracotta_cyan") -- cook clay block into white baked clay - minetest.register_craft({ type = "cooking", output = "bakedclay:natural", - recipe = "default:clay", + recipe = "default:clay" }) -- register a few extra dye colour options - -minetest.register_craft( { - type = "shapeless", - output = "dye:dark_grey 3", - recipe = {"dye:black", "dye:black", "dye:white"} -}) - minetest.register_craft( { type = "shapeless", output = "dye:green 4", @@ -164,6 +154,12 @@ minetest.register_craft( { -- only add light grey recipe if unifieddye mod isnt present (conflict) if not minetest.get_modpath("unifieddyes") then + minetest.register_craft( { + type = "shapeless", + output = "dye:dark_grey 3", + recipe = {"dye:black", "dye:black", "dye:white"} + }) + minetest.register_craft( { type = "shapeless", output = "dye:grey 3", @@ -176,237 +172,47 @@ minetest.register_craft( { output = "default:clay_brick 16", recipe = { {"bakedclay:red", "bakedclay:red"}, - {"bakedclay:red", "bakedclay:red"}, + {"bakedclay:red", "bakedclay:red"} } }) --- register some new flowers to fill in missing dye colours --- flower registration (borrowed from default game) - -local function add_simple_flower(name, desc, box, f_groups) - - f_groups.snappy = 3 - f_groups.flower = 1 - f_groups.flora = 1 - f_groups.attached_node = 1 - - minetest.register_node("bakedclay:" .. name, { - description = desc, - drawtype = "plantlike", - waving = 1, - tiles = {"baked_clay_" .. name .. ".png"}, - inventory_image = "baked_clay_" .. name .. ".png", - wield_image = "baked_clay_" .. name .. ".png", - sunlight_propagates = true, - paramtype = "light", - walkable = false, - buildable_to = true, - stack_max = 99, - groups = f_groups, - sounds = default.node_sound_leaves_defaults(), - selection_box = { - type = "fixed", - fixed = box - } - }) -end - -local flowers = { - {"delphinium", "Blue Delphinium", - {-0.15, -0.5, -0.15, 0.15, 0.3, 0.15}, {color_cyan = 1}}, - - {"thistle", "Thistle", - {-0.15, -0.5, -0.15, 0.15, 0.2, 0.15}, {color_magenta = 1}}, - - {"lazarus", "Lazarus Bell", - {-0.15, -0.5, -0.15, 0.15, 0.2, 0.15}, {color_pink = 1}}, - - {"mannagrass", "Reed Mannagrass", - {-0.15, -0.5, -0.15, 0.15, 0.2, 0.15}, {color_dark_green = 1}} -} - -for _,item in pairs(flowers) do - add_simple_flower(unpack(item)) -end - --- mapgen for new flowers - -minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass"}, - sidelen = 16, - noise_params = { - offset = 0, - scale = 0.004, - spread = {x = 100, y = 100, z = 100}, - seed = 7133, - octaves = 3, - persist = 0.6 - }, - y_min = 10, - y_max = 90, - decoration = "bakedclay:delphinium" -}) - -minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass", "default:dirt_with_dry_grass"}, - sidelen = 16, - noise_params = { - offset = 0, - scale = 0.004, - spread = {x = 100, y = 100, z = 100}, - seed = 7134, - octaves = 3, - persist = 0.6 - }, - y_min = 15, - y_max = 90, - decoration = "bakedclay:thistle" -}) - -minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass", "default:dirt_with_rainforest_litter"}, - sidelen = 16, - noise_params = { - offset = 0, - scale = 0.01, - spread = {x = 100, y = 100, z = 100}, - seed = 7135, - octaves = 3, - persist = 0.6 - }, - y_min = 1, - y_max = 90, - decoration = "bakedclay:lazarus", - spawn_by = "default:jungletree", - num_spawn_by = 1 -}) - -minetest.register_decoration({ - deco_type = "simple", - place_on = {"default:dirt_with_grass", "default:sand"}, - sidelen = 16, - noise_params = { - offset = 0, - scale = 0.009, - spread = {x = 100, y = 100, z = 100}, - seed = 7136, - octaves = 3, - persist = 0.6 - }, - y_min = 1, - y_max = 15, - decoration = "bakedclay:mannagrass", - spawn_by = "group:water", - num_spawn_by = 1 -}) - --- lucky blocks - -if minetest.get_modpath("lucky_block") then - -local p = "bakedclay:" - -lucky_block:add_blocks({ - {"dro", {"bakedclay:"}, 10, true}, - {"fal", {p.."black", p.."blue", p.."brown", p.."cyan", p.."dark_green", - p.."dark_grey", p.."green", p.."grey", p.."magenta", p.."orange", - p.."pink", p.."red", p.."violet", p.."white", p.."yellow", p.."natural"}, 0}, - {"fal", {p.."black", p.."blue", p.."brown", p.."cyan", p.."dark_green", - p.."dark_grey", p.."green", p.."grey", p.."magenta", p.."orange", - p.."pink", p.."red", p.."violet", p.."white", p.."yellow", p.."natural"}, 0, true}, - {"dro", {p.."delphinium"}, 5}, - {"dro", {p.."lazarus"}, 5}, - {"dro", {p.."mannagrass"}, 5}, - {"dro", {p.."thistle"}, 6}, - {"flo", 5, {p.."natural", p.."black", p.."blue", p.."brown", p.."cyan", - p.."dark_green", p.."dark_grey", p.."green", p.."grey", p.."magenta", - p.."orange", p.."pink", p.."red", p.."violet", p.."white", p.."yellow"}, 2}, - {"nod", "default:chest", 0, { - {name = p.."natural", max = 30}, - {name = p.."black", max = 30}, - {name = p.."blue", max = 30}, - {name = p.."brown", max = 30}, - {name = p.."cyan", max = 30}, - {name = p.."dark_green", max = 30}, - {name = p.."dark_grey", max = 30}, - {name = p.."green", max = 30}, - {name = p.."grey", max = 30}, - {name = p.."magenta", max = 30}, - {name = p.."orange", max = 30}, - {name = p.."pink", max = 30}, - {name = p.."red", max = 30}, - {name = p.."violet", max = 30}, - {name = p.."white", max = 30}, - {name = p.."yellow", max = 30} - }}, -}) - -p = "bakedclay:terracotta_" - -lucky_block:add_blocks({ - {"nod", "default:chest", 0, { - {name = p.."black", max = 20}, - {name = p.."blue", max = 20}, - {name = p.."brown", max = 20}, - {name = p.."cyan", max = 20}, - {name = p.."dark_green", max = 20}, - {name = p.."dark_grey", max = 20}, - {name = p.."green", max = 20}, - {name = p.."grey", max = 20}, - {name = p.."magenta", max = 20}, - {name = p.."orange", max = 20}, - {name = p.."pink", max = 20}, - {name = p.."red", max = 20}, - {name = p.."violet", max = 20}, - {name = p.."white", max = 20}, - {name = p.."yellow", max = 20} - }} -}) -end - -- colored clay compatibility - if minetest.settings:get_bool("colored_clay_compatibility") == true then -local cc = { - {"black", "black"}, - {"blue", "blue"}, - {"bright", "natural"}, - {"brown", "brown"}, - {"cyan", "cyan"}, - {"dark_green", "dark_green"}, - {"dark_grey", "dark_grey"}, - {"green", "green"}, - {"grey", "grey"}, - {"hardened", "natural"}, - {"magenta", "magenta"}, - {"orange", "orange"}, - {"pink", "pink"}, - {"red", "red"}, - {"violet", "violet"}, - {"white", "white"}, - {"yellow", "yellow"} -} + local cc = { + {"black", "black"}, + {"blue", "blue"}, + {"bright", "natural"}, + {"brown", "brown"}, + {"cyan", "cyan"}, + {"dark_green", "dark_green"}, + {"dark_grey", "dark_grey"}, + {"green", "green"}, + {"grey", "grey"}, + {"hardened", "natural"}, + {"magenta", "magenta"}, + {"orange", "orange"}, + {"pink", "pink"}, + {"red", "red"}, + {"violet", "violet"}, + {"white", "white"}, + {"yellow", "yellow"} + } -for n = 1, #cc do + for n = 1, #cc do - local nod1 = "colored_clay:" .. cc[n][1] - local nod2 = "bakedclay:" .. cc[n][2] + local nod1 = "colored_clay:" .. cc[n][1] + local nod2 = "bakedclay:" .. cc[n][2] - minetest.register_alias(nod1, nod2) + minetest.register_alias(nod1, nod2) - if stairsplus_mod then - stairsplus:register_alias_all("colored_clay", cc[n][1], "bakedclay", cc[n][2]) + if stairsplus_mod then + stairsplus:register_alias_all("colored_clay", cc[n][1], "bakedclay", cc[n][2]) + end end end -end - -- flowerpot mod - if minetest.get_modpath("flowerpot") then flowerpot.register_node("bakedclay:delphinium") flowerpot.register_node("bakedclay:thistle") @@ -414,5 +220,15 @@ if minetest.get_modpath("flowerpot") then flowerpot.register_node("bakedclay:mannagrass") end +-- get mod path +local path = minetest.get_modpath("bakedclay") + +-- add new flowers +dofile(path .. "/flowers.lua") + +-- add lucky blocks if mod present +if minetest.get_modpath("lucky_block") then + dofile(path .. "/lucky_block.lua") +end print ("[MOD] Baked Clay loaded") diff --git a/lucky_block.lua b/lucky_block.lua new file mode 100644 index 0000000..2114ab7 --- /dev/null +++ b/lucky_block.lua @@ -0,0 +1,64 @@ +local p = "bakedclay:" + +lucky_block:add_blocks({ + {"dro", {"bakedclay:"}, 10, true}, + {"fal", { + p.."black", p.."blue", p.."brown", p.."cyan", p.."dark_green", + p.."dark_grey", p.."green", p.."grey", p.."magenta", p.."orange", + p.."pink", p.."red", p.."violet", p.."white", p.."yellow", p.."natural" + }, 0}, + {"fal", { + p.."black", p.."blue", p.."brown", p.."cyan", p.."dark_green", + p.."dark_grey", p.."green", p.."grey", p.."magenta", p.."orange", + p.."pink", p.."red", p.."violet", p.."white", p.."yellow", p.."natural" + }, 0, true}, + {"dro", {p.."delphinium"}, 5}, + {"dro", {p.."lazarus"}, 5}, + {"dro", {p.."mannagrass"}, 5}, + {"dro", {p.."thistle"}, 6}, + {"flo", 5, { + p.."natural", p.."black", p.."blue", p.."brown", p.."cyan", + p.."dark_green", p.."dark_grey", p.."green", p.."grey", p.."magenta", + p.."orange", p.."pink", p.."red", p.."violet", p.."white", p.."yellow" + }, 2}, + {"nod", "default:chest", 0, { + {name = p.."natural", max = 30}, + {name = p.."black", max = 30}, + {name = p.."blue", max = 30}, + {name = p.."brown", max = 30}, + {name = p.."cyan", max = 30}, + {name = p.."dark_green", max = 30}, + {name = p.."dark_grey", max = 30}, + {name = p.."green", max = 30}, + {name = p.."grey", max = 30}, + {name = p.."magenta", max = 30}, + {name = p.."orange", max = 30}, + {name = p.."pink", max = 30}, + {name = p.."red", max = 30}, + {name = p.."violet", max = 30}, + {name = p.."white", max = 30}, + {name = p.."yellow", max = 30} + }} +}) + +p = "bakedclay:terracotta_" + +lucky_block:add_blocks({ + {"nod", "default:chest", 0, { + {name = p.."black", max = 20}, + {name = p.."blue", max = 20}, + {name = p.."brown", max = 20}, + {name = p.."cyan", max = 20}, + {name = p.."dark_green", max = 20}, + {name = p.."dark_grey", max = 20}, + {name = p.."green", max = 20}, + {name = p.."grey", max = 20}, + {name = p.."magenta", max = 20}, + {name = p.."orange", max = 20}, + {name = p.."pink", max = 20}, + {name = p.."red", max = 20}, + {name = p.."violet", max = 20}, + {name = p.."white", max = 20}, + {name = p.."yellow", max = 20} + }} +})