server-minetestforfun-creative/mods/carpet3d/init.lua

98 lines
2.6 KiB
Lua
Executable File

-- carpet3d by srifqi
-- License: CC0 1.0 Universal
print("[carpet3d] Carpet")
-- Carpet API
carpet3d = {}
carpet3d.count = 0
-- Registering carpet ( carpet3d.register() )
--[[
def is a table that contains:
name : itemstring "carpet:name"
description : node description (optional)
images : node tiles
recipeitem : node crafting recipeitem {recipeitem,recipeitem}
groups : node groups
sounds : node sounds (optional)
--]]
-- Carpet will be named carpet3d:name
function carpet3d.register(def)
local name = def.name
local desc = def.description or ""
local recipeitem = def.recipeitem
local sounds = def.sounds or default.node_sound_defaults()
-- Node Definition
minetest.register_node("carpet3d:"..name, {
description = desc,
tiles = def.images,
paramtype = "light",
node_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -7/16, 0.5},
},
drawtype = "nodebox",
groups = def.groups,
sounds = sounds,
})
-- Crafting Definition
minetest.register_craft({
output = 'carpet3d:'..name..' 4',
recipe = {
{recipeitem, recipeitem},
}
})
carpet3d.count = carpet3d.count +1
end
-- For internal purpose
minetest.register_node("carpet3d:nil", {
description = "nil Carpet (ERR)",
tiles = "default_dirt.png",
paramtype = "light",
node_box = {
type = "fixed",
fixed = {-0.5, -0.5, -0.5, 0.5, -7/16, 0.5},
},
drawtype = "nodebox",
groups = {carpet=1,not_in_creative_inventory=1},
sounds = default.node_sound_defaults(),
})
-- Add carpet from wool mod + default mod + moretrees mod (if available)
local wool_list = {
{"white", "White"},
{"grey", "Grey"},
{"black", "Black"},
{"red", "Red"},
{"yellow", "Yellow"},
{"green", "Green"},
{"cyan", "Cyan"},
{"blue", "Blue"},
{"magenta", "Magenta"},
{"orange", "Orange"},
{"violet", "Violet"},
{"brown", "Brown"},
{"pink", "Pink"},
{"dark_grey", "Dark Grey"},
{"dark_green", "Dark Green"},
}
local decor_list = {
{"default:leaves","default_leaves","Leaves"},
{"default:jungleleaves","default_jungleleaves","Jungle Leaves"},
{"default:papyrus","default_papyrus","Papyrus"},
{"default:sapling","default_sapling","Sapling"},
{"default:junglesapling","default_junglesapling","Jungle Sapling"},
}
local front_list = {
{"default:apple","default_apple","Apple"},
{"flowers:dandelion_white","flowers_dandelion_white","White Dandelion"},
{"flowers:dandelion_yellow","flowers_dandelion_yellow","Yellow Dandelion"},
{"flowers:geranium","flowers_geranium","Geranium"},
{"flowers:rose","flowers_rose","Rose"},
{"flowers:tulip","flowers_tulip","Tulip"},
{"flowers:viola","flowers_viola","Viola"},
}
print("[carpet3d]:"..carpet3d.count.." carpets registered")