forked from minetest/minetest_game
Make wools colorable by any dye (not just the ones in the dye mod)
This commit is contained in:
parent
7db7ea543f
commit
937ec64ee6
|
@ -1,6 +1,8 @@
|
||||||
Minetest 0.4 mod: dye
|
Minetest 0.4 mod: dye
|
||||||
======================
|
======================
|
||||||
|
|
||||||
|
See init.lua for documentation.
|
||||||
|
|
||||||
License of source code and media files:
|
License of source code and media files:
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
Copyright (C) 2012 Perttu Ahola (celeron55) <celeron55@gmail.com>
|
Copyright (C) 2012 Perttu Ahola (celeron55) <celeron55@gmail.com>
|
||||||
|
|
|
@ -5,40 +5,52 @@ minetest.register_alias("wool:dark_blue", "wool:blue")
|
||||||
minetest.register_alias("wool:gold", "wool:yellow")
|
minetest.register_alias("wool:gold", "wool:yellow")
|
||||||
|
|
||||||
local wool = {}
|
local wool = {}
|
||||||
|
-- This uses a trick: you can first define the recipes using all of the base
|
||||||
|
-- colors, and then some recipes using more specific colors for a few non-base
|
||||||
|
-- colors available. When crafting, the last recipes will be checked first.
|
||||||
wool.dyes = {
|
wool.dyes = {
|
||||||
{"white", "White"},
|
{"white", "White", nil},
|
||||||
{"grey", "Grey"},
|
{"grey", "Grey", "basecolor_grey"},
|
||||||
{"dark_grey", "Dark Grey"},
|
{"black", "Black", "basecolor_black"},
|
||||||
{"black", "Black"},
|
{"red", "Red", "basecolor_red"},
|
||||||
{"violet", "Violet"},
|
{"yellow", "Yellow", "basecolor_yellow"},
|
||||||
{"blue", "Blue"},
|
{"green", "Green", "basecolor_green"},
|
||||||
{"cyan", "Cyan"},
|
{"cyan", "Cyan", "basecolor_cyan"},
|
||||||
{"dark_green", "Dark Green"},
|
{"blue", "Blue", "basecolor_blue"},
|
||||||
{"green", "Green"},
|
{"magenta", "Magenta", "basecolor_magenta"},
|
||||||
{"yellow", "Yellow"},
|
{"orange", "Orange", "excolor_orange"},
|
||||||
{"brown", "Brown"},
|
{"violet", "Violet", "excolor_violet"},
|
||||||
{"orange", "Orange"},
|
{"brown", "Brown", "unicolor_dark_orange"},
|
||||||
{"red", "Red"},
|
{"pink", "Pink", "unicolor_light_red"},
|
||||||
{"magenta", "Magenta"},
|
{"dark_grey", "Dark Grey", "unicolor_darkgrey"},
|
||||||
{"pink", "Pink"},
|
{"dark_green", "Dark Green", "unicolor_dark_green"},
|
||||||
}
|
}
|
||||||
|
|
||||||
for _, row in ipairs(wool.dyes) do
|
for _, row in ipairs(wool.dyes) do
|
||||||
local name = row[1]
|
local name = row[1]
|
||||||
local desc = row[2]
|
local desc = row[2]
|
||||||
|
local craft_color_group = row[3]
|
||||||
-- Node Definition
|
-- Node Definition
|
||||||
minetest.register_node("wool:"..name, {
|
minetest.register_node("wool:"..name, {
|
||||||
description = desc.." Wool",
|
description = desc.." Wool",
|
||||||
tile_images = {"wool_"..name..".png"},
|
tile_images = {"wool_"..name..".png"},
|
||||||
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3,flammable=3},
|
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3,flammable=3},
|
||||||
})
|
})
|
||||||
if name ~= "white" then
|
if craft_color_group then
|
||||||
-- Crafting from dye and white wool
|
-- Crafting from dye and white wool
|
||||||
minetest.register_craft({
|
minetest.register_craft({
|
||||||
|
output = 'wool:'..name..' 16',
|
||||||
|
recipe = {
|
||||||
|
{'group:'..craft_color_group},
|
||||||
|
{'wool:white'},
|
||||||
|
}
|
||||||
|
})
|
||||||
|
-- Shapeless group recipes don't currently work
|
||||||
|
--[[minetest.register_craft({
|
||||||
type = "shapeless",
|
type = "shapeless",
|
||||||
output = 'wool:'..name..' 16',
|
output = 'wool:'..name..' 16',
|
||||||
recipe = {'dye:'..name, 'wool:white'},
|
recipe = {'group:'..craft_color_group, 'wool:white'},
|
||||||
})
|
})--]]
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user