minetest_mtg_plus/init.lua

1209 lines
40 KiB
Lua
Raw Normal View History

2016-10-22 05:11:31 -07:00
-- Boilerplate to support localized strings if intllib mod is installed.
local S
if minetest.get_modpath("intllib") then
dofile(minetest.get_modpath("intllib").."/intllib.lua")
S = intllib.Getter(minetest.get_current_modname())
else
S = function(s) return s end
end
mtg_plus = {}
local deco = doc.sub.items.temp.deco
local build = doc.sub.items.temp.build
2016-09-04 03:46:52 -07:00
-- New nodes and crafts
minetest.register_node("mtg_plus:dirty_glass", {
2016-10-22 05:11:31 -07:00
description = S("Dirty Glass"),
x_doc_items_longdesc = S("A decorative, semitransparent block. The dirt makes it hard for the sunlight to pass through."),
2016-09-04 03:46:52 -07:00
drawtype = "glasslike_framed_optional",
tiles = {"mtg_plus_dirty_glass.png", "mtg_plus_dirty_glass_detail.png"},
paramtype = "light",
sunlight_propagates = false,
is_ground_content = false,
groups = {cracky = 3, oddly_breakable_by_hand = 3},
sounds = default.node_sound_glass_defaults(),
})
minetest.register_craft({
output = "mtg_plus:dirty_glass 3",
recipe = { { "", "default:dirt", "" },
{"default:glass", "default:glass", "default:glass"},
}
})
2016-09-05 00:51:59 -07:00
minetest.register_node("mtg_plus:goldglass", {
2016-10-22 05:11:31 -07:00
description = S("Goldglass"),
x_doc_items_longdesc = S("A ornamental and mostly transparent block, made by combining glass with gold."),
2016-09-05 00:51:59 -07:00
drawtype = "glasslike_framed_optional",
tiles = {"mtg_plus_goldglass.png", "mtg_plus_goldglass_detail.png"},
paramtype = "light",
sunlight_propagates = true,
is_ground_content = false,
groups = { cracky = 3, oddly_breakable_by_hand = 2},
sounds = default.node_sound_glass_defaults(),
})
minetest.register_craft({
output = "mtg_plus:goldglass 1",
recipe = { { "default:gold_ingot", },
{ "default:glass",},
{ "default:gold_ingot", },
}
})
2016-10-22 12:16:52 -07:00
minetest.register_node("mtg_plus:dirtbrick", {
description = S("Soft Dirt Brick"),
x_doc_items_longdesc = build,
2016-10-22 12:16:52 -07:00
tiles = {"mtg_plus_dirt_brick.png"},
is_ground_content = false,
groups = { crumbly = 2, soil = 1 },
sounds = default.node_sound_dirt_defaults(),
drop = "default:dirt 4",
})
minetest.register_craft({
output = "mtg_plus:dirtbrick 4",
recipe = { { "default:dirt", "default:dirt", },
{ "default:dirt", "default:dirt", }, },
})
minetest.register_node("mtg_plus:harddirtbrick", {
description = S("Hardened Dirt Brick"),
x_doc_items_longdesc = build,
2016-10-22 12:16:52 -07:00
tiles = {"mtg_plus_dirt_brick_hard.png"},
is_ground_content = false,
groups = { crumbly = 1, level = 1, soil = 1 },
sounds = default.node_sound_dirt_defaults(),
})
minetest.register_craft({
type = "cooking",
output = "mtg_plus:harddirtbrick",
recipe = "mtg_plus:dirtbrick",
cooktime = 5,
})
2016-10-22 12:51:59 -07:00
minetest.register_node("mtg_plus:graveldirt", {
description = S("Gravel Dirt"),
x_doc_items_longdesc = S("Gravel dirt is an artificial solid building material containing equal parts of gravel and dirt. It could be used to build nice-looking garden floors."),
2016-10-22 12:51:59 -07:00
tiles = {"mtg_plus_graveldirt.png"},
is_ground_content = false,
groups = { crumbly = 2, level = 1, soil = 1, },
sounds = default.node_sound_dirt_defaults(),
drop = {
items = {
{ items = { "default:gravel" } },
{ items = { "default:dirt" } },
}
},
})
minetest.register_craft({
type = "shapeless",
2016-10-22 12:51:59 -07:00
output = "mtg_plus:graveldirt",
recipe = { "default:gravel", "default:dirt" },
2016-10-22 12:51:59 -07:00
})
2016-10-22 13:58:05 -07:00
minetest.register_node("mtg_plus:gravel_cobble", {
description = S("Gravel Cobblestone"),
x_doc_items_longdesc = S("Gravel cobblestone is solidified gravel, carefully arranged in a mosaic-like pattern. It makes a nice building material."),
2016-10-22 13:58:05 -07:00
tiles = {"mtg_plus_gravel_cobble.png"},
is_ground_content = false,
groups = { cracky = 3, stone = 1 },
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "mtg_plus:gravel_cobble 2",
recipe = { { "default:gravel", "default:gravel" },
{ "default:gravel", "default:gravel" } },
})
minetest.register_craft({
type = "cooking",
output = "default:gravel",
recipe = "mtg_plus:gravel_cobble",
})
2016-10-08 05:44:49 -07:00
minetest.register_node("mtg_plus:goldbrick", {
2016-10-22 05:11:31 -07:00
description = S("Gold Brick"),
x_doc_items_longdesc = build,
2016-10-08 05:44:49 -07:00
tiles = {"mtg_plus_gold_brick.png"},
is_ground_content = false,
groups = { cracky = 1, },
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "mtg_plus:goldbrick 4",
recipe = { { "default:goldblock", "default:goldblock", },
{ "default:goldblock", "default:goldblock", }, },
})
minetest.register_node("mtg_plus:bronzebrick", {
2016-10-22 05:11:31 -07:00
description = S("Bronze Brick"),
x_doc_items_longdesc = build,
2016-10-08 05:44:49 -07:00
tiles = {"mtg_plus_bronze_brick.png"},
is_ground_content = false,
groups = { cracky = 1, level = 2 },
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "mtg_plus:bronzebrick 4",
recipe = { { "default:bronzeblock", "default:bronzeblock", },
{ "default:bronzeblock", "default:bronzeblock", }, },
})
minetest.register_node("mtg_plus:copperbrick", {
2016-10-22 05:11:31 -07:00
description = S("Copper Brick"),
x_doc_items_longdesc = build,
2016-10-08 05:44:49 -07:00
tiles = {"mtg_plus_copper_brick.png"},
is_ground_content = false,
groups = { cracky = 1, level = 2 },
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "mtg_plus:copperbrick 4",
recipe = { { "default:copperblock", "default:copperblock", },
{ "default:copperblock", "default:copperblock", }, },
})
minetest.register_node("mtg_plus:steelbrick", {
2016-10-22 05:11:31 -07:00
description = S("Steel Brick"),
x_doc_items_longdesc = build,
2016-10-08 05:44:49 -07:00
tiles = {"mtg_plus_steel_brick.png"},
is_ground_content = false,
groups = { cracky = 1, level = 2 },
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "mtg_plus:steelbrick 4",
recipe = { { "default:steelblock", "default:steelblock", },
{ "default:steelblock", "default:steelblock", }, },
})
2016-09-05 03:21:44 -07:00
minetest.register_node("mtg_plus:stonebrick_gold", {
2016-10-22 05:11:31 -07:00
description = S("Stone Brick with Golden Edges"),
x_doc_items_longdesc = build,
2016-09-05 03:21:44 -07:00
tiles = {"mtg_plus_stone_brick_gold.png"},
is_ground_content = false,
groups = { cracky = 2, stone = 1 },
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "mtg_plus:stonebrick_gold 4",
recipe = { { "", "default:stonebrick", "", },
{ "default:stonebrick", "default:gold_ingot", "default:stonebrick", },
{ "", "default:stonebrick", "", } }
})
minetest.register_node("mtg_plus:desert_stonebrick_gold", {
2016-10-22 05:11:31 -07:00
description = S("Desert Stone Brick with Golden Edges"),
x_doc_items_longdesc = build,
2016-09-05 03:21:44 -07:00
tiles = {"mtg_plus_desert_stone_brick_gold.png"},
is_ground_content = false,
groups = { cracky = 2, stone = 1 },
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "mtg_plus:desert_stonebrick_gold 4",
recipe = { { "", "default:desert_stonebrick", "" },
{ "default:desert_stonebrick", "default:gold_ingot", "default:desert_stonebrick", },
{ "", "default:desert_stonebrick", "", } }
})
minetest.register_node("mtg_plus:sandstonebrick_gold", {
2016-10-22 05:11:31 -07:00
description = S("Sandstone Brick with Golden Edges"),
x_doc_items_longdesc = build,
2016-09-05 03:21:44 -07:00
tiles = {"mtg_plus_sandstone_brick_gold.png"},
is_ground_content = false,
groups = { cracky = 2, },
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "mtg_plus:sandstonebrick_gold 4",
recipe = { { "", "default:sandstonebrick", "", },
{ "default:sandstonebrick", "default:gold_ingot", "default:sandstonebrick", },
{ "", "default:sandstonebrick", "", } }
})
minetest.register_node("mtg_plus:obsidianbrick_gold", {
2016-10-22 05:11:31 -07:00
description = S("Obsidian Brick with Golden Edges"),
x_doc_items_longdesc = build,
2016-09-05 03:21:44 -07:00
tiles = {"mtg_plus_obsidian_brick_gold.png"},
is_ground_content = false,
groups = { cracky = 1, level = 2 },
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "mtg_plus:obsidianbrick_gold 4",
recipe = { { "", "default:obsidianbrick", "", },
{ "default:obsidianbrick", "default:gold_ingot", "default:obsidianbrick", },
{ "", "default:obsidianbrick", "", } }
})
2016-09-04 03:46:52 -07:00
minetest.register_node("mtg_plus:sandstone_cobble", {
2016-10-22 05:11:31 -07:00
description = S("Sandstone Cobblestone"),
x_doc_items_longdesc = build,
2016-09-04 03:46:52 -07:00
tiles = {"mtg_plus_sandstone_cobble.png"},
groups = {cracky = 3, },
2016-09-04 03:46:52 -07:00
is_ground_content = false,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "mtg_plus:sandstone_cobble 2",
recipe = { { "default:sandstone", "default:sandstone" } },
})
2016-09-05 03:35:48 -07:00
minetest.register_craft({
type = "cooking",
output = "default:sandstone",
recipe = "mtg_plus:sandstone_cobble",
})
2016-09-04 03:46:52 -07:00
minetest.register_node("mtg_plus:jungle_cobble", {
2016-10-22 05:11:31 -07:00
description = S("Jungle Cobblestone"),
x_doc_items_longdesc = build,
2016-09-04 03:46:52 -07:00
tiles = {"mtg_plus_jungle_cobble.png"},
groups = {cracky=3, stone=1},
is_ground_content = false,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "mtg_plus:jungle_cobble",
type = "shapeless",
2016-09-05 03:23:44 -07:00
recipe = { "default:jungleleaves", "default:jungleleaves", "default:cobble" },
2016-09-04 03:46:52 -07:00
})
2016-09-05 03:28:38 -07:00
minetest.register_craft({
output = "mtg_plus:jungle_cobble",
type = "shapeless",
recipe = { "default:jungleleaves", "default:mossycobble" },
})
minetest.register_craft({
output = "default:stone",
type = "cooking",
recipe = "mtg_plus:jungle_cobble",
})
minetest.register_node("mtg_plus:harddiamondblock",{
2016-10-22 05:55:51 -07:00
description = S("Aggregated Diamond Block"),
x_doc_items_longdesc = S("This block is even harder than diamond; diamond pickaxes can't break it. TNT is able to destroy this block."),
2016-10-22 05:55:51 -07:00
tiles = { "mtg_plus_hard_diamond_block.png" },
is_ground_content = true,
groups = { cracky = 1, level = 4 },
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
2016-10-22 05:55:51 -07:00
output = "mtg_plus:harddiamondblock 1",
type = "shapeless",
recipe = { "default:diamondblock", "default:diamondblock" }
})
2016-09-04 03:46:52 -07:00
minetest.register_node("mtg_plus:ice_block", {
2016-10-22 05:11:31 -07:00
description = S("Ice Block"),
x_doc_items_longdesc = build,
2016-09-04 03:46:52 -07:00
tiles = {"mtg_plus_ice_block.png"},
groups = {cracky = 3, puts_out_fire = 1},
is_ground_content = false,
paramtype = "light",
sounds = default.node_sound_glass_defaults(),
})
minetest.register_craft({
output = "mtg_plus:ice_block 9",
recipe = { { "default:ice", "default:ice", "default:ice" },
{ "default:ice", "default:ice", "default:ice" },
{ "default:ice", "default:ice", "default:ice" } }
})
2016-10-08 07:03:49 -07:00
if minetest.get_modpath("xdecor") then
-- xdecor compability
minetest.register_craft({
output = "xdecor:packed_ice 2",
recipe = { { "mtg_plus:ice_block", "mtg_plus:ice_block", "mtg_plus:ice_block" },
{ "mtg_plus:ice_block", "", "mtg_plus:ice_block" },
{ "mtg_plus:ice_block", "mtg_plus:ice_block", "mtg_plus:ice_block" }, },
})
2016-10-08 07:40:20 -07:00
minetest.register_craft({
output = "mtg_plus:ice_tile16",
recipe = { { "xdecor:packed_ice", "xdecor:packed_ice" },
{ "xdecor:packed_ice", "xdecor:packed_ice" }, },
})
2016-10-08 07:03:49 -07:00
end
2016-09-04 03:46:52 -07:00
minetest.register_node("mtg_plus:ice_tile4", {
2016-10-22 05:11:31 -07:00
description = S("Ice Tile"),
x_doc_items_longdesc = build,
2016-09-04 03:46:52 -07:00
tiles = {"mtg_plus_ice_tile4.png"},
groups = {cracky = 3, level = 1, puts_out_fire = 1},
is_ground_content = false,
paramtype = "light",
sounds = default.node_sound_glass_defaults(),
})
minetest.register_craft({
output = "mtg_plus:ice_tile4",
2016-09-04 03:46:52 -07:00
recipe = { { "mtg_plus:ice_block", "mtg_plus:ice_block" },
{ "mtg_plus:ice_block", "mtg_plus:ice_block" },}
})
minetest.register_node("mtg_plus:ice_tile16", {
2016-10-22 05:11:31 -07:00
description = S("Dense Ice Tile"),
x_doc_items_longdesc = build,
2016-09-04 03:46:52 -07:00
tiles = {"mtg_plus_ice_tile16.png"},
groups = {cracky = 3, level = 2, puts_out_fire = 1},
is_ground_content = false,
sounds = default.node_sound_glass_defaults(),
})
minetest.register_craft({
output = "mtg_plus:ice_tile16",
recipe = { { "mtg_plus:ice_tile4", "mtg_plus:ice_tile4" },
{ "mtg_plus:ice_tile4", "mtg_plus:ice_tile4" } }
})
minetest.register_node("mtg_plus:ice_window", {
2016-10-22 05:11:31 -07:00
description = S("Ice Window"),
x_doc_items_longdesc = S("This decorational ice tile has been crafted in a way that it is partially transparent and looks like a real window."),
2016-09-04 03:46:52 -07:00
drawtype = "glasslike",
tiles = {"mtg_plus_ice_window.png"},
2016-09-04 19:47:17 -07:00
sunlight_propagates = true,
2016-09-04 03:46:52 -07:00
groups = {cracky = 3, puts_out_fire = 1},
is_ground_content = false,
paramtype = "light",
sounds = default.node_sound_glass_defaults(),
})
2016-09-04 19:47:17 -07:00
minetest.register_craft({
output = "mtg_plus:ice_window",
type = "cooking",
recipe = "mtg_plus:ice_tile4",
cooktime = 1,
})
2016-09-04 03:46:52 -07:00
minetest.register_node("mtg_plus:papyrus_block", {
2016-10-22 05:11:31 -07:00
description = S("Papyrus Block"),
x_doc_items_longdesc = build,
2016-09-04 03:46:52 -07:00
tiles = {"mtg_plus_papyrus_block_y.png","mtg_plus_papyrus_block_y.png","mtg_plus_papyrus_block_side2.png","mtg_plus_papyrus_block_side2.png","mtg_plus_papyrus_block_side.png","mtg_plus_papyrus_block_side.png"},
groups = {snappy = 2, choppy = 2, flammable = 3},
is_ground_content = false,
sounds = default.node_sound_leaves_defaults(),
})
minetest.register_craft({
output = "mtg_plus:papyrus_block",
recipe = { { "default:papyrus", "default:papyrus", "default:papyrus", },
{ "default:papyrus", "default:papyrus", "default:papyrus", },
{ "default:papyrus", "default:papyrus", "default:papyrus", } }
})
minetest.register_craft({
output = "default:papyrus 9",
recipe = { { "mtg_plus:papyrus_block" } }
})
2016-10-30 15:28:06 -07:00
minetest.register_craft({
type = "fuel",
recipe = "mtg_plus:papyrus_block",
burntime = 9,
})
2016-09-04 15:32:36 -07:00
minetest.register_node("mtg_plus:snow_brick", {
2016-10-22 05:11:31 -07:00
description = S("Soft Snow Brick"),
x_doc_items_longdesc = build,
2016-09-04 15:32:36 -07:00
tiles = {"mtg_plus_snow_brick.png"},
groups = {crumbly = 2, puts_out_fire = 1},
is_ground_content = false,
sounds = default.node_sound_dirt_defaults({
footstep={name="default_snow_footstep", gain = 0.15},
dig={name="default_snow_footstep", gain = 0.2},
dug={name="default_snow_footstep", gain = 0.2}
}),
})
minetest.register_craft({
output = "mtg_plus:snow_brick 4",
recipe = { { "default:snowblock", "default:snowblock" },
{ "default:snowblock", "default:snowblock", } },
})
minetest.register_craft({
output = "default:snowblock 4",
recipe = { { "mtg_plus:snow_brick" } },
})
minetest.register_node("mtg_plus:hard_snow_brick", {
2016-10-22 05:11:31 -07:00
description = S("Hard Snow Brick"),
x_doc_items_longdesc = build,
2016-09-04 15:32:36 -07:00
tiles = {"mtg_plus_hard_snow_brick.png"},
groups = {crumbly = 1, cracky = 2, puts_out_fire = 1},
is_ground_content = false,
sounds = default.node_sound_dirt_defaults({
dig={name="default_snow_footstep", gain = 0.2},
dug={name="default_snow_footstep", gain = 0.2}
}),
})
minetest.register_craft({
output = "mtg_plus:hard_snow_brick",
recipe = { { "mtg_plus:snow_brick", "mtg_plus:snow_brick" },
{ "mtg_plus:snow_brick", "mtg_plus:snow_brick" } },
})
minetest.register_node("mtg_plus:ice_snow_brick", {
2016-10-22 05:11:31 -07:00
description = S("Icy Snow Brick"),
x_doc_items_longdesc = build,
2016-09-04 15:32:36 -07:00
tiles = {"mtg_plus_ice_snow_brick.png"},
2016-09-04 17:33:02 -07:00
groups = {cracky = 2, puts_out_fire = 1},
2016-09-04 15:32:36 -07:00
is_ground_content = false,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "mtg_plus:ice_snow_brick 2",
type = "shapeless",
recipe = { "mtg_plus:hard_snow_brick", "mtg_plus:ice_brick" },
})
minetest.register_node("mtg_plus:ice_brick", {
2016-10-22 05:11:31 -07:00
description = S("Ice Brick"),
x_doc_items_longdesc = build,
2016-09-04 15:32:36 -07:00
tiles = {"mtg_plus_ice_brick.png"},
paramtype = "light",
groups = {cracky = 3, puts_out_fire = 1},
is_ground_content = false,
sounds = default.node_sound_glass_defaults(),
})
if minetest.get_modpath("xdecor") then
-- Alternate crafting recipe for xdecor compability
minetest.register_craft({
output = "mtg_plus:ice_brick 4",
recipe = { { "", "default:ice", "default:ice" },
{ "default:ice", "default:ice", "" } },
})
minetest.register_craft({
output = "mtg_plus:ice_brick 4",
recipe = { { "default:ice", "default:ice", "" },
{ "", "default:ice", "default:ice" } },
})
else
-- Normal crafting recipe
minetest.register_craft({
output = "mtg_plus:ice_brick 4",
recipe = { { "default:ice", "default:ice" },
{ "default:ice", "default:ice" } },
})
end
2016-09-04 03:46:52 -07:00
minetest.register_node("mtg_plus:goldwood", {
2016-10-22 05:11:31 -07:00
description = S("Goldwood"),
2016-10-30 15:05:35 -07:00
x_doc_items_longdesc = S("Goldwood is a precious artificial kind of wood made by enriching wood with gold. Goldwood is fireproof and notable for its bright yellowy appearance."),
tiles = {"mtg_plus_goldwood.png"},
is_ground_content = false,
2016-10-30 15:05:35 -07:00
groups = {choppy = 2, wood = 1},
sounds = default.node_sound_wood_defaults(),
})
minetest.register_craft({
output = "mtg_plus:goldwood",
type = "shapeless",
recipe = { "group:wood", "default:gold_ingot" },
})
minetest.register_node("mtg_plus:gold_diamond_block", {
2016-10-22 05:11:31 -07:00
description = S("Diamond Block with Golden Frame"),
x_doc_items_longdesc = deco,
tiles = {"mtg_plus_gold_diamond_block.png"},
is_ground_content = false,
groups = {cracky = 1, level = 3},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "mtg_plus:gold_diamond_block",
recipe = { { "", "default:gold_ingot", "", },
{ "default:gold_ingot", "default:diamondblock", "default:gold_ingot", },
{ "", "default:gold_ingot", "", } },
})
minetest.register_node("mtg_plus:goldapple", {
2016-10-22 06:16:11 -07:00
description = S("Golden Decor Apple"),
x_doc_items_longdesc = S("A decorative golden object which is shaped like an apple. It is inedible."),
drawtype = "plantlike",
visual_scale = 1.0,
tiles = {"mtg_plus_goldapple.png"},
inventory_image = "mtg_plus_goldapple.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
is_ground_content = false,
selection_box = {
type = "fixed",
fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2}
},
2016-10-08 12:55:16 -07:00
groups = { dig_immediate = 3, attached_node = 1 },
sounds = default.node_sound_defaults(),
})
minetest.register_craft({
output = "mtg_plus:goldapple",
type = "shapeless",
recipe = { "default:apple", "default:gold_ingot" },
})
-- Cups
local cupnodebox = {
type = "fixed",
fixed = {
{-0.3,-0.5,-0.3,0.3,-0.4,0.3}, -- stand
{-0.1,-0.4,-0.1,0.1,0,0.1}, -- handle
{-0.3,0,-0.3,0.3,0.1,0.3}, -- cup (lower part)
-- the 4 sides of the upper part
{-0.2,0.1,-0.3,0.2,0.5,-0.2},
{-0.2,0.1,0.2,0.2,0.5,0.3},
{-0.3,0.1,-0.3,-0.2,0.5,0.3},
{0.2,0.1,-0.3,0.3,0.5,0.3},
}
}
local cupselbox = {
type = "fixed",
fixed = {
{-0.3,-0.5,-0.3,0.3,-0.4,0.3}, -- stand
{-0.1,-0.4,-0.1,0.1,0,0.1}, -- handle
{-0.3,0,-0.3,0.3,0.5,0.3}, -- upper part
}
}
mtg_plus.register_cup = function(subname, description, tiles, craftitem, craft_count, extra_groups, extra_sounds)
local groups = { dig_immediate=3, falling_node=1, }
if extra_groups then
for k,v in pairs(extra_groups) do
groups[k] = v
end
end
local sounds = default.node_sound_defaults({
footstep = { name = "default_hard_footstep", gain = 0.3 },
})
if extra_sounds then
for k,v in pairs(extra_sounds) do
sounds[k] = v
end
end
local itemstring = "mtg_plus:cup_"..subname
minetest.register_node(itemstring, {
description = description,
x_doc_items_longdesc = S("A decorational item which can be placed."),
tiles = tiles,
paramtype = "light",
drawtype = "nodebox",
node_box = cupnodebox,
selection_box = cupselbox,
groups = groups,
sounds = sounds,
})
if craftitem ~= nil then
if craft_count == nil then craft_count = 1 end
minetest.register_craft({
output = "mtg_plus:cup_"..subname.." "..craft_count,
recipe = {
{craftitem, "", craftitem},
{"", craftitem, ""},
{"", craftitem, ""},
}
})
end
end
2016-10-22 05:11:31 -07:00
mtg_plus.register_cup("bronze", S("Bronze Cup"), { "mtg_plus_cup_bronze.png" }, "default:bronze_ingot", 2)
mtg_plus.register_cup("gold", S("Golden Cup"), { "mtg_plus_cup_gold.png" }, "default:gold_ingot", 2)
mtg_plus.register_cup("diamond", S("Diamond Cup"), { "mtg_plus_cup_diamond.png" }, "default:diamond", 1)
2016-09-04 03:46:52 -07:00
-- Ladders
minetest.register_node("mtg_plus:ladder_papyrus", {
2016-10-22 05:11:31 -07:00
description = S("Papyrus Ladder"),
x_doc_items_longdesc = S("A particulary strong piece of ladder which allows you to move vertically."),
2016-09-04 03:46:52 -07:00
drawtype = "signlike",
tiles = {"mtg_plus_ladder_papyrus.png"},
inventory_image = "mtg_plus_ladder_papyrus.png",
wield_image = "mtg_plus_ladder_papyrus.png",
paramtype = "light",
paramtype2 = "wallmounted",
sunlight_propagates = true,
walkable = false,
climbable = true,
is_ground_content = false,
selection_box = { type = "wallmounted", },
groups = { snappy = 2, choppy = 1, flammable = 2 },
sounds = default.node_sound_leaves_defaults(),
})
minetest.register_craft({
output = "mtg_plus:ladder_papyrus 2",
recipe = { {"default:papyrus", "", "default:papyrus"},
{"farming:string", "default:papyrus", "farming:string"},
{"default:papyrus", "", "default:papyrus"}},
})
2016-10-30 15:28:06 -07:00
minetest.register_craft({
type = "fuel",
recipe = "mtg_plus:ladder_papyrus",
burntime = 2,
})
minetest.register_node("mtg_plus:ladder_gold", {
2016-10-22 05:11:31 -07:00
description = S("Golden Ladder"),
x_doc_items_longdesc = S("A luxurious piece of ladder which allows you to move vertically."),
drawtype = "signlike",
tiles = {"mtg_plus_ladder_gold.png"},
inventory_image = "mtg_plus_ladder_gold.png",
wield_image = "mtg_plus_ladder_gold.png",
paramtype = "light",
paramtype2 = "wallmounted",
sunlight_propagates = true,
walkable = false,
climbable = true,
is_ground_content = false,
selection_box = { type = "wallmounted", },
groups = { cracky = 3, },
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "mtg_plus:ladder_gold 15",
recipe = { {"default:gold_ingot", "", "default:gold_ingot"},
{"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"},
{"default:gold_ingot", "", "default:gold_ingot"}},
})
2016-09-04 03:46:52 -07:00
-- Stairs/slabs
2016-10-22 12:16:52 -07:00
local stairslab_ignore_groups = { "wood", "stone", "soil" }
2016-09-04 16:41:59 -07:00
local function simple_stair_slab(subname, desc_stair, desc_slab)
local itemstring = "mtg_plus:"..subname
2016-09-05 01:28:37 -07:00
local groups = table.copy(minetest.registered_nodes[itemstring].groups)
for i=1,#stairslab_ignore_groups do
groups[stairslab_ignore_groups[i]] = nil
end
stairs.register_stair_and_slab(subname, itemstring, groups, minetest.registered_nodes[itemstring].tiles, desc_stair, desc_slab, minetest.registered_nodes[itemstring].sounds)
2016-09-04 16:41:59 -07:00
end
2016-10-22 05:11:31 -07:00
simple_stair_slab("sandstone_cobble", S("Sandstone Cobblestone Stair"), S("Sandstone Cobblestone Slab"))
simple_stair_slab("jungle_cobble", S("Jungle Cobblestone Stair"), S("Jungle Cobblestone Slab"))
simple_stair_slab("hard_snow_brick", S("Hard Snow Brick Stair"), S("Hard Snow Brick Slab"))
simple_stair_slab("ice_snow_brick", S("Icy Snow Brick Stair"), S("Icy Snow Brick Slab"))
simple_stair_slab("ice_brick", S("Ice Brick Stair"), S("Ice Brick Slab"))
simple_stair_slab("ice_tile4", S("Ice Tile Stair"), S("Ice Tile Slab"))
simple_stair_slab("goldwood", S("Goldwood Stair"), S("Goldwood Slab"))
simple_stair_slab("goldbrick", S("Gold Brick Stair"), S("Gold Brick Slab"))
simple_stair_slab("bronzebrick", S("Bronze Brick Stair"), S("Bronze Brick Slab"))
simple_stair_slab("copperbrick", S("Copper Brick Stair"), S("Copper Brick Slab"))
simple_stair_slab("steelbrick", S("Steel Brick Stair"), S("Steel Brick Slab"))
2016-10-22 12:16:52 -07:00
simple_stair_slab("harddirtbrick", S("Hardened Dirt Brick Stair"), S("Hardened Dirt Brick Slab"))
2016-10-22 13:58:05 -07:00
simple_stair_slab("gravel_cobble", S("Gravel Cobblestone Stair"), S("Gravel Cobblestone Slab"))
2016-10-22 05:11:31 -07:00
stairs.register_slab("ice_block", "mtg_plus:ice_block", {cracky=3}, {"mtg_plus_ice_block.png", "mtg_plus_ice_block.png", "mtg_plus_ice_block_slab.png", "mtg_plus_ice_block_slab.png", "mtg_plus_ice_block_slab.png", "mtg_plus_ice_block_slab.png"}, S("Ice Block Slab"), minetest.registered_items["mtg_plus:ice_block"].sounds)
stairs.register_stair("ice_block", "mtg_plus:ice_block", {cracky=3}, {"mtg_plus_ice_block_slab.png", "mtg_plus_ice_block.png", "mtg_plus_ice_block_stair1.png", "mtg_plus_ice_block_stair2.png", "mtg_plus_ice_block.png", "mtg_plus_ice_block_slab.png"}, S("Ice Block Stair"), minetest.registered_items["mtg_plus:ice_block"].sounds)
2016-09-04 03:46:52 -07:00
-- Beds
beds.register_bed("mtg_plus:bed_simple_white", {
2016-10-22 05:11:31 -07:00
description = S("White Simple Bed"),
--TODO: x_doc_items_longdesc =
2016-09-04 03:46:52 -07:00
inventory_image = "mtg_plus_bed_simple_white.png",
wield_image = "mtg_plus_bed_simple_white.png",
tiles = {
bottom = {
"mtg_plus_bed_simple_white_top_bottom.png^[transformR90",
"default_wood.png",
"mtg_plus_bed_simple_white_side_bottom_r.png",
"mtg_plus_bed_simple_white_side_bottom_r.png^[transformfx",
"beds_transparent.png",
"mtg_plus_bed_simple_white_side_bottom.png"
},
top = {
"mtg_plus_bed_simple_white_top_top.png^[transformR90",
2016-09-04 15:32:36 -07:00
"default_wood.png",
2016-09-04 03:46:52 -07:00
"mtg_plus_bed_simple_white_side_top_r.png",
"mtg_plus_bed_simple_white_side_top_r.png^[transformfx",
"mtg_plus_bed_simple_white_side_top.png",
"beds_transparent.png",
}
},
nodebox = {
bottom = {-0.5, -0.5, -0.5, 0.5, 0.06, 0.5},
top = {-0.5, -0.5, -0.5, 0.5, 0.06, 0.5},
},
selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5},
recipe = {
{"wool:white", "wool:white", "wool:white"},
{"group:wood", "group:wood", "group:wood"}
},
})
2016-10-30 15:28:06 -07:00
minetest.register_craft({
type = "fuel",
recipe = "mtg_plus:bed_simple_white_bottom",
2016-11-01 16:14:19 -07:00
burntime = 12,
2016-10-30 15:28:06 -07:00
})
2016-09-04 03:46:52 -07:00
beds.register_bed("mtg_plus:gold_bed", {
2016-10-22 05:11:31 -07:00
description = S("Golden Bed"),
--TODO: x_doc_items_longdesc =
2016-09-04 03:46:52 -07:00
inventory_image = "mtg_plus_gold_bed.png",
wield_image = "mtg_plus_gold_bed.png",
tiles = {
bottom = {
"mtg_plus_gold_bed_top1.png",
"default_gold_block.png",
"mtg_plus_gold_bed_side1.png",
"mtg_plus_gold_bed_side1.png^[transformFX",
"default_gold_block.png",
"mtg_plus_gold_bed_foot.png",
},
top = {
"mtg_plus_gold_bed_top2.png",
"default_gold_block.png",
"mtg_plus_gold_bed_side2.png",
"mtg_plus_gold_bed_side2.png^[transformFX",
"mtg_plus_gold_bed_head.png",
"default_gold_block.png",
}
},
nodebox = {
bottom = {
{-0.5, -0.5, -0.5, -0.375, -0.065, -0.4375},
{0.375, -0.5, -0.5, 0.5, -0.065, -0.4375},
{-0.5, -0.375, -0.5, 0.5, -0.125, -0.4375},
{-0.5, -0.375, -0.5, -0.4375, -0.125, 0.5},
{0.4375, -0.375, -0.5, 0.5, -0.125, 0.5},
{-0.4375, -0.3125, -0.4375, 0.4375, -0.0625, 0.5},
},
top = {
{-0.5, -0.5, 0.4375, -0.375, 0.1875, 0.5},
{0.375, -0.5, 0.4375, 0.5, 0.1875, 0.5},
{-0.5, 0, 0.4375, 0.5, 0.125, 0.5},
{-0.5, -0.375, 0.4375, 0.5, -0.125, 0.5},
{-0.5, -0.375, -0.5, -0.4375, -0.125, 0.5},
{0.4375, -0.375, -0.5, 0.5, -0.125, 0.5},
{-0.4375, -0.3125, -0.5, 0.4375, -0.0625, 0.4375},
}
},
selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5},
recipe = {
{"", "", "group:stick"},
{"wool:yellow", "wool:yellow", "wool:yellow"},
{"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"},
},
})
2016-11-01 16:53:24 -07:00
-- TODO: Remove this when Minetest Game's API supports setting groups and sounds manually
local goldbeddef = {
groups = { bed = 1, cracky = 2, snappy = 1 },
sounds = default.node_sound_stone_defaults() }
minetest.override_item("mtg_plus:gold_bed_bottom", goldbeddef)
minetest.override_item("mtg_plus:gold_bed_top", goldbeddef)
2016-09-04 03:46:52 -07:00
-- Doors
doors.register("door_wood_bar", {
tiles = {{ name = "mtg_plus_door_wood_bar.png", backface_culling = true }},
2016-10-22 05:11:31 -07:00
description = S("Wooden Bar Door"),
--TODO x_doc_items_longdesc = ,
2016-09-04 03:46:52 -07:00
inventory_image = "mtg_plus_door_wood_bar_item.png",
sounds = default.node_sound_wood_defaults(),
2016-09-05 14:38:08 -07:00
sound_open = "doors_fencegate_open",
sound_close = "doors_fencegate_close",
2016-09-04 03:46:52 -07:00
groups = { snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
recipe = {
2016-09-05 14:58:55 -07:00
{"xpanes:wood",},
{"xpanes:wood",},
2016-09-04 03:46:52 -07:00
}
})
2016-10-30 15:28:06 -07:00
minetest.register_craft({
type = "fuel",
recipe = "doors:door_wood_bar",
burntime = 4,
})
2016-09-04 03:46:52 -07:00
doors.register("door_papyrus", {
tiles = {{ name = "mtg_plus_door_papyrus.png", backface_culling = true }},
2016-10-22 05:11:31 -07:00
description = S("Papyrus Door"),
--TODO x_doc_items_longdesc = ,
2016-09-04 03:46:52 -07:00
inventory_image = "mtg_plus_door_papyrus_item.png",
sounds = default.node_sound_leaves_defaults(),
2016-09-05 14:38:08 -07:00
sound_open = "doors_fencegate_open",
sound_close = "doors_fencegate_close",
2016-09-04 03:46:52 -07:00
groups = { snappy = 2, choppy = 1, flammable = 2 },
recipe = {
{"default:papyrus", "default:papyrus"},
{"farming:string", "farming:string"},
{"default:papyrus", "default:papyrus"},
}
})
2016-10-30 15:28:06 -07:00
minetest.register_craft({
type = "fuel",
recipe = "doors:door_papyrus",
burntime = 4,
})
2016-09-04 03:46:52 -07:00
doors.register("door_iron_bar", {
tiles = {{ name = "mtg_plus_door_iron_bar.png", backface_culling = true }},
2016-10-22 05:11:31 -07:00
description = S("Iron Bar Door"),
--TODO x_doc_items_longdesc = ,
2016-09-04 03:46:52 -07:00
inventory_image = "mtg_plus_door_iron_bar_item.png",
2016-10-08 05:45:33 -07:00
sound_open = "mtg_plus_door_iron_bar_open",
sound_close = "mtg_plus_door_iron_bar_close",
2016-09-04 03:46:52 -07:00
sounds = default.node_sound_stone_defaults(),
groups = { snappy = 2, bendy = 1, cracky = 1, melty = 2, },
2016-09-05 14:58:55 -07:00
recipe = {
{"xpanes:bar",},
{"xpanes:bar",},
}
2016-09-04 03:46:52 -07:00
})
2016-10-08 07:03:49 -07:00
if minetest.get_modpath("xdecor") then
-- xdecor compability
minetest.register_craft({
output = "doors:prison_door",
recipe = {
{ "doors:door_iron_bar" },
{ "doors:door_iron_bar" },
{ "doors:door_iron_bar" },
}
})
2016-09-04 03:46:52 -07:00
2016-10-08 07:03:49 -07:00
minetest.register_craft({
output = "doors:door_iron_bar 3",
recipe = {
{ "doors:prison_door" },
}
})
end
2016-09-04 03:46:52 -07:00
doors.register("door_ice", {
tiles = {{ name = "mtg_plus_door_ice.png", backface_culling = true }},
2016-10-22 05:11:31 -07:00
description = S("Ice Door"),
x_doc_items_longdesc = S("Ice doors can be opened and closed. They are solid, but some of the light hitting ice doors can still go through, making them an interesting decoration in icy areas."),
-- TODO: x_doc_items_usagehelp =,
2016-09-04 03:46:52 -07:00
inventory_image = "mtg_plus_door_ice_item.png",
groups = { cracky = 3, puts_out_fire = 1 },
sounds = default.node_sound_glass_defaults(),
sound_open = "mtg_plus_door_ice_open",
sound_close = "mtg_plus_door_ice_close",
recipe = {
{"default:ice", "default:ice"},
{"default:ice", "default:ice"},
{"default:ice", "default:ice"},
}
})
doors.register("door_icesteel", {
tiles = {{ name = "mtg_plus_door_icesteel.png", backface_culling = true }},
2016-10-22 05:11:31 -07:00
description = S("Icy Steel Door"),
x_doc_items_longdesc = S("Icy steel doors are a combination of ice doors and steel doors which can only be opened and closed by their owners. They are solid, but some of the light hitting icy steel doors can still go through."),
--TODO x_doc_items_longdesc = ,
2016-09-04 03:46:52 -07:00
protected = true,
2016-09-05 17:40:50 -07:00
sound_open = "mtg_plus_door_icesteel_open",
sound_close = "mtg_plus_door_icesteel_close",
2016-09-04 03:46:52 -07:00
inventory_image = "mtg_plus_door_icesteel_item.png",
sounds = default.node_sound_stone_defaults(),
groups = { snappy = 1, bendy = 2, cracky = 3, melty = 3, level = 2, puts_out_fire = 1 },
})
minetest.register_craft({
output = "doors:door_icesteel 2",
type = "shapeless",
recipe = {"doors:door_ice", "doors:door_steel"},
})
doors.register_fencegate("mtg_plus:gate_goldwood", {
2016-10-22 05:11:31 -07:00
description = S("Goldwood Fence Gate"),
2016-10-30 15:05:35 -07:00
x_doc_items_longdesc = S("A fence gate made from precious goldwood. It blocks the path, but it can be opened and easily jumped over. Other fence posts will neatly connect to this fence gate."),
-- TODO usagehelp
material = "mtg_plus:goldwood",
texture = "mtg_plus_goldwood.png",
2016-10-30 15:05:35 -07:00
groups = {choppy=2, },
})
2016-10-22 16:34:41 -07:00
doors.register_trapdoor("mtg_plus:trapdoor_ice", {
description = S("Ice Trapdoor"),
x_doc_items_longdesc = S("An ice trapdoor covers the floor and can be opened and closed by anyone. Ice trapdoors are solid, but some light can pass through nonetheless."),
--TODO x_doc_items_longdesc = ,
2016-10-22 16:34:41 -07:00
tile_front = "mtg_plus_trapdoor_ice.png",
tile_side = "mtg_plus_trapdoor_ice_side.png",
inventory_image = "mtg_plus_trapdoor_ice.png",
wield_image = "mtg_plus_trapdoor_ice.png",
sound_open = "mtg_plus_door_ice_open",
sound_close = "mtg_plus_door_ice_close",
sounds = default.node_sound_glass_defaults(),
2016-10-22 16:36:19 -07:00
groups = { cracky = 3, puts_out_fire = 1, door = 1 },
2016-10-22 16:34:41 -07:00
})
minetest.register_craft({
output = "mtg_plus:trapdoor_ice 2",
recipe = { { "default:ice", "default:ice", "default:ice" },
{ "default:ice", "default:ice", "default:ice" }, }
})
2016-10-22 16:34:41 -07:00
doors.register_trapdoor("mtg_plus:trapdoor_icesteel", {
description = S("Icy Steel Trapdoor"),
x_doc_items_longdesc = S("An icy steel trapdoor is a combination of an ice trapdoor and a steel trapdoor. It covers the floor and can only be opened and closed by its placer. Icy steel trapdoors are solid, but some light can pass through nonetheless."),
--TODO x_doc_items_longdesc = ,
2016-10-22 16:34:41 -07:00
protected = true,
tile_front = "mtg_plus_trapdoor_icesteel.png",
tile_side = "mtg_plus_trapdoor_icesteel_side.png",
inventory_image = "mtg_plus_trapdoor_icesteel.png",
wield_image = "mtg_plus_trapdoor_icesteel.png",
sound_open = "mtg_plus_door_icesteel_open",
sound_close = "mtg_plus_door_icesteel_close",
2016-10-22 16:53:45 -07:00
sounds = default.node_sound_stone_defaults(),
2016-10-22 16:36:19 -07:00
groups = { snappy = 1, bendy = 2, cracky = 3, melty = 3, level = 2, puts_out_fire = 1, door = 1 },
2016-10-22 16:34:41 -07:00
})
minetest.register_craft({
type = "shapeless",
output = "mtg_plus:trapdoor_icesteel 2",
recipe = { "mtg_plus:trapdoor_ice", "doors:trapdoor_steel" },
})
2016-09-04 03:46:52 -07:00
-- Walls
2016-10-22 05:11:31 -07:00
walls.register("mtg_plus:wall_sandstone_cobble", S("Sandstone Cobblestone Wall"), "mtg_plus_sandstone_cobble.png", "mtg_plus:sandstone_cobble", default.node_sound_stone_defaults())
walls.register("mtg_plus:wall_jungle_cobble", S("Jungle Cobblestone Wall"), "mtg_plus_jungle_cobble.png", "mtg_plus:jungle_cobble", default.node_sound_stone_defaults())
walls.register("mtg_plus:wall_ice_tile16", S("Dense Ice Tile Wall"), "mtg_plus_ice_tile16.png", "mtg_plus:ice_tile16", default.node_sound_glass_defaults())
2016-10-22 13:58:05 -07:00
walls.register("mtg_plus:wall_gravel_cobble", S("Gravel Cobblestone Wall"), "mtg_plus_gravel_cobble.png", "mtg_plus:gravel_cobble", default.node_sound_stone_defaults())
2016-09-04 03:46:52 -07:00
2016-09-05 01:28:37 -07:00
do
local groups = minetest.registered_items["mtg_plus:wall_ice_tile16"].groups
groups.stone = nil
minetest.override_item("mtg_plus:wall_ice_tile16", { groups = groups })
groups = minetest.registered_items["mtg_plus:wall_sandstone_cobble"].groups
groups.stone = nil
minetest.override_item("mtg_plus:wall_sandstone_cobble", { groups = groups })
2016-09-05 01:28:37 -07:00
end
-- Fences
default.register_fence("mtg_plus:fence_goldwood", {
2016-10-22 05:11:31 -07:00
description = S("Goldwood Fence"),
x_doc_items_longdesc = S("This is a fence made out of precious goldwood. The fence will neatly connect to its neighbors, making it easy to build nice-looking fence structures. The fence can be jumped over."),
texture = "mtg_plus_goldwood.png",
material = "mtg_plus:goldwood",
sounds = minetest.registered_nodes["mtg_plus:goldwood"].sounds,
2016-10-30 15:05:35 -07:00
groups = {choppy=2, },
})
2016-09-04 03:46:52 -07:00
-- xpanes
xpanes.register_pane("paper", {
2016-10-22 05:11:31 -07:00
description = S("Paper Barrier"),
--TODO x_doc_items_longdesc = ,
2016-09-04 03:46:52 -07:00
inventory_image = "mtg_plus_paperwall.png",
wield_image = "mtg_plus_paperwall.png",
textures = {"mtg_plus_paperwall.png", "mtg_plus_paperwall.png", "mtg_plus_paperwall.png"},
groups = {snappy=3, flammable=4, pane=1},
sounds = {
footstep = {name="mtg_plus_paper_step", gain=0.1, max_hear_distance=7},
place = {name="mtg_plus_paper_step", gain=0.3, max_hear_distance=13},
dig = {name="mtg_plus_paper_dig", gain=0.1, max_hear_distance=11},
dug = {name="mtg_plus_paper_dug", gain=0.2, max_hear_distance=13},
},
recipe = {
{ "default:paper", "default:paper", "default:paper" },
{ "default:paper", "default:paper", "default:paper" },
}
})
2016-10-30 15:28:06 -07:00
minetest.register_craft({
type = "fuel",
recipe = "xpanes:paper",
burntime = 1,
})
2016-09-04 03:46:52 -07:00
xpanes.register_pane("wood", {
2016-10-22 05:11:31 -07:00
description = S("Wooden Bars"),
--TODO x_doc_items_longdesc = ,
2016-09-04 03:46:52 -07:00
inventory_image = "mtg_plus_wooden_bar.png",
wield_image = "mtg_plus_wooden_bar.png",
textures = {"mtg_plus_wooden_bar.png", "mtg_plus_wooden_bar_side.png", "mtg_plus_wooden_bar_y.png"},
groups = {choppy=3, oddly_breakable_by_hand=2, flammable=2, pane=1},
sounds = default.node_sound_wood_defaults(),
recipe = {
{ "group:wood", "", "group:wood" },
{ "group:wood", "", "group:wood" },
{ "group:wood", "", "group:wood" },
}
})
2016-10-30 15:28:06 -07:00
minetest.register_craft({
type = "fuel",
recipe = "xpanes:wood",
burntime = 2,
})
2016-09-04 03:46:52 -07:00
xpanes.register_pane("obsidian_glass", {
2016-10-22 05:11:31 -07:00
description = S("Obsidian Glass Pane"),
--TODO x_doc_items_longdesc = ,
2016-09-04 03:46:52 -07:00
inventory_image = "default_obsidian_glass.png",
wield_image = "default_obsidian_glass.png",
textures = {"default_obsidian_glass.png", "mtg_plus_obsidian_glass_pane_half.png", "default_obsidian.png"},
groups = {cracky=3, pane=1},
sounds = default.node_sound_glass_defaults(),
recipe = {
{ "default:obsidian_glass", "default:obsidian_glass", "default:obsidian_glass" },
{ "default:obsidian_glass", "default:obsidian_glass", "default:obsidian_glass" },
}
2016-09-05 00:51:59 -07:00
})
xpanes.register_pane("goldglass", {
2016-10-22 05:11:31 -07:00
description = S("Goldglass Pane"),
--TODO x_doc_items_longdesc = ,
2016-09-05 00:51:59 -07:00
inventory_image = "mtg_plus_goldglass.png",
wield_image = "mtg_plus_goldglass.png",
2016-10-22 15:50:14 -07:00
textures = {"mtg_plus_goldglass.png","mtg_plus_goldglass_pane_half.png","mtg_plus_goldglass_pane_top.png",},
2016-09-05 00:51:59 -07:00
groups = {cracky=3,oddly_breakable_by_hand=2,pane=1},
sounds = default.node_sound_glass_defaults(),
recipe = {
{ "mtg_plus:goldglass","mtg_plus:goldglass","mtg_plus:goldglass", },
{ "mtg_plus:goldglass","mtg_plus:goldglass","mtg_plus:goldglass", },
}
})
xpanes.register_pane("goldglass2", {
2016-10-22 05:11:31 -07:00
description = S("Golden Window"),
--TODO x_doc_items_longdesc = ,
2016-09-05 00:51:59 -07:00
inventory_image = "mtg_plus_goldglass2.png",
wield_image = "mtg_plus_goldglass2.png",
2016-10-22 15:50:14 -07:00
textures = {"mtg_plus_goldglass2.png","mtg_plus_goldglass_pane_half.png","mtg_plus_goldglass_pane_top.png",},
2016-09-05 00:51:59 -07:00
groups = {cracky=3,oddly_breakable_by_hand=3,pane=1},
sounds = default.node_sound_glass_defaults(),
recipe = {
{ "default:gold_ingot","default:gold_ingot","default:gold_ingot", },
{ "default:gold_ingot","default:glass","default:gold_ingot", },
{ "default:gold_ingot","default:gold_ingot","default:gold_ingot", },
}
2016-09-04 03:46:52 -07:00
})
xpanes.register_pane("papyrus", {
2016-10-22 05:11:31 -07:00
description = S("Papyrus Lattice"),
--TODO x_doc_items_longdesc = ,
2016-09-04 03:46:52 -07:00
inventory_image = "mtg_plus_papyrus_lattice.png",
wield_image = "mtg_plus_papyrus_lattice.png",
textures = {"mtg_plus_papyrus_lattice.png","mtg_plus_papyrus_lattice.png","mtg_plus_papyrus_lattice.png"},
groups = {snappy=2, choppy=1, flammable=2,pane=1},
sounds = default.node_sound_leaves_defaults(),
recipe = {
{ "default:papyrus", "farming:string", "default:papyrus" },
{ "default:papyrus", "farming:string", "default:papyrus" },
}
})
2016-10-30 15:28:06 -07:00
minetest.register_craft({
type = "fuel",
recipe = "xpanes:papyrus",
burntime = 1,
})
2016-10-08 07:03:49 -07:00
if minetest.get_modpath("xdecor") then
-- xdecor compability
minetest.register_craft({
output = "xpanes:papyrus 2",
recipe = {
{ "", "farming:string", "" },
{ "farming:string", "xpanes:bamboo_frame", "farming:string" },
}
})
minetest.register_craft({
output = "xpanes:bamboo_frame",
recipe = { { "xpanes:papyrus", "xpanes:papyrus", }, }
})
end
2016-09-04 03:46:52 -07:00
xpanes.register_pane("ice", {
2016-10-22 05:11:31 -07:00
description = S("Ice Window Pane"),
x_doc_items_longdesc = S("Ice window panes are thinner than the full ice windows and neatly connect to each other as you build them"),
2016-09-04 03:46:52 -07:00
inventory_image = "mtg_plus_ice_window.png",
wield_image = "mtg_plus_ice_window.png",
textures = {"mtg_plus_ice_window.png", "mtg_plus_ice_window.png", "mtg_plus_ice_window.png"},
groups = {cracky=3, pane=1},
sounds = default.node_sound_glass_defaults(),
recipe = {
2016-09-04 19:47:17 -07:00
{ "mtg_plus:ice_window", "mtg_plus:ice_window", "mtg_plus:ice_window", },
{ "mtg_plus:ice_window", "mtg_plus:ice_window", "mtg_plus:ice_window", }
2016-09-04 03:46:52 -07:00
}
})
-- moreblocks extras
if minetest.get_modpath("moreblocks") then
minetest.register_craft({
type = "shapeless",
output = "default:glass",
recipe = {"mtg_plus:dirty_glass", "moreblocks:sweeper"}
})
minetest.register_craft({
type = "shapeless",
output = "moreblocks:clean_glass",
recipe = {"mtg_plus:dirty_glass", "moreblocks:sweeper", "moreblocks:sweeper"}
})
minetest.register_craft({
output = "mtg_plus:dirty_glass",
recipe = {
{"default:dirt"},
{"moreblocks:clean_glass"}
}
})
2016-09-04 19:47:17 -07:00
minetest.register_craft({
type = "shapeless",
output = "mtg_plus:ice_window",
recipe = { "mtg_plus:ice_tile4", "moreblocks:sweeper" },
})
2016-09-04 03:46:52 -07:00
end
2016-10-23 19:23:49 -07:00
-- furniture extras
if minetest.get_modpath("furniture") then
furniture.register_wooden("mtg_plus:goldwood", {
description = S("Goldwood"),
description_chair = S("Goldwood Chair"),
description_stool = S("Goldwood Stool"),
description_table = S("Goldwood Table"),
})
furniture.register_stone("mtg_plus:jungle_cobble", {
description = S("Jungle Cobblestone"),
description_stool = S("Jungle Cobblestone Stool"),
description_table = S("Jungle Cobblestone Table"),
})
furniture.register_stone("mtg_plus:sandstone_cobble", {
description = S("Sandstone Cobblestone"),
description_stool = S("Sandstone Cobblestone Stool"),
description_table = S("Sandstone Cobblestone Table"),
})
furniture.register_stone("mtg_plus:gravel_cobble", {
description = S("Gravel Cobblestone"),
description_stool = S("Gravel Cobblestone Stool"),
description_table = S("Gravel Cobblestone Table"),
})
end