Wool: Clean up code

master
HybridDog 2016-06-27 14:02:44 +02:00 committed by paramat
parent f796194c69
commit 15b82f5b03
1 changed files with 22 additions and 25 deletions

View File

@ -1,14 +1,8 @@
-- minetest/wool/init.lua
-- Backwards compatibility with jordach's 16-color wool mod
minetest.register_alias("wool:dark_blue", "wool:blue")
minetest.register_alias("wool:gold", "wool:yellow")
local wool = {}
-- This uses a trick: you can first define the recipes using all of the base -- 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, and then some recipes using more specific colors for a few non-base
-- colors available. When crafting, the last recipes will be checked first. -- colors available. When crafting, the last recipes will be checked first.
wool.dyes = {
local dyes = {
{"white", "White", "basecolor_white"}, {"white", "White", "basecolor_white"},
{"grey", "Grey", "basecolor_grey"}, {"grey", "Grey", "basecolor_grey"},
{"black", "Black", "basecolor_black"}, {"black", "Black", "basecolor_black"},
@ -26,25 +20,28 @@ wool.dyes = {
{"dark_green", "Dark Green", "unicolor_dark_green"}, {"dark_green", "Dark Green", "unicolor_dark_green"},
} }
for _, row in ipairs(wool.dyes) do for i = 1, #dyes do
local name = row[1] local name, desc, craft_color_group = unpack(dyes[i])
local desc = row[2]
local craft_color_group = row[3] minetest.register_node("wool:" .. name, {
-- Node Definition description = desc .. " Wool",
minetest.register_node("wool:"..name, { tiles = {"wool_" .. name .. ".png"},
description = desc.." Wool",
tiles = {"wool_"..name..".png"},
is_ground_content = false, is_ground_content = false,
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=3,flammable=3,wool=1}, groups = {snappy = 2, choppy = 2, oddly_breakable_by_hand = 3,
flammable = 3, wool = 1},
sounds = default.node_sound_defaults(), sounds = default.node_sound_defaults(),
}) })
if craft_color_group then
-- Crafting from dye and white wool minetest.register_craft{
minetest.register_craft({ type = "shapeless",
type = "shapeless", output = "wool:" .. name,
output = 'wool:'..name, recipe = {"group:dye," .. craft_color_group, "group:wool"},
recipe = {'group:dye,'..craft_color_group, 'group:wool'}, }
})
end
end end
-- legacy
-- Backwards compatibility with jordach's 16-color wool mod
minetest.register_alias("wool:dark_blue", "wool:blue")
minetest.register_alias("wool:gold", "wool:yellow")