Compare commits

..

1 Commits
master ... old

Author SHA1 Message Date
sys4-fr
c2eacb1b5e Corrige la restitution du dye quand le bloc multicolore est récolté 2018-11-23 23:37:06 +01:00
13 changed files with 122 additions and 482 deletions

View File

@ -1,10 +0,0 @@
name: luacheck
on: [push, pull_request]
jobs:
luacheck:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@master
- name: Luacheck
uses: lunarmodules/luacheck@master

View File

@ -1,9 +0,0 @@
read_globals = {
"minetest",
"unifieddyes",
"default"
}
globals = {
"unifiedbricks"
}

4
depends.txt Normal file
View File

@ -0,0 +1,4 @@
default
bucket
unifieddyes
vessels

1
description.txt Normal file
View File

@ -0,0 +1 @@
This mod allows the user to re-color default bricks using Unified Dyes, and provides some pattern variations as well.

577
init.lua
View File

@ -1,5 +1,5 @@
--Unified Bricks by Vsevolod Borislav (wowiamdiamonds) --Unified Bricks by Vsevolod Borislav (wowiamdiamonds)
--Modified by sys4 for NALC server --
--License: WTFPL --License: WTFPL
-- --
--Depends: default, bucket, unifieddyes, vessels --Depends: default, bucket, unifieddyes, vessels
@ -10,14 +10,13 @@
unifiedbricks = {} unifiedbricks = {}
unifiedbricks.old_static_list = {} unifiedbricks.old_static_list = {}
unifiedbricks.old_static_list_formals = {} unifiedbricks.old_static_list_formals = {}
unifiedbricks.old_colouredstonebrick_list = {}
minetest.register_alias("unifieddyes:white","unifieddyes:white_paint") minetest.register_alias("unifieddyes:white","unifieddyes:white_paint")
minetest.register_alias("unifieddyes:lightgrey","unifieddyes:lightgrey_paint") minetest.register_alias("unifieddyes:lightgrey","unifieddyes:lightgrey_paint")
minetest.register_alias("unifieddyes:grey","unifieddyes:grey_paint") minetest.register_alias("unifieddyes:grey","unifieddyes:grey_paint")
minetest.register_alias("unifieddyes:darkgrey","unifieddyes:darkgrey_paint") minetest.register_alias("unifieddyes:darkgrey","unifieddyes:darkgrey_paint")
local HUES = { HUES = {
"red", "red",
"orange", "orange",
"yellow", "yellow",
@ -36,18 +35,25 @@ local HUES = {
"lightgrey", "lightgrey",
"white" "white"
} }
local SATURATION = { TYPES = {
"clayblock_",
"clay_",
"brick_",
"brickblock_",
"multicolor_"
}
SATURATION = {
"_s50", "_s50",
"" ""
} }
local DARKNESS = { DARKNESS = {
"dark_", "dark_",
"medium_", "medium_",
"", "",
"light_" "light_"
} }
--formal versions --formal versions
local FORMALHUES = { FORMALHUES = {
"Red", "Red",
"Orange", "Orange",
"Yellow", "Yellow",
@ -66,69 +72,26 @@ local FORMALHUES = {
"Light grey", "Light grey",
"White" "White"
} }
local FORMALSATURATION = { FORMALTYPES = {
" clay",
" clay lump",
" brick",
" bricks",
" multicolor bricks"
}
FORMALSATURATION = {
" (low saturation)", " (low saturation)",
"" ""
} }
local FORMALDARKNESS = { FORMALDARKNESS = {
"Dark ", "Dark ",
"Medium ", "Medium ",
"Bright ", "Bright ",
"Light " "Light "
} }
-- colouredstonebricks mod colors
local old_colors = {"black", "cyan", "brown", "dark_blue", "dark_green",
"dark_grey", "dark_pink", "green", "grey", "orange",
"pink", "purple", "red", "white", "yellow"
}
local function get_class_shape(brick_type, name)
local a = string.find(name, ":")
local b = string.find(name, "_")
local c = 0
if brick_type == "stonebrick" then
c = 11
elseif brick_type == "brick" then
c = 6
elseif brick_type == "brick_multicolor_dark" then
c = 22
elseif brick_type == "brick_multicolor_medium" then
c = 24
elseif brick_type == "brick_multicolor_light" then
c = 23
end
local class = string.sub(name, a+1, b-1)
local shape = ""
if class == "stair" or class == "slab" or class == "panel" or
class == "micro" or class == "slope" then
shape = string.sub(name, b+c)
end
return class, shape
end
-- param2-coloring-enabled nodes -- param2-coloring-enabled nodes
minetest.register_node("unifiedbricks:stonebrick", {
description = "Stone Brick",
tiles = {"colouredstonebricks_white.png"},
paramtype2 = "color",
palette = "unifieddyes_palette_extended.png",
is_ground_content = false,
groups = {cracky=3, not_in_creative_inventory=1, ud_param2_colorable = 1},
sounds = default.node_sound_stone_defaults(),
on_construct = unifieddyes.on_construct,
on_dig = unifieddyes.on_dig,
})
minetest.override_item("default:stonebrick", {
palette = "unifieddyes_palette_extended.png",
airbrush_replacement_node = "unifiedbricks:stonebrick",
groups = {cracky = 3, ud_param2_colorable = 1},
})
minetest.register_node("unifiedbricks:brickblock", { minetest.register_node("unifiedbricks:brickblock", {
description = "Brick Block", description = "Brick Block",
tiles = { tiles = {
@ -140,17 +103,21 @@ minetest.register_node("unifiedbricks:brickblock", {
paramtype = "light", paramtype = "light",
paramtype2 = "color", paramtype2 = "color",
palette = "unifieddyes_palette_extended.png", palette = "unifieddyes_palette_extended.png",
is_ground_content = false, place_param2 = 240,
is_ground_content = true,
groups = {cracky=3, not_in_creative_inventory=1, ud_param2_colorable = 1}, groups = {cracky=3, not_in_creative_inventory=1, ud_param2_colorable = 1},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults(),
on_construct = unifieddyes.on_construct, on_construct = unifieddyes.on_construct,
on_dig = unifieddyes.on_dig, after_place_node = unifieddyes.recolor_on_place,
after_dig_node = unifieddyes.after_dig_node,
drop = "default:brick"
}) })
minetest.override_item("default:brick", { minetest.override_item("default:brick", {
ud_replacement_node = "unifiedbricks:brickblock",
palette = "unifieddyes_palette_extended.png", palette = "unifieddyes_palette_extended.png",
airbrush_replacement_node = "unifiedbricks:brickblock",
groups = {cracky = 3, ud_param2_colorable = 1}, groups = {cracky = 3, ud_param2_colorable = 1},
after_place_node = unifieddyes.recolor_on_place
}) })
minetest.register_node("unifiedbricks:clayblock", { minetest.register_node("unifiedbricks:clayblock", {
@ -160,40 +127,26 @@ minetest.register_node("unifiedbricks:clayblock", {
}, },
paramtype2 = "color", paramtype2 = "color",
palette = "unifieddyes_palette_extended.png", palette = "unifieddyes_palette_extended.png",
is_ground_content = false, place_param2 = 240,
is_ground_content = true,
groups = {crumbly=3, not_in_creative_inventory=1, ud_param2_colorable = 1}, groups = {crumbly=3, not_in_creative_inventory=1, ud_param2_colorable = 1},
sounds = default.node_sound_dirt_defaults({ sounds = default.node_sound_dirt_defaults({
footstep = "", footstep = "",
}), }),
on_construct = unifieddyes.on_construct, on_construct = unifieddyes.on_construct,
on_dig = unifieddyes.on_dig, after_place_node = unifieddyes.recolor_on_place,
after_dig_node = unifieddyes.after_dig_node,
drop = "default:clay"
}) })
minetest.override_item("default:clay", { minetest.override_item("default:clay", {
ud_replacement_node = "unifiedbricks:clayblock",
palette = "unifieddyes_palette_extended.png", palette = "unifieddyes_palette_extended.png",
airbrush_replacement_node = "unifiedbricks:clayblock",
groups = {crumbly = 3, ud_param2_colorable = 1}, groups = {crumbly = 3, ud_param2_colorable = 1},
after_place_node = unifieddyes.recolor_on_place,
}) })
minetest.register_node("unifiedbricks:brickblock_multicolor_dark", { minetest.register_node("unifiedbricks:brickblock_multicolor_dark", {
description = "Brick block (dark multicolor)",
tiles = {
"unifiedbricks_brickblock_multicolor_dark.png"
},
overlay_tiles = {
{ name = "unifiedbricks_mortar.png", color = "white" }
},
paramtype = "light",
paramtype2 = "color",
palette = "unifieddyes_palette_extended.png",
is_ground_content = false,
groups = {cracky=3, ud_param2_colorable = 1, not_in_creative_inventory=1},
sounds = default.node_sound_stone_defaults(),
on_construct = unifieddyes.on_construct,
on_dig = unifieddyes.on_dig,
})
minetest.register_node("unifiedbricks:brick_multicolor_dark", {
description = "Brick block (dark multicolor)", description = "Brick block (dark multicolor)",
tiles = { tiles = {
"unifiedbricks_brickblock_multicolor_dark.png", "unifiedbricks_brickblock_multicolor_dark.png",
@ -201,13 +154,17 @@ minetest.register_node("unifiedbricks:brick_multicolor_dark", {
overlay_tiles = { overlay_tiles = {
{ name = "unifiedbricks_mortar2.png", color = "white" } { name = "unifiedbricks_mortar2.png", color = "white" }
}, },
paramtype = "light",
paramtype2 = "color",
palette = "unifieddyes_palette_extended.png", palette = "unifieddyes_palette_extended.png",
airbrush_replacement_node = "unifiedbricks:brickblock_multicolor_dark", place_param2 = 240,
paramtype2 = "facedir", is_ground_content = true,
place_param2 = 0, groups = {cracky=3, ud_param2_colorable = 1},
is_ground_content = false,
groups = {cracky = 3, ud_param2_colorable = 1},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults(),
on_construct = unifieddyes.on_construct,
after_place_node = unifieddyes.recolor_on_place,
after_dig_node = unifieddyes.after_dig_node,
drop = "unifiedbricks:brickblock_multicolor_dark"
}) })
minetest.register_node("unifiedbricks:brickblock_multicolor_medium", { minetest.register_node("unifiedbricks:brickblock_multicolor_medium", {
@ -216,33 +173,19 @@ minetest.register_node("unifiedbricks:brickblock_multicolor_medium", {
"unifiedbricks_brickblock_multicolor_medium.png" "unifiedbricks_brickblock_multicolor_medium.png"
}, },
overlay_tiles = { overlay_tiles = {
{ name = "unifiedbricks_mortar.png", color = "white" } { name = "unifiedbricks_mortar3.png", color = "white" }
}, },
paramtype = "light", paramtype = "light",
paramtype2 = "color", paramtype2 = "color",
palette = "unifieddyes_palette_extended.png", palette = "unifieddyes_palette_extended.png",
is_ground_content = false, place_param2 = 240,
groups = {cracky=3, ud_param2_colorable = 1, not_in_creative_inventory=1}, is_ground_content = true,
groups = {cracky=3, ud_param2_colorable = 1},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults(),
on_construct = unifieddyes.on_construct, on_construct = unifieddyes.on_construct,
on_dig = unifieddyes.on_dig, after_place_node = unifieddyes.recolor_on_place,
}) after_dig_node = unifieddyes.after_dig_node,
drop = "unifiedbricks:brickblock_multicolor_medium"
minetest.register_node("unifiedbricks:brick_multicolor_medium", {
description = "Brick block (medium multicolor)",
tiles = {
"unifiedbricks_brickblock_multicolor_medium.png",
},
overlay_tiles = {
{ name = "unifiedbricks_mortar3.png", color = "white" }
},
palette = "unifieddyes_palette_extended.png",
airbrush_replacement_node = "unifiedbricks:brickblock_multicolor_medium",
paramtype2 = "facedir",
place_param2 = 0,
is_ground_content = false,
groups = {cracky = 3, ud_param2_colorable = 1},
sounds = default.node_sound_stone_defaults(),
}) })
minetest.register_node("unifiedbricks:brickblock_multicolor_light", { minetest.register_node("unifiedbricks:brickblock_multicolor_light", {
@ -251,49 +194,24 @@ minetest.register_node("unifiedbricks:brickblock_multicolor_light", {
"unifiedbricks_brickblock_multicolor_light.png" "unifiedbricks_brickblock_multicolor_light.png"
}, },
overlay_tiles = { overlay_tiles = {
{ name = "unifiedbricks_mortar.png", color = "white" } { name = "unifiedbricks_mortar4.png", color = "white" }
}, },
paramtype = "light", paramtype = "light",
paramtype2 = "color", paramtype2 = "color",
palette = "unifieddyes_palette_extended.png", palette = "unifieddyes_palette_extended.png",
is_ground_content = false, place_param2 = 240,
groups = {cracky=3, ud_param2_colorable = 1, not_in_creative_inventory=1}, is_ground_content = true,
groups = {cracky=3, ud_param2_colorable = 1},
sounds = default.node_sound_stone_defaults(), sounds = default.node_sound_stone_defaults(),
on_construct = unifieddyes.on_construct, on_construct = unifieddyes.on_construct,
on_dig = unifieddyes.on_dig, after_place_node = unifieddyes.recolor_on_place,
}) after_dig_node = unifieddyes.after_dig_node,
drop ="unifiedbricks:brickblock_multicolor_light"
minetest.register_node("unifiedbricks:brick_multicolor_light", {
description = "Brick block (light multicolor)",
tiles = {
"unifiedbricks_brickblock_multicolor_light.png",
},
overlay_tiles = {
{ name = "unifiedbricks_mortar4.png", color = "white" }
},
palette = "unifieddyes_palette_extended.png",
airbrush_replacement_node = "unifiedbricks:brickblock_multicolor_light",
paramtype2 = "facedir",
place_param2 = 0,
is_ground_content = false,
groups = {cracky = 3, ud_param2_colorable = 1},
sounds = default.node_sound_stone_defaults(),
})
unifieddyes.register_color_craft({
output = "unifiedbricks:stonebrick",
palette = "extended",
neutral_node = "default:stonebrick",
type = "shapeless",
recipe = {
"NEUTRAL_NODE",
"MAIN_DYE"
}
}) })
minetest.register_craft( { minetest.register_craft( {
type = "shapeless", type = "shapeless",
output = "unifiedbricks:brick_multicolor_dark", output = "unifiedbricks:brickblock_multicolor_dark",
recipe = { recipe = {
"default:brick", "default:brick",
"unifieddyes:grey", "unifieddyes:grey",
@ -304,7 +222,7 @@ minetest.register_craft( {
minetest.register_craft( { minetest.register_craft( {
type = "shapeless", type = "shapeless",
output = "unifiedbricks:brick_multicolor_medium", output = "unifiedbricks:brickblock_multicolor_medium",
recipe = { recipe = {
"default:brick", "default:brick",
"unifieddyes:white", "unifieddyes:white",
@ -315,7 +233,7 @@ minetest.register_craft( {
minetest.register_craft( { minetest.register_craft( {
type = "shapeless", type = "shapeless",
output = "unifiedbricks:brick_multicolor_light", output = "unifiedbricks:brickblock_multicolor_light",
recipe = { recipe = {
"default:brick", "default:brick",
"unifieddyes:white", "unifieddyes:white",
@ -324,215 +242,6 @@ minetest.register_craft( {
}, },
}) })
unifieddyes.register_color_craft({
output = "unifiedbricks:brickblock",
palette = "extended",
neutral_node = "default:brick",
type = "shapeless",
recipe = {
"NEUTRAL_NODE",
"MAIN_DYE"
}
})
unifieddyes.register_color_craft({
output = "unifiedbricks:clayblock",
palette = "extended",
neutral_node = "default:clay",
type = "shapeless",
recipe = {
"NEUTRAL_NODE",
"MAIN_DYE"
}
})
unifieddyes.register_color_craft({
output = "unifiedbricks:brickblock_multicolor_dark",
palette = "extended",
neutral_node = "unifiedbricks:brick_multicolor_dark",
type = "shapeless",
recipe = {
"NEUTRAL_NODE",
"MAIN_DYE"
}
})
unifieddyes.register_color_craft({
output = "unifiedbricks:brickblock_multicolor_medium",
palette = "extended",
neutral_node = "unifiedbricks:brick_multicolor_medium",
type = "shapeless",
recipe = {
"NEUTRAL_NODE",
"MAIN_DYE"
}
})
unifieddyes.register_color_craft({
output = "unifiedbricks:brickblock_multicolor_light",
palette = "extended",
neutral_node = "unifiedbricks:brick_multicolor_light",
type = "shapeless",
recipe = {
"NEUTRAL_NODE",
"MAIN_DYE"
}
})
-- stairsplus
if minetest.get_modpath("moreblocks") then
local brick_types = {
stonebrick = {
name = "stonebrick",
base_node = "default:stonebrick",
description = " Stone Brick",
tiles = {"colouredstonebricks_white.png"},
overlay_tiles = nil,
substring_count = 26,
substring_short = "stonebric",
substring_long = "stonebrick",
},
brick = {
name = "brickblock",
base_node = "default:brick",
description = " Brick Block",
tiles = {"unifiedbricks_brickblock.png"},
overlay_tiles = {{ name = "unifiedbricks_mortar.png", color = "white" }},
substring_count = 21,
substring_short = "bric",
substring_long = "brick",
},
brick_multicolor_dark = {
name = "brickblock_multicolor_dark",
base_node = "unifiedbricks:brick_multicolor_dark",
base_name = "brick_multicolor_dark",
description = " Brick Block (dark multicolor)",
tiles = {"unifiedbricks_brickblock_multicolor_dark.png"},
overlay_tiles = {{ name = "unifiedbricks_mortar2.png", color = "white" }},
substring_count = 39,
substring_short = "brick_multicolor_da",
substring_long = "brick_multicolor_dar",
},
brick_multicolor_medium = {
name = "brickblock_multicolor_medium",
base_node = "unifiedbricks:brick_multicolor_medium",
base_name = "brick_multicolor_medium",
description = " Brick Block (medium multicolor)",
tiles = {"unifiedbricks_brickblock_multicolor_medium.png"},
overlay_tiles = {{ name = "unifiedbricks_mortar3.png", color = "white" }},
substring_count = 39,
substring_short = "brick_multicolor_me",
substring_long = "brick_multicolor_med",
},
brick_multicolor_light = {
name = "brickblock_multicolor_light",
base_node = "unifiedbricks:brick_multicolor_light",
base_name = "brick_multicolor_light",
description = " Brick Block (light multicolor)",
tiles = {"unifiedbricks_brickblock_multicolor_light.png"},
overlay_tiles = {{ name = "unifiedbricks_mortar4.png", color = "white" }},
substring_count = 39,
substring_short = "brick_multicolor_li",
substring_long = "brick_multicolor_lig",
},
}
for brick_type, def in pairs(brick_types) do
local groups2 = table.copy(minetest.registered_items[def.base_node].groups)
groups2.ud_param2_colorable = 1
groups2.not_in_creative_inventory=1
if brick_type == "brick_multicolor_dark" or brick_type == "brick_multicolor_medium" or
brick_type == "brick_multicolor_light" then
stairsplus:register_all(
"unifiedbricks",
def.base_name,
def.base_node, {
description = def.description,
tiles = def.tiles,
overlay_tiles = def.overlay_tiles,
paramtype = "light",
groups = groups2,
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
end
for _, color in ipairs(unifieddyes.HUES_WITH_GREY) do
stairsplus:register_all(
"unifiedbricks",
def.name.."_"..color,
"unifiedbricks:"..def.name.."_"..color, {
description = color..def.description,
tiles = def.tiles,
overlay_tiles = def.overlay_tiles,
paramtype = "light",
paramtype2 = "colorfacedir",
palette = "unifieddyes_palette_"..color.."s.png",
on_dig = unifieddyes.on_dig,
groups = groups2,
sounds = default.node_sound_stone_defaults(),
sunlight_propagates = true,
})
end
end
for _, i in pairs(minetest.registered_nodes) do
for brick_type, def in pairs(brick_types) do
local chk = string.sub(i.name, 1, def.substring_count)
local sub_type = "unifiedbricks:"
if brick_type == "stonebrick" or brick_type == "brick" then
sub_type = "moreblocks:"
end
if chk == sub_type.."stair_"..def.substring_short
or chk == sub_type.."slab_"..def.substring_long
or chk == sub_type.."panel_"..def.substring_short
or chk == sub_type.."micro_"..def.substring_short
or chk == sub_type.."slope_"..def.substring_short then
local groups2 = table.copy(minetest.registered_items[i.name].groups)
groups2.ud_param2_colorable = 1
groups2.not_in_creative_inventory=1
local class, shape = get_class_shape(brick_type, i.name)
minetest.override_item(i.name, {
groups = groups2,
paramtype2 = "colorfacedir",
palette = "unifieddyes_palette_greys.png",
airbrush_replacement_node = "unifiedbricks:"..class.."_"..def.name.."_grey"..shape,
drop = sub_type..class.."_"..brick_type..shape, -- Fix drop
})
unifieddyes.register_color_craft({
output_prefix = "unifiedbricks:"..class.."_"..def.name.."_",
output_suffix = shape,
palette = "split",
type = "shapeless",
neutral_node = i.name,
recipe = {
"NEUTRAL_NODE",
"MAIN_DYE",
}
})
-- Old colouredstonebricks stairsplus nodes list
if brick_type == "stonebrick" then
for _, color in ipairs(old_colors) do
table.insert(unifiedbricks.old_colouredstonebrick_list,
"colouredstonebricks:"..class.."_"..color..shape)
end
end
end
end
end
end
-- static nodes -- static nodes
unifiedbricks.register_old_static_block = function(name, formalname, blocktype) unifiedbricks.register_old_static_block = function(name, formalname, blocktype)
@ -550,16 +259,12 @@ table.insert(unifiedbricks.old_static_list, "unifiedbricks:multicolor_darkgrey")
table.insert(unifiedbricks.old_static_list, "unifiedbricks:multicolor_grey") table.insert(unifiedbricks.old_static_list, "unifiedbricks:multicolor_grey")
table.insert(unifiedbricks.old_static_list, "unifiedbricks:multicolor_lightgrey") table.insert(unifiedbricks.old_static_list, "unifiedbricks:multicolor_lightgrey")
for _, color in ipairs(old_colors) do
table.insert(unifiedbricks.old_colouredstonebrick_list, "colouredstonebricks:"..color)
end
--REGISTERS ALL STATIC NODES EXCEPT MULTICOLOR BRICK BLOCKS --REGISTERS ALL STATIC NODES EXCEPT MULTICOLOR BRICK BLOCKS
for i = 1,17 do for i = 1,17 do
for j = 1,4 do for j = 1,4 do
if i > 12 then if i > 12 then
local formalname = FORMALHUES[i] formalname = FORMALHUES[i]
local name = HUES[i] name = HUES[i]
if j == 1 then if j == 1 then
unifiedbricks.register_old_static_block(name, formalname, "clayblock") unifiedbricks.register_old_static_block(name, formalname, "clayblock")
elseif j == 4 then elseif j == 4 then
@ -567,7 +272,6 @@ for i = 1,17 do
end end
else else
for k = 1,4 do for k = 1,4 do
local formalname, name
if k == 4 then if k == 4 then
formalname = FORMALDARKNESS[k] .. FORMALHUES[i] formalname = FORMALDARKNESS[k] .. FORMALHUES[i]
name = DARKNESS[k] .. HUES[i] name = DARKNESS[k] .. HUES[i]
@ -595,118 +299,71 @@ end
-- convert in-map static nodes to use param2 coloring -- convert in-map static nodes to use param2 coloring
minetest.register_lbm({ minetest.register_lbm({
name = "unifiedbricks:convert_colouredstonebrick", name = "unifiedbricks:convert_brickblocks",
label = "Convert coloured stone bricks to use param2 color", label = "Convert clay blocks and single-color brick blocks to use param2 color",
run_at_every_load = false, run_at_every_load = false,
nodenames = unifiedbricks.old_colouredstonebrick_list, nodenames = unifiedbricks.old_static_list,
action = function(pos, node) action = function(pos, node)
local name = node.name local name = node.name
local t = string.find(name, "_")
local type = string.sub(name, 1, t - 1)
local color1 = string.sub(name, t + 1)
local a = string.find(name, ":") local color2 = string.gsub(color1, "grey", "_grey")
local b = string.find(name, "_") or 0 if color2 == "_grey" then color2 = "grey" end
local colorclass = string.sub(name, a+1) local paletteidx, hue = unifieddyes.getpaletteidx("unifieddyes:"..color2, "extended")
if b > 0 then
colorclass = string.sub(name, a+1, b-1)
end
local class = ""
local color = ""
local shape = ""
if colorclass == "stair" or colorclass == "slab" or class == "panel" or
colorclass == "micro" or colorclass == "slope" then
class = colorclass
local colorshape = string.sub(name, b+1)
local c,d = string.find(colorshape, "dark_")
if not c then c = 0 end
if not d then d = 0 end
local colshapetemp = string.sub(colorshape, d+1)
c = string.find(colshapetemp, "_") or 0
shape = string.sub(colshapetemp, c)
if colshapetemp == shape then
shape = ""
color = colorshape
else
c,d = string.find(colorshape, shape)
color = string.sub(colorshape, 1, c-1)
end
else
color = string.sub(name, a+1)
end
local old_param2 = minetest.get_node(pos).param2
local palette = "extended"
if class ~= "" then
palette = "split"
class = class.."_"
end
if color == "dark_pink" then color = "magenta" end
if color == "purple" then color = "violet" end
local paletteidx, hue = unifieddyes.getpaletteidx("unifieddyes:"..color, palette)
if not paletteidx or not hue then return end if not paletteidx or not hue then return end
if palette ~= "extended" and color ~= "" then if string.find(type, "multicolor") then
color = "_"..color
else
color = ""
end
if color == "_black" or color == "_white" or color == "_dark_grey" then local newpalette = (hue*8)+1
color = "_grey" local shade
end
minetest.set_node(pos, { name = "unifiedbricks:"..class.."stonebrick"..color..shape, param2 = paletteidx+old_param2 }) if string.find(name, "dark") then
shade = "dark"
elseif string.find(name, "medium")
or name == "unifiedbricks:multicolor_grey" then
shade = "medium"
else
shade = "light"
end
if string.find(name, "grey") then
newpalette = 2
end
minetest.set_node(pos, { name = "unifiedbricks:brickblock_multicolor_"..shade, param2 = newpalette })
elseif string.find(type, "brickblock") then
minetest.set_node(pos, { name = "unifiedbricks:brickblock", param2 = paletteidx })
elseif string.find(type, "clayblock") then
minetest.set_node(pos, { name = "unifiedbricks:clayblock", param2 = paletteidx })
end
local meta = minetest.get_meta(pos)
meta:set_string("dye", "unifieddyes:"..color1)
meta:set_string("palette", "ext")
end
})
minetest.register_lbm({
name = "unifiedbricks:recolor_bricks",
label = "Convert 89-color bricks to use UD extended palette",
run_at_every_load = false,
nodenames = {
"unifiedbricks:clayblock",
"unifiedbricks:brickblock",
"unifiedbricks:brickblock_multicolor_dark",
"unifiedbricks:brickblock_multicolor_medium",
"unifiedbricks:brickblock_multicolor_light",
},
action = function(pos, node)
local meta = minetest.get_meta(pos)
if meta:get_string("palette") ~= "ext" then
minetest.swap_node(pos, { name = node.name, param2 = unifieddyes.convert_classic_palette[node.param2] })
meta:set_string("palette", "ext")
end
end end
}) })
--minetest.register_lbm({
-- name = "unifiedbricks:convert_brickblocks",
-- label = "Convert clay blocks and single-color brick blocks to use param2 color",
-- run_at_every_load = false,
-- nodenames = unifiedbricks.old_static_list,
-- action = function(pos, node)
--
-- local name = node.name
-- local t = string.find(name, "_")
-- local type = string.sub(name, 1, t - 1)
-- local color1 = string.sub(name, t + 1)
--
-- local color2 = string.gsub(color1, "grey", "_grey")
-- if color2 == "_grey" then color2 = "grey" end
--
-- local paletteidx, hue = unifieddyes.getpaletteidx("unifieddyes:"..color2, "extended")
-- if not paletteidx or not hue then return end
--
-- if string.find(type, "multicolor") then
--
-- local newpalette = (hue*8)+1
-- local shade
--
-- if string.find(name, "dark") then
-- shade = "dark"
-- elseif string.find(name, "medium")
-- or name == "unifiedbricks:multicolor_grey" then
-- shade = "medium"
-- else
-- shade = "light"
-- end
-- if string.find(name, "grey") then
-- newpalette = 2
-- end
--
-- minetest.set_node(pos, { name = "unifiedbricks:brickblock_multicolor_"..shade, param2 = newpalette })
--
-- elseif string.find(type, "brickblock") then
-- minetest.set_node(pos, { name = "unifiedbricks:brickblock", param2 = paletteidx })
-- elseif string.find(type, "clayblock") then
-- minetest.set_node(pos, { name = "unifiedbricks:clayblock", param2 = paletteidx })
-- end
-- local meta = minetest.get_meta(pos)
-- meta:set_string("dye", "unifieddyes:"..color1)
-- meta:set_string("palette", "ext")
-- end
--})
print("[UnifiedBricks] Loaded!") print("[UnifiedBricks] Loaded!")

View File

@ -1,4 +1 @@
name = unifiedbricks name = unifiedbricks
description = This mod allows the user to re-color default bricks using Unified Dyes, and provides some pattern variations as well.
depends = default, bucket, unifieddyes, vessels
optional_depends = moreblocks

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 234 B

After

Width:  |  Height:  |  Size: 118 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 264 B

After

Width:  |  Height:  |  Size: 389 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

After

Width:  |  Height:  |  Size: 247 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

After

Width:  |  Height:  |  Size: 247 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

After

Width:  |  Height:  |  Size: 247 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 170 B

After

Width:  |  Height:  |  Size: 247 B