VoxeLibre/mods/ITEMS/mcl_wool/init.lua

104 lines
3.6 KiB
Lua
Raw Normal View History

2015-06-29 19:55:56 +02:00
-- minetest/wool/init.lua
-- Backwards compatibility with jordach's 16-color wool mod
2017-01-30 15:25:24 +01:00
minetest.register_alias("mcl_wool:dark_blue", "wool:blue")
minetest.register_alias("mcl_wool:gold", "wool:yellow")
2015-06-29 19:55:56 +02:00
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 = {
2017-05-15 20:31:31 +02:00
{"white", "white", "White", nil, "basecolor_white"},
{"grey", "dark_grey", "Grey", "dark_grey", "unicolor_darkgrey"},
{"silver", "grey", "Light Grey", "grey", "basecolor_grey"},
{"black", "black", "Black", "black", "basecolor_black"},
{"red", "red", "Red", "red", "basecolor_red"},
{"yellow", "yellow", "Yellow", "yellow", "basecolor_yellow"},
{"green", "green", "Green", "dark_green", "unicolor_dark_green"},
{"cyan", "cyan", "Cyan", "cyan", "basecolor_cyan"},
{"blue", "blue", "Blue", "blue", "basecolor_blue"},
{"magenta", "magenta", "Magenta", "magenta", "basecolor_magenta"},
{"orange", "orange", "Orange", "orange", "excolor_orange"},
{"purple", "violet", "Purple", "violet", "excolor_violet"},
{"brown", "brown", "Brown", "brown", "unicolor_dark_orange"},
{"pink", "pink", "Pink", "pink", "unicolor_light_red"},
{"lime", "lime", "Lime", "green", "basecolor_green"},
{"light_blue", "light_blue", "Light Blue", "lightblue", "unicolor_light_blue"},
2015-06-29 19:55:56 +02:00
}
for _, row in ipairs(wool.dyes) do
local name = row[1]
2017-01-05 00:54:50 +01:00
local texture = row[2]
local desc = row[3]
2017-05-15 20:31:31 +02:00
local dye = row[4]
local color_group = row[5]
2015-06-29 19:55:56 +02:00
-- Node Definition
2017-01-30 15:25:24 +01:00
minetest.register_node("mcl_wool:"..name, {
2015-06-29 19:55:56 +02:00
description = desc.." Wool",
2017-03-11 01:51:06 +01:00
_doc_items_longdesc = "Wool is a decorational block which comes in many different colors.",
2015-06-29 19:55:56 +02:00
stack_max = 64,
is_ground_content = false,
2017-01-05 00:54:50 +01:00
tiles = {"wool_"..texture..".png"},
2017-02-27 19:38:48 +01:00
groups = {handy=1,shearsy_wool=1, flammable=1,wool=1,building_block=1},
sounds = mcl_sounds.node_sound_defaults(),
2017-02-27 01:05:49 +01:00
_mcl_hardness = 0.8,
_mcl_blast_resistance = 4,
2015-06-29 19:55:56 +02:00
})
2017-01-30 15:25:24 +01:00
minetest.register_node("mcl_wool:"..name.."_carpet", {
2015-06-29 19:55:56 +02:00
description = desc.." Carpet",
2017-03-11 01:51:06 +01:00
_doc_items_longdesc = "Carpets are thin floor covers which come in many different colors.",
2018-01-09 15:05:15 +01:00
walkable = false, -- See <https://minecraft.gamepedia.com/Materials>
is_ground_content = false,
2017-01-05 00:54:50 +01:00
tiles = {"wool_"..texture..".png"},
wield_image = "wool_"..texture..".png",
2017-03-02 17:03:14 +01:00
wield_scale = { x=1, y=1, z=0.5 },
groups = {handy=1, carpet=1,attached_node=1,dig_by_water=1,deco_block=1},
sounds = mcl_sounds.node_sound_defaults(),
2015-06-29 19:55:56 +02:00
paramtype = "light",
2017-03-20 19:03:37 +01:00
sunlight_propagates = true,
2015-06-29 19:55:56 +02:00
stack_max = 64,
drawtype = "nodebox",
node_box = {
type = "fixed",
fixed = {
{-8/16, -8/16, -8/16, 8/16, -7/16, 8/16},
},
},
2017-02-27 01:05:49 +01:00
_mcl_hardness = 0.1,
_mcl_blast_resistance = 0.5,
2015-06-29 19:55:56 +02:00
})
2017-05-15 20:31:31 +02:00
if dye then
2015-06-29 19:55:56 +02:00
-- Crafting from dye and white wool
minetest.register_craft({
type = "shapeless",
2017-01-30 15:25:24 +01:00
output = 'mcl_wool:'..name,
2017-05-15 20:31:31 +02:00
recipe = {"mcl_dye:"..dye, 'mcl_wool:white'},
2015-06-29 19:55:56 +02:00
})
end
2017-05-15 20:32:50 +02:00
minetest.register_craft({
output = 'mcl_wool:'..name..'_carpet 3',
recipe = {{'mcl_wool:'..name, 'mcl_wool:'..name}},
})
2015-06-29 19:55:56 +02:00
end
2017-02-01 18:36:03 +01:00
minetest.register_craft({
output = "mcl_wool:white",
recipe = {
{ "mcl_mobitems:string", "mcl_mobitems:string" },
{ "mcl_mobitems:string", "mcl_mobitems:string" },
},
})
2017-01-10 06:43:07 +01:00
minetest.register_craft({
type = "fuel",
recipe = "group:wool",
burntime = 5,
})
minetest.register_craft({
type = "fuel",
recipe = "group:carpet",
-- Original value: 3.35
burntime = 3,
})