Compare commits
32 Commits
variable_l
...
master
Author | SHA1 | Date | |
---|---|---|---|
|
e7988d5867 | ||
|
aa9e57ebc3 | ||
aee34845cb | |||
|
a68dfa502c | ||
|
fc371df620 | ||
|
d1b0278c68 | ||
|
d1cdbbd5bc | ||
|
3d7ab900a0 | ||
|
827eb3e484 | ||
|
3c2ca3a606 | ||
|
5abcd8433f | ||
|
8fb5fa188e | ||
|
8cb21b1057 | ||
|
af425a67ea | ||
|
2215a44037 | ||
|
f6b10f4cbe | ||
|
9f2552a540 | ||
|
97c15ce2da | ||
|
fef736edd6 | ||
|
1fe7541f7d | ||
|
d980d1ef79 | ||
|
e78c0a8b15 | ||
|
6e1d104ffe | ||
|
7a9868bd63 | ||
|
44e9c4ea32 | ||
|
efd1200648 | ||
|
664681b2e2 | ||
|
bae9f7bd34 | ||
|
99eee07f0a | ||
|
94bbecfd3b | ||
|
b6daeecd13 | ||
|
5644b08229 |
|
@ -1,3 +0,0 @@
|
||||||
default
|
|
||||||
moreblocks
|
|
||||||
unifieddyes
|
|
16
geany_run_script.sh
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
rm $0
|
||||||
|
|
||||||
|
lua "init.lua"
|
||||||
|
|
||||||
|
echo "
|
||||||
|
|
||||||
|
------------------
|
||||||
|
(program exited with code: $?)"
|
||||||
|
|
||||||
|
|
||||||
|
echo "Press return to continue"
|
||||||
|
#to be more compatible with shells like dash
|
||||||
|
dummy_var=""
|
||||||
|
read dummy_var
|
210
init.lua
|
@ -17,6 +17,7 @@ Email: doyousketch2 @ yahoo.com
|
||||||
Unified Dyes was released under GNU-GPL 2.0, see LICENSE for info.
|
Unified Dyes was released under GNU-GPL 2.0, see LICENSE for info.
|
||||||
More Blocks was released under zlib/libpng for code and CC BY-SA 3.0 Unported for textures, see LICENSE.txt for info.
|
More Blocks was released under zlib/libpng for code and CC BY-SA 3.0 Unported for textures, see LICENSE.txt for info.
|
||||||
|
|
||||||
|
|
||||||
Additional changes by VanessaEzekowitz in July 2013 to take all items
|
Additional changes by VanessaEzekowitz in July 2013 to take all items
|
||||||
out of creative inventory.
|
out of creative inventory.
|
||||||
|
|
||||||
|
@ -25,78 +26,112 @@ changes, and to resurrect the craft recipes. Still GPL'd as far as I'm concerned
|
||||||
|
|
||||||
August 2013 -- rewritten a bit by VanessaEzekowitz to further condense the code.
|
August 2013 -- rewritten a bit by VanessaEzekowitz to further condense the code.
|
||||||
|
|
||||||
==============================================================================
|
January 2017 -- rewritten a bit more by Vanessa E. to use engine param2 colorization
|
||||||
|
and place-then-paint creation of colors. To get the pastel colors,
|
||||||
|
place super glow glass, right-click with dye to color it, then right-
|
||||||
|
click with Moreblocks' "sweeper" to "brush off" some of the color. Do
|
||||||
|
it again to change pastel to faint. Right click a pastel or faint with
|
||||||
|
some dye to re-color it (you have to dig and re-place if you want to
|
||||||
|
darken it). Crafting is no longer used to create the colors.
|
||||||
|
|
||||||
|
August 2018 -- altered to use proper colored itemstacks with crafting
|
||||||
Recipe for standard colors:
|
|
||||||
|
|
||||||
dye
|
|
||||||
super glow glass
|
|
||||||
super glow glass
|
|
||||||
super glow glass
|
|
||||||
|
|
||||||
|
|
||||||
Recipe for pastel colors:
|
|
||||||
|
|
||||||
light dye
|
|
||||||
white paint
|
|
||||||
super glow glass
|
|
||||||
super glow glass
|
|
||||||
super glow glass
|
|
||||||
|
|
||||||
|
|
||||||
Recipe for faint colors:
|
|
||||||
|
|
||||||
light dye
|
|
||||||
white paint
|
|
||||||
white paint
|
|
||||||
super glow glass
|
|
||||||
super glow glass
|
|
||||||
super glow glass
|
|
||||||
|
|
||||||
recipe for low-glow-stained-glass:
|
|
||||||
as above, but substitute 'glow glass' for super glow glass.
|
|
||||||
|
|
||||||
recipe for no-glow-stained-glass:
|
|
||||||
as regular stained glass, but substitute plain 'glass' for super glow glass
|
|
||||||
|
|
||||||
|
|
||||||
All recipes produce three stained glass blocks.
|
|
||||||
|
|
||||||
==============================================================================
|
==============================================================================
|
||||||
]]--
|
]]--
|
||||||
|
|
||||||
function makenode(arg)
|
stainedglass = {}
|
||||||
|
stainedglass.old_static_nodes = {}
|
||||||
|
|
||||||
|
local myglow = LIGHT_MAX-3
|
||||||
|
|
||||||
|
minetest.register_node("stained_glass:stained_glass", {
|
||||||
|
description = "Stained Glass",
|
||||||
|
drawtype = "glasslike_framed_optional",
|
||||||
|
tiles = { "stained_glass.png", "stained_glass_detail.png" },
|
||||||
|
paramtype = "light",
|
||||||
|
paramtype2 = "color",
|
||||||
|
palette = "unifieddyes_palette_extended.png",
|
||||||
|
sunlight_propagates = true,
|
||||||
|
use_texture_alpha = "blend",
|
||||||
|
light_source = myglow,
|
||||||
|
is_ground_content = false,
|
||||||
|
walkable = true,
|
||||||
|
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, not_in_creative_inventory=1, ud_param2_colorable = 1},
|
||||||
|
sounds = default.node_sound_glass_defaults(),
|
||||||
|
on_construct = unifieddyes.on_construct,
|
||||||
|
on_dig = unifieddyes.on_dig,
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.override_item("moreblocks:super_glow_glass", {
|
||||||
|
palette = "unifieddyes_palette_extended.png",
|
||||||
|
airbrush_replacement_node = "stained_glass:stained_glass",
|
||||||
|
groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3, ud_param2_colorable = 1},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- trap glass
|
||||||
|
|
||||||
|
minetest.register_node("stained_glass:stained_trap_glass", {
|
||||||
|
description = "Stained Trap-glass",
|
||||||
|
drawtype = "glasslike_framed_optional",
|
||||||
|
tiles = { "stained_glass.png", "stained_glass_detail.png" },
|
||||||
|
paramtype = "light",
|
||||||
|
paramtype2 = "color",
|
||||||
|
palette = "unifieddyes_palette_extended.png",
|
||||||
|
sunlight_propagates = true,
|
||||||
|
use_texture_alpha = "blend",
|
||||||
|
light_source = myglow,
|
||||||
|
is_ground_content = false,
|
||||||
|
walkable = false,
|
||||||
|
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, not_in_creative_inventory=1, ud_param2_colorable = 1},
|
||||||
|
sounds = default.node_sound_glass_defaults(),
|
||||||
|
on_construct = unifieddyes.on_construct,
|
||||||
|
on_dig = unifieddyes.on_dig,
|
||||||
|
})
|
||||||
|
|
||||||
|
minetest.override_item("moreblocks:trap_super_glow_glass", {
|
||||||
|
palette = "unifieddyes_palette_extended.png",
|
||||||
|
airbrush_replacement_node = "stained_glass:stained_trap_glass",
|
||||||
|
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, ud_param2_colorable = 1},
|
||||||
|
})
|
||||||
|
|
||||||
|
-- crafting
|
||||||
|
|
||||||
|
unifieddyes.register_color_craft({
|
||||||
|
output = "stained_glass:stained_glass",
|
||||||
|
palette = "extended",
|
||||||
|
type = "shapeless",
|
||||||
|
neutral_node = "moreblocks:super_glow_glass",
|
||||||
|
recipe = {
|
||||||
|
"NEUTRAL_NODE",
|
||||||
|
"MAIN_DYE"
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
unifieddyes.register_color_craft({
|
||||||
|
output = "stained_glass:stained_trap_glass",
|
||||||
|
palette = "extended",
|
||||||
|
type = "shapeless",
|
||||||
|
neutral_node = "moreblocks:trap_super_glow_glass",
|
||||||
|
recipe = {
|
||||||
|
"NEUTRAL_NODE",
|
||||||
|
"MAIN_DYE"
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
-- old static stuff
|
||||||
|
|
||||||
|
function stainedglass.makenode(arg)
|
||||||
local name=arg.blockname
|
local name=arg.blockname
|
||||||
local myglow=arg.glow
|
local myglow=arg.glow
|
||||||
local myprefix=arg.prefix
|
local myprefix=arg.prefix
|
||||||
local imagename=arg.imagename
|
local imagename=arg.imagename
|
||||||
local safe=arg.walkflag
|
local safe=arg.walkflag
|
||||||
local Description
|
|
||||||
|
|
||||||
local function tchelper(first, rest)
|
local function tchelper(first, rest)
|
||||||
return first:upper()..rest:lower()
|
return first:upper()..rest:lower()
|
||||||
end -- from lua-users.org/wiki/StringRecipes
|
end -- from lua-users.org/wiki/StringRecipes
|
||||||
-- above function is used to turn red_violet_s50 to 'Red Violet S50'
|
|
||||||
|
|
||||||
--register item attributes
|
table.insert(stainedglass.old_static_nodes, "stained_glass:"..name)
|
||||||
|
|
||||||
Description=string.gsub("Stained Glass - " ..myprefix..name, "_", " ")
|
|
||||||
Description=Description:gsub("(%a)([%w_']*)", tchelper)
|
|
||||||
|
|
||||||
minetest.register_node("stained_glass:"..myprefix..name, {
|
|
||||||
description = Description,
|
|
||||||
drawtype = "glasslike",
|
|
||||||
tiles = {"stained_glass_" .. imagename .. ".png"},
|
|
||||||
paramtype = "light",
|
|
||||||
sunlight_propagates = true,
|
|
||||||
use_texture_alpha = true,
|
|
||||||
light_source = myglow,
|
|
||||||
is_ground_content = true,
|
|
||||||
walkable=safe, -- if not safe, this is trapglass
|
|
||||||
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3, not_in_creative_inventory=1},
|
|
||||||
sounds = default.node_sound_glass_defaults()
|
|
||||||
})
|
|
||||||
end
|
end
|
||||||
|
|
||||||
-- maybe someday, I can cleanly combine these two functions.
|
-- maybe someday, I can cleanly combine these two functions.
|
||||||
|
@ -148,13 +183,7 @@ function stained_trapglass_define(arg)
|
||||||
myrecipe[6] = "dye:white"
|
myrecipe[6] = "dye:white"
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_craft({
|
stainedglass.makenode{blockname=name, glow=myglow, prefix=myprefix, imagename=imagename, walkflag=false}
|
||||||
type = "shapeless",
|
|
||||||
output = "stained_glass:"..myprefix..name.." 3",
|
|
||||||
recipe = myrecipe,
|
|
||||||
})
|
|
||||||
|
|
||||||
makenode{blockname=name, glow=myglow, prefix=myprefix, imagename=imagename, walkflag=false}
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -204,19 +233,13 @@ function stained_glass_define(arg)
|
||||||
myrecipe[6] = "dye:white"
|
myrecipe[6] = "dye:white"
|
||||||
end
|
end
|
||||||
|
|
||||||
minetest.register_craft({
|
stainedglass.makenode{blockname=name, glow=myglow, prefix=myprefix, imagename=name, walkflag=true}
|
||||||
type = "shapeless",
|
|
||||||
output = "stained_glass:"..myprefix..name.." 3",
|
|
||||||
recipe = myrecipe,
|
|
||||||
})
|
|
||||||
|
|
||||||
makenode{blockname=name, glow=myglow, prefix=myprefix, imagename=name, walkflag=true}
|
|
||||||
|
|
||||||
if myprefix == "" then
|
if myprefix == "" then
|
||||||
local aliasname
|
local aliasname
|
||||||
minetest.register_alias( "stained_glass:" .. code, "stained_glass:" .. name)
|
minetest.register_alias( "stained_glass:" .. code, "stained_glass:" .. name)
|
||||||
if string.match(name,"redviolet") then
|
if string.match(name,"redviolet") then
|
||||||
oldname=name
|
local oldname=name
|
||||||
aliasname=string.gsub(name, "redviolet","red_violet") -- need to support red_violet existence, too.
|
aliasname=string.gsub(name, "redviolet","red_violet") -- need to support red_violet existence, too.
|
||||||
minetest.register_alias( "stained_glass:" .. aliasname, "stained_glass:" .. oldname)
|
minetest.register_alias( "stained_glass:" .. aliasname, "stained_glass:" .. oldname)
|
||||||
end
|
end
|
||||||
|
@ -287,7 +310,6 @@ for i in ipairs(stained_glass_hues) do
|
||||||
|
|
||||||
recipevalue = "group:dye,unicolor_"..shadename..huename
|
recipevalue = "group:dye,unicolor_"..shadename..huename
|
||||||
if (shadename == "" and stained_glass_hues[i][2]) then
|
if (shadename == "" and stained_glass_hues[i][2]) then
|
||||||
-- print(huename .. " is set to true -- substituting dye:huename ")
|
|
||||||
recipevalue = "dye:"..huename
|
recipevalue = "dye:"..huename
|
||||||
elseif (shadename=="pastel_" or shadename=="faint_") then
|
elseif (shadename=="pastel_" or shadename=="faint_") then
|
||||||
-- force light_dye for pastel and faint colors
|
-- force light_dye for pastel and faint colors
|
||||||
|
@ -351,6 +373,38 @@ for i in ipairs(stained_glass_hues) do
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
-- convert in-map static nodes to use param2 coloring
|
||||||
|
|
||||||
|
minetest.register_lbm({
|
||||||
|
name = "stained_glass:convert_glass",
|
||||||
|
label = "Convert static glass blocks to use param2 color",
|
||||||
|
run_at_every_load = false,
|
||||||
|
nodenames = stainedglass.old_static_nodes,
|
||||||
|
action = function(pos, node)
|
||||||
|
local name = node.name
|
||||||
|
|
||||||
|
name = string.gsub(name, "aqua", "spring")
|
||||||
|
name = string.gsub(name, "skyblue", "azure")
|
||||||
|
name = string.gsub(name, "redviolet", "rose")
|
||||||
|
|
||||||
|
local n = string.find(name, ":")
|
||||||
|
local color = string.sub(name, n + 1)
|
||||||
|
local h,s,v = unifieddyes.get_hsv(name)
|
||||||
|
|
||||||
|
if string.find(name, "trap") then
|
||||||
|
n = string.find(color, "_")
|
||||||
|
color = string.sub(color, n + 1)
|
||||||
|
local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color, "extended")
|
||||||
|
minetest.set_node(pos, { name = "stained_glass:stained_trap_glass", param2 = paletteidx })
|
||||||
|
else
|
||||||
|
local paletteidx = unifieddyes.getpaletteidx("unifieddyes:"..color, "extended")
|
||||||
|
minetest.set_node(pos, { name = "stained_glass:stained_glass", param2 = paletteidx })
|
||||||
|
end
|
||||||
|
local meta = minetest.get_meta(pos)
|
||||||
|
meta:set_string("dye", "unifieddyes:"..v..h..s)
|
||||||
|
meta:set_string("palette", "ext")
|
||||||
|
end
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
print("[stained_glass] Loaded!")
|
print("[stained_glass] Loaded!")
|
||||||
|
|
||||||
|
|
||||||
|
|
2
mod.conf
Normal file
|
@ -0,0 +1,2 @@
|
||||||
|
name = stained_glass
|
||||||
|
depends = default, moreblocks, unifieddyes
|
BIN
textures/stained_glass.png
Normal file
After Width: | Height: | Size: 291 B |
Before Width: | Height: | Size: 701 B |
Before Width: | Height: | Size: 685 B |
Before Width: | Height: | Size: 701 B |
Before Width: | Height: | Size: 680 B |
Before Width: | Height: | Size: 701 B |
Before Width: | Height: | Size: 701 B |
Before Width: | Height: | Size: 585 B |
Before Width: | Height: | Size: 558 B |
Before Width: | Height: | Size: 544 B |
Before Width: | Height: | Size: 515 B |
Before Width: | Height: | Size: 552 B |
Before Width: | Height: | Size: 515 B |
Before Width: | Height: | Size: 544 B |
Before Width: | Height: | Size: 515 B |
Before Width: | Height: | Size: 585 B |
Before Width: | Height: | Size: 558 B |
Before Width: | Height: | Size: 552 B |
Before Width: | Height: | Size: 515 B |
Before Width: | Height: | Size: 585 B |
Before Width: | Height: | Size: 558 B |
Before Width: | Height: | Size: 544 B |
Before Width: | Height: | Size: 515 B |
Before Width: | Height: | Size: 585 B |
Before Width: | Height: | Size: 558 B |
Before Width: | Height: | Size: 585 B |
Before Width: | Height: | Size: 558 B |
Before Width: | Height: | Size: 585 B |
Before Width: | Height: | Size: 558 B |
Before Width: | Height: | Size: 552 B |
Before Width: | Height: | Size: 515 B |
BIN
textures/stained_glass_detail.png
Normal file
After Width: | Height: | Size: 402 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 701 B |
Before Width: | Height: | Size: 680 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 492 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 485 B |
Before Width: | Height: | Size: 705 B |
Before Width: | Height: | Size: 656 B |
Before Width: | Height: | Size: 638 B |
Before Width: | Height: | Size: 636 B |
Before Width: | Height: | Size: 593 B |
Before Width: | Height: | Size: 642 B |
Before Width: | Height: | Size: 593 B |
Before Width: | Height: | Size: 636 B |
Before Width: | Height: | Size: 593 B |
Before Width: | Height: | Size: 656 B |
Before Width: | Height: | Size: 631 B |
Before Width: | Height: | Size: 642 B |
Before Width: | Height: | Size: 593 B |
Before Width: | Height: | Size: 656 B |
Before Width: | Height: | Size: 638 B |
Before Width: | Height: | Size: 636 B |
Before Width: | Height: | Size: 593 B |
Before Width: | Height: | Size: 656 B |
Before Width: | Height: | Size: 631 B |
Before Width: | Height: | Size: 656 B |
Before Width: | Height: | Size: 631 B |
Before Width: | Height: | Size: 656 B |
Before Width: | Height: | Size: 638 B |
Before Width: | Height: | Size: 642 B |
Before Width: | Height: | Size: 593 B |
Before Width: | Height: | Size: 701 B |
Before Width: | Height: | Size: 685 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |
Before Width: | Height: | Size: 710 B |