Compare commits

...

10 Commits

Author SHA1 Message Date
tenplus1
313e54cf69 tidy code 2024-07-28 10:23:10 +01:00
tenplus1
edc74e1583 add is_ground_content 2024-03-04 08:15:19 +00:00
tenplus1
349e691afb Add spanish translation (thx Panquesito7) 2023-09-09 07:58:46 +01:00
tenplus1
2307c99f7d update mod.conf 2023-09-03 11:10:00 +01:00
tenplus1
b05fb6087a add translation support (thanks Niklp) 2023-09-03 11:07:28 +01:00
tenplus1
720adef1d0 remove stack_max limit of 99 for [game] to handle instead. 2023-04-13 17:30:35 +01:00
tenplus1
2e3e82cd92 add 'stairsplus_clay_compatibility' setting 2023-03-15 07:47:46 +00:00
tenplus1
bd5ff73c19 remove 0.4.x support for better 5.x mod compatibility 2022-12-24 08:28:37 +00:00
tenplus1
ed06375ad5 remove technic_cnc dependency, register cnc nodes using minetest.after 2022-12-19 11:23:17 +00:00
tenplus1
4af6f35734 update license.txt 2022-11-28 09:07:59 +00:00
11 changed files with 206 additions and 116 deletions

View File

@ -8,6 +8,8 @@ https://forum.minetest.net/viewtopic.php?id=8890
Changelog:
- 1.2 - Add 'stairsplus_clay_compatibility' setting.
- 1.1 - Remove 0.4.x compatibility to better support 5.x mods
- 1.0 - Re-Added glazed terracotta blocks when you cook baked clay in furnace (thanks Amara2_MK), added support for sofar's flowerpot mod, missing glazed textures re-coloured by firefox.
- 0.9 - Baked clay now works in the technic cnc machine
- 0.8 - Cooking clay block in furnace gives natural baked clay which you can dye
@ -23,3 +25,5 @@ Lucky Blocks: 10
Note: Under settings you will find 'colored_clay_compatibility' switch that when enabled will register aliases for the older colored clay mod and it's stairplus stairs.
You will also find the 'stairsplus_clay_compatibility' setting that is enabled by default for older worlds that switched from default stairs mod to stairsplus. It can be disabled for brand new worlds only using stairsplus mod though.

View File

@ -1,6 +0,0 @@
default
stairs
moreblocks?
lucky_block?
technic_cnc?
flowerpot?

View File

@ -1 +0,0 @@
Adds the ability to bake clay into blocks and colour them with dye.

View File

@ -1,19 +1,26 @@
-- translation support
local S = minetest.get_translator("bakedclay")
-- new flowers
local flowers = {
{"delphinium", "Blue Delphinium",
{"delphinium", S("Blue Delphinium"),
{-0.15, -0.5, -0.15, 0.15, 0.3, 0.15}, {color_cyan = 1}},
{"thistle", "Thistle",
{"thistle", S("Thistle"),
{-0.15, -0.5, -0.15, 0.15, 0.2, 0.15}, {color_magenta = 1}},
{"lazarus", "Lazarus Bell",
{"lazarus", S("Lazarus Bell"),
{-0.15, -0.5, -0.15, 0.15, 0.2, 0.15}, {color_pink = 1}},
{"mannagrass", "Reed Mannagrass",
{"mannagrass", S("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)
-- helper function
local function add_simple_flower(name, desc, box, f_groups)
f_groups.snappy = 3
@ -32,18 +39,20 @@ local function add_simple_flower(name, desc, box, f_groups)
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
-- register new flowers to fill in missing dye colours
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"},
@ -116,7 +125,8 @@ minetest.register_decoration({
num_spawn_by = 1
})
-- flowerpot mod
-- flowerpot mod support
if minetest.get_modpath("flowerpot") then
flowerpot.register_node("bakedclay:delphinium")
flowerpot.register_node("bakedclay:thistle")

104
init.lua
View File

@ -1,41 +1,53 @@
-- Baked Clay by TenPlus1
-- translation support
local S = minetest.get_translator("bakedclay")
-- list of clay colours
local clay = {
{"natural", "Natural"},
{"white", "White"},
{"grey", "Grey"},
{"black", "Black"},
{"red", "Red"},
{"yellow", "Yellow"},
{"green", "Green"},
{"cyan", "Cyan"},
{"blue", "Blue"},
{"magenta", "Magenta"},
{"orange", "Orange"},
{"violet", "Violet"},
{"brown", "Brown"},
{"pink", "Pink"},
{"dark_grey", "Dark Grey"},
{"dark_green", "Dark Green"}
{"natural", S("Natural")},
{"white", S("White")},
{"grey", S("Grey")},
{"black", S("Black")},
{"red", S("Red")},
{"yellow", S("Yellow")},
{"green", S("Green")},
{"cyan", S("Cyan")},
{"blue", S("Blue")},
{"magenta", S("Magenta")},
{"orange", S("Orange")},
{"violet", S("Violet")},
{"brown", S("Brown")},
{"pink", S("Pink")},
{"dark_grey", S("Dark Grey")},
{"dark_green", S("Dark Green")}
}
-- check mod support
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")
local stairsplus_compat = minetest.settings:get_bool("stairsplus_clay_compatibility") ~= false
-- scroll through colours
for _, clay in pairs(clay) do
-- node
-- register node
minetest.register_node("bakedclay:" .. clay[1], {
description = clay[2] .. " Baked Clay",
description = clay[2] .. " " .. S("Baked Clay"),
tiles = {"baked_clay_" .. clay[1] ..".png"},
groups = {cracky = 3, bakedclay = 1},
sounds = default.node_sound_stone_defaults()
sounds = default.node_sound_stone_defaults(),
is_ground_content = false
})
-- craft recipe
-- register craft recipe
if clay[1] ~= "natural" then
minetest.register_craft({
@ -49,16 +61,19 @@ for _, clay in pairs(clay) do
end
-- stairs plus
if stairsplus_mod then
stairsplus:register_all("bakedclay", "baked_clay_" .. clay[1],
"bakedclay:" .. clay[1], {
description = clay[2] .. " Baked Clay",
description = clay[2] .. " " .. S("Baked Clay"),
tiles = {"baked_clay_" .. clay[1] .. ".png"},
groups = {cracky = 3},
sounds = default.node_sound_stone_defaults()
})
if stairsplus_compat then
stairsplus:register_alias_all("bakedclay", clay[1],
"bakedclay", "baked_clay_" .. clay[1])
@ -67,38 +82,46 @@ for _, clay in pairs(clay) do
minetest.register_alias("stairs:stair_bakedclay_".. clay[1],
"bakedclay:stair_baked_clay_" .. clay[1])
end
-- stairs redo
elseif stairs_mod and stairs.mod then
stairs.register_all("bakedclay_" .. clay[1], "bakedclay:" .. clay[1],
{cracky = 3},
{"baked_clay_" .. clay[1] .. ".png"},
clay[2] .. " Baked Clay",
clay[2] .. " " .. S("Baked Clay"),
default.node_sound_stone_defaults())
-- default stairs
elseif stairs_mod then
stairs.register_stair_and_slab("bakedclay_".. clay[1], "bakedclay:".. clay[1],
{cracky = 3},
{"baked_clay_" .. clay[1] .. ".png"},
clay[2] .. " Baked Clay Stair",
clay[2] .. " Baked Clay Slab",
clay[2] .. " " .. S("Baked Clay Stair"),
clay[2] .. " " .. S("Baked Clay Slab"),
default.node_sound_stone_defaults())
end
-- register bakedclay for use in technic_cnc mod
-- register bakedclay for use in technic_cnc mod after all mods loaded
if techcnc_mod then
minetest.register_on_mods_loaded(function()
technic_cnc.register_all("bakedclay:" .. clay[1],
{cracky = 3, not_in_creative_inventory = 1},
{"baked_clay_" .. clay[1] .. ".png"},
clay[2] .. " Baked Clay")
end)
end
end
-- Terracotta blocks
for _, clay in pairs(clay) do
if clay[1] ~= "natural" then
@ -106,7 +129,7 @@ for _, clay in pairs(clay) do
local texture = "baked_clay_terracotta_" .. clay[1] ..".png"
minetest.register_node("bakedclay:terracotta_" .. clay[1], {
description = clay[2] .. " Glazed Terracotta",
description = clay[2] .. " " .. S("Glazed Terracotta"),
tiles = {
texture .. "",
texture .. "",
@ -118,6 +141,7 @@ for _, clay in pairs(clay) do
paramtype2 = "facedir",
groups = {cracky = 3, terracotta = 1},
sounds = default.node_sound_stone_defaults(),
is_ground_content = false,
on_place = minetest.rotate_node
})
@ -131,7 +155,8 @@ end
minetest.register_alias("bakedclay:terracotta_light_blue", "bakedclay:terracotta_cyan")
-- cook clay block into white baked clay
-- cook clay block into natural baked clay
minetest.register_craft({
type = "cooking",
output = "bakedclay:natural",
@ -139,35 +164,34 @@ minetest.register_craft({
})
-- register a few extra dye colour options
minetest.register_craft( {
type = "shapeless",
minetest.register_craft({
output = "dye:green 4",
recipe = {"default:cactus"}
recipe = {{"default:cactus"}}
})
minetest.register_craft( {
type = "shapeless",
minetest.register_craft({
output = "dye:brown 4",
recipe = {"default:dry_shrub"}
recipe = {{"default:dry_shrub"}}
})
-- 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"}
recipe = {{"dye:black", "dye:black", "dye:white"}}
})
minetest.register_craft( {
type = "shapeless",
output = "dye:grey 3",
recipe = {"dye:black", "dye:white", "dye:white"}
recipe = {{"dye:black", "dye:white", "dye:white"}}
})
end
-- 2x2 red baked clay makes 16x clay brick
minetest.register_craft( {
output = "default:clay_brick 16",
recipe = {
@ -177,6 +201,7 @@ minetest.register_craft( {
})
-- colored clay compatibility
if minetest.settings:get_bool("colored_clay_compatibility") == true then
local cc = {
@ -213,12 +238,15 @@ if minetest.settings:get_bool("colored_clay_compatibility") == true then
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

View File

@ -23,7 +23,7 @@ THE SOFTWARE.
Textures by TenPlus1 (CC0) unless listed below
Textures by Amara2_MK (CC0)
Textures by Amara2_MK (Creative Commons)
https://www.curseforge.com/minecraft/texture-packs/glazed-terracotta-revamp
baked_clay_terracotta*.png

25
locale/bakedclay.es.tr Normal file
View File

@ -0,0 +1,25 @@
# textdomain: bakedclay
Blue Delphinium=Delfinio Azul
Thistle=Cardo
Lazarus Bell=Campana Lázaro
Reed Mannagrass=Césped de caña
Natural=Natural
White=Blanco
Grey=Gris
Black=Negro
Red=Rojo
Yellow=Amarillo
Green=Verde
Cyan=Celeste
Blue=Azul
Magenta=Magenta
Orange=Naranja
Violet=Violeta
Brown=Cáfe
Pink=Rosa
Dark Grey=Gris Oscuro
Dark Green=Verde Oscuro
Baked Clay=Barro Cocido
Baked Clay Stair=Escalera de Barro Cocido
Baked Clay Slab=Losa de Barro Cocido
Glazed Terracotta=Terracota esmaltada.

25
locale/template.txt Normal file
View File

@ -0,0 +1,25 @@
# textdomain: bakedclay
Blue Delphinium=
Thistle=
Lazarus Bell=
Reed Mannagrass=
Natural=
White=
Grey=
Black=
Red=
Yellow=
Green=
Cyan=
Blue=
Magenta=
Orange=
Violet=
Brown=
Pink=
Dark Grey=
Dark Green=
Baked Clay=
Baked Clay Stair=
Baked Clay Slab=
Glazed Terracotta=

View File

@ -1,64 +1,65 @@
-- helpers
local p = "bakedclay:"
local p2 = "bakedclay:terracotta_"
-- add lucky blocks
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"
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"
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},
{"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"
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({
{name = p .. "natural", max = 20},
{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}
}},
{"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}
{name = p2 .. "black", max = 20},
{name = p2 .. "blue", max = 20},
{name = p2 .. "brown", max = 20},
{name = p2 .. "cyan", max = 20},
{name = p2 .. "dark_green", max = 20},
{name = p2 .. "dark_grey", max = 20},
{name = p2 .. "green", max = 20},
{name = p2 .. "grey", max = 20},
{name = p2 .. "magenta", max = 20},
{name = p2 .. "orange", max = 20},
{name = p2 .. "pink", max = 20},
{name = p2 .. "red", max = 20},
{name = p2 .. "violet", max = 20},
{name = p2 .. "white", max = 20},
{name = p2 .. "yellow", max = 20}
}}
})

View File

@ -1,4 +1,5 @@
name = bakedclay
description = Bake clay blocks and colour with dye, also has Terracotta designs.
depends = default
optional_depends = stairs, moreblocks, lucky_block, technic_cnc, flowerpot
description = Adds the ability to bake clay into blocks and colour them with dye.
optional_depends = stairs, moreblocks, lucky_block, flowerpot
min_minetest_version = 5.0

View File

@ -1,2 +1,5 @@
# Registers compatibility aliases with the older colored_clay mod
colored_clay_compatibility (Colored Clay Compatibility) bool false
# Registers compatibility aliases in older worlds for StairsPlus mod
stairsplus_clay_compatibility (StairsPlus Stair Compatibility) bool true