Compare commits
13 Commits
Author | SHA1 | Date |
---|---|---|
bri cassa | 919c6861e6 | |
bri cassa | df984afcde | |
bri cassa | 05e03901ca | |
Niklp | 1011023d6c | |
bri cassa | a083365df9 | |
ROllerozxa | f341d63b01 | |
bri cassa | 9d1ad53d75 | |
Sys Quatre | 4e596096fa | |
Sys Quatre | f116c1d6cf | |
Sys Quatre | 304579a8ca | |
Vanessa Dannenberg | ef92eceeb6 | |
Vanessa Dannenberg | 4ef1892dbe | |
Vanessa Dannenberg | c227ceb798 |
|
@ -0,0 +1,10 @@
|
||||||
|
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
|
|
@ -0,0 +1,9 @@
|
||||||
|
read_globals = {
|
||||||
|
"minetest",
|
||||||
|
"unifieddyes",
|
||||||
|
"default"
|
||||||
|
}
|
||||||
|
|
||||||
|
globals = {
|
||||||
|
"unifiedbricks"
|
||||||
|
}
|
|
@ -1,4 +0,0 @@
|
||||||
default
|
|
||||||
bucket
|
|
||||||
unifieddyes
|
|
||||||
vessels
|
|
|
@ -1 +0,0 @@
|
||||||
This mod allows the user to re-color default bricks using Unified Dyes, and provides some pattern variations as well.
|
|
576
init.lua
|
@ -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,13 +10,14 @@
|
||||||
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")
|
||||||
|
|
||||||
HUES = {
|
local HUES = {
|
||||||
"red",
|
"red",
|
||||||
"orange",
|
"orange",
|
||||||
"yellow",
|
"yellow",
|
||||||
|
@ -35,25 +36,18 @@ HUES = {
|
||||||
"lightgrey",
|
"lightgrey",
|
||||||
"white"
|
"white"
|
||||||
}
|
}
|
||||||
TYPES = {
|
local SATURATION = {
|
||||||
"clayblock_",
|
|
||||||
"clay_",
|
|
||||||
"brick_",
|
|
||||||
"brickblock_",
|
|
||||||
"multicolor_"
|
|
||||||
}
|
|
||||||
SATURATION = {
|
|
||||||
"_s50",
|
"_s50",
|
||||||
""
|
""
|
||||||
}
|
}
|
||||||
DARKNESS = {
|
local DARKNESS = {
|
||||||
"dark_",
|
"dark_",
|
||||||
"medium_",
|
"medium_",
|
||||||
"",
|
"",
|
||||||
"light_"
|
"light_"
|
||||||
}
|
}
|
||||||
--formal versions
|
--formal versions
|
||||||
FORMALHUES = {
|
local FORMALHUES = {
|
||||||
"Red",
|
"Red",
|
||||||
"Orange",
|
"Orange",
|
||||||
"Yellow",
|
"Yellow",
|
||||||
|
@ -72,26 +66,69 @@ FORMALHUES = {
|
||||||
"Light grey",
|
"Light grey",
|
||||||
"White"
|
"White"
|
||||||
}
|
}
|
||||||
FORMALTYPES = {
|
local FORMALSATURATION = {
|
||||||
" clay",
|
|
||||||
" clay lump",
|
|
||||||
" brick",
|
|
||||||
" bricks",
|
|
||||||
" multicolor bricks"
|
|
||||||
}
|
|
||||||
FORMALSATURATION = {
|
|
||||||
" (low saturation)",
|
" (low saturation)",
|
||||||
""
|
""
|
||||||
}
|
}
|
||||||
FORMALDARKNESS = {
|
local 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 = {
|
||||||
|
@ -103,21 +140,17 @@ minetest.register_node("unifiedbricks:brickblock", {
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "color",
|
paramtype2 = "color",
|
||||||
palette = "unifieddyes_palette_extended.png",
|
palette = "unifieddyes_palette_extended.png",
|
||||||
place_param2 = 240,
|
is_ground_content = false,
|
||||||
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,
|
||||||
after_place_node = unifieddyes.recolor_on_place,
|
on_dig = unifieddyes.on_dig,
|
||||||
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", {
|
||||||
|
@ -127,26 +160,40 @@ minetest.register_node("unifiedbricks:clayblock", {
|
||||||
},
|
},
|
||||||
paramtype2 = "color",
|
paramtype2 = "color",
|
||||||
palette = "unifieddyes_palette_extended.png",
|
palette = "unifieddyes_palette_extended.png",
|
||||||
place_param2 = 240,
|
is_ground_content = false,
|
||||||
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,
|
||||||
after_place_node = unifieddyes.recolor_on_place,
|
on_dig = unifieddyes.on_dig,
|
||||||
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",
|
||||||
|
@ -154,16 +201,13 @@ minetest.register_node("unifiedbricks:brickblock_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",
|
||||||
place_param2 = 240,
|
airbrush_replacement_node = "unifiedbricks:brickblock_multicolor_dark",
|
||||||
is_ground_content = true,
|
paramtype2 = "facedir",
|
||||||
groups = {cracky=3, ud_param2_colorable = 1},
|
place_param2 = 0,
|
||||||
|
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,
|
|
||||||
})
|
})
|
||||||
|
|
||||||
minetest.register_node("unifiedbricks:brickblock_multicolor_medium", {
|
minetest.register_node("unifiedbricks:brickblock_multicolor_medium", {
|
||||||
|
@ -172,18 +216,33 @@ minetest.register_node("unifiedbricks:brickblock_multicolor_medium", {
|
||||||
"unifiedbricks_brickblock_multicolor_medium.png"
|
"unifiedbricks_brickblock_multicolor_medium.png"
|
||||||
},
|
},
|
||||||
overlay_tiles = {
|
overlay_tiles = {
|
||||||
{ name = "unifiedbricks_mortar3.png", color = "white" }
|
{ name = "unifiedbricks_mortar.png", color = "white" }
|
||||||
},
|
},
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "color",
|
paramtype2 = "color",
|
||||||
palette = "unifieddyes_palette_extended.png",
|
palette = "unifieddyes_palette_extended.png",
|
||||||
place_param2 = 240,
|
is_ground_content = false,
|
||||||
is_ground_content = true,
|
groups = {cracky=3, ud_param2_colorable = 1, not_in_creative_inventory=1},
|
||||||
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,
|
||||||
after_place_node = unifieddyes.recolor_on_place,
|
on_dig = unifieddyes.on_dig,
|
||||||
after_dig_node = unifieddyes.after_dig_node,
|
})
|
||||||
|
|
||||||
|
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", {
|
||||||
|
@ -192,23 +251,49 @@ minetest.register_node("unifiedbricks:brickblock_multicolor_light", {
|
||||||
"unifiedbricks_brickblock_multicolor_light.png"
|
"unifiedbricks_brickblock_multicolor_light.png"
|
||||||
},
|
},
|
||||||
overlay_tiles = {
|
overlay_tiles = {
|
||||||
{ name = "unifiedbricks_mortar4.png", color = "white" }
|
{ name = "unifiedbricks_mortar.png", color = "white" }
|
||||||
},
|
},
|
||||||
paramtype = "light",
|
paramtype = "light",
|
||||||
paramtype2 = "color",
|
paramtype2 = "color",
|
||||||
palette = "unifieddyes_palette_extended.png",
|
palette = "unifieddyes_palette_extended.png",
|
||||||
place_param2 = 240,
|
is_ground_content = false,
|
||||||
is_ground_content = true,
|
groups = {cracky=3, ud_param2_colorable = 1, not_in_creative_inventory=1},
|
||||||
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,
|
||||||
after_place_node = unifieddyes.recolor_on_place,
|
on_dig = unifieddyes.on_dig,
|
||||||
after_dig_node = unifieddyes.after_dig_node,
|
})
|
||||||
|
|
||||||
|
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:brickblock_multicolor_dark",
|
output = "unifiedbricks:brick_multicolor_dark",
|
||||||
recipe = {
|
recipe = {
|
||||||
"default:brick",
|
"default:brick",
|
||||||
"unifieddyes:grey",
|
"unifieddyes:grey",
|
||||||
|
@ -219,7 +304,7 @@ minetest.register_craft( {
|
||||||
|
|
||||||
minetest.register_craft( {
|
minetest.register_craft( {
|
||||||
type = "shapeless",
|
type = "shapeless",
|
||||||
output = "unifiedbricks:brickblock_multicolor_medium",
|
output = "unifiedbricks:brick_multicolor_medium",
|
||||||
recipe = {
|
recipe = {
|
||||||
"default:brick",
|
"default:brick",
|
||||||
"unifieddyes:white",
|
"unifieddyes:white",
|
||||||
|
@ -230,7 +315,7 @@ minetest.register_craft( {
|
||||||
|
|
||||||
minetest.register_craft( {
|
minetest.register_craft( {
|
||||||
type = "shapeless",
|
type = "shapeless",
|
||||||
output = "unifiedbricks:brickblock_multicolor_light",
|
output = "unifiedbricks:brick_multicolor_light",
|
||||||
recipe = {
|
recipe = {
|
||||||
"default:brick",
|
"default:brick",
|
||||||
"unifieddyes:white",
|
"unifieddyes:white",
|
||||||
|
@ -239,6 +324,215 @@ 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)
|
||||||
|
@ -256,12 +550,16 @@ 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
|
||||||
formalname = FORMALHUES[i]
|
local formalname = FORMALHUES[i]
|
||||||
name = HUES[i]
|
local 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
|
||||||
|
@ -269,6 +567,7 @@ 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]
|
||||||
|
@ -296,71 +595,118 @@ 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_brickblocks",
|
name = "unifiedbricks:convert_colouredstonebrick",
|
||||||
label = "Convert clay blocks and single-color brick blocks to use param2 color",
|
label = "Convert coloured stone bricks to use param2 color",
|
||||||
run_at_every_load = false,
|
run_at_every_load = false,
|
||||||
nodenames = unifiedbricks.old_static_list,
|
nodenames = unifiedbricks.old_colouredstonebrick_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 color2 = string.gsub(color1, "grey", "_grey")
|
local a = string.find(name, ":")
|
||||||
if color2 == "_grey" then color2 = "grey" end
|
local b = string.find(name, "_") or 0
|
||||||
|
|
||||||
local paletteidx, hue = unifieddyes.getpaletteidx("unifieddyes:"..color2, "extended")
|
local colorclass = string.sub(name, a+1)
|
||||||
|
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 string.find(type, "multicolor") then
|
if palette ~= "extended" and color ~= "" then
|
||||||
|
color = "_"..color
|
||||||
local newpalette = (hue*8)+1
|
else
|
||||||
local shade
|
color = ""
|
||||||
|
|
||||||
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
|
||||||
|
|
||||||
|
if color == "_black" or color == "_white" or color == "_dark_grey" then
|
||||||
|
color = "_grey"
|
||||||
|
end
|
||||||
|
|
||||||
|
minetest.set_node(pos, { name = "unifiedbricks:"..class.."stonebrick"..color..shape, param2 = paletteidx+old_param2 })
|
||||||
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!")
|
||||||
|
|
3
mod.conf
|
@ -1 +1,4 @@
|
||||||
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
|
||||||
|
|
After Width: | Height: | Size: 238 B |
Before Width: | Height: | Size: 118 B After Width: | Height: | Size: 234 B |
Before Width: | Height: | Size: 389 B After Width: | Height: | Size: 264 B |
Before Width: | Height: | Size: 247 B After Width: | Height: | Size: 170 B |
Before Width: | Height: | Size: 247 B After Width: | Height: | Size: 170 B |
Before Width: | Height: | Size: 247 B After Width: | Height: | Size: 170 B |
Before Width: | Height: | Size: 247 B After Width: | Height: | Size: 170 B |