minetest_mtg_plus/init.lua

1395 lines
46 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
2016-11-08 17:13:21 -08:00
S = intllib.Getter()
2016-10-22 05:11:31 -07:00
else
S = function(s) return s end
end
mtg_plus = {}
2016-11-02 05:17:02 -07:00
local deco, build
if minetest.get_modpath("doc_items") then
deco = doc.sub.items.temp.deco
build = doc.sub.items.temp.build
end
2016-11-02 06:03:38 -07:00
local metal_sounds
if default.node_sound_metal_defaults then
metal_sounds = default.node_sound_metal_defaults()
else
metal_sounds = default.node_sound_stone_defaults()
end
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"),
2016-11-15 21:51:09 -08:00
_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"),
2016-11-15 21:51:09 -08:00
_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"),
2016-11-15 21:51:09 -08:00
_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(),
2016-12-30 10:49:25 -08:00
drop = "default:dirt",
2016-10-22 12:16:52 -07:00
})
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"),
2016-11-15 21:51:09 -08:00
_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"),
2016-11-15 21:51:09 -08:00
_doc_items_longdesc = S("Gravel dirt is a type of dirt consisting of equal parts of gravel and dirt. It combines some of the properties of gravel and dirt."),
2016-10-22 12:51:59 -07:00
tiles = {"mtg_plus_graveldirt.png"},
2016-11-01 17:53:20 -07:00
is_ground_content = true,
2016-10-22 12:51:59 -07:00
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", {
2017-06-07 10:26:18 -07:00
description = S("Cobbled Gravel"),
_doc_items_longdesc = S("Cobbled gravel 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",
})
minetest.register_node("mtg_plus:flint_block", {
2016-12-03 07:08:03 -08:00
description = S("Flint Block"),
_doc_items_longdesc = deco,
tiles = {"mtg_plus_flint_block.png"},
is_ground_content = false,
groups = {cracky = 2},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "mtg_plus:flint_block",
2016-12-03 07:08:03 -08:00
recipe = {
{ "default:flint", "default:flint", "default:flint" },
{ "default:flint", "default:flint", "default:flint" },
{ "default:flint", "default:flint", "default:flint" },
}
})
minetest.register_craft({
output = "default:flint 9 ",
recipe = {
{ "mtg_plus:flint_block" },
2016-12-03 07:08:03 -08:00
}
})
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"),
2016-11-15 21:51:09 -08:00
_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, },
2016-11-02 06:03:38 -07:00
sounds = metal_sounds,
2016-10-08 05:44:49 -07:00
})
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"),
2016-11-15 21:51:09 -08:00
_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 },
2016-11-02 06:03:38 -07:00
sounds = metal_sounds,
2016-10-08 05:44:49 -07:00
})
minetest.register_craft({
output = "mtg_plus:bronzebrick 4",
recipe = { { "default:bronzeblock", "default:bronzeblock", },
{ "default:bronzeblock", "default:bronzeblock", }, },
})
2017-06-07 07:03:08 -07:00
minetest.register_node("mtg_plus:tinbrick", {
description = S("Tin Brick"),
_doc_items_longdesc = build,
tiles = {"mtg_plus_tin_brick.png"},
is_ground_content = false,
groups = { cracky = 1, level = 2 },
sounds = metal_sounds,
})
minetest.register_craft({
output = "mtg_plus:tinbrick 4",
recipe = { { "default:tinblock", "default:tinblock", },
{ "default:tinblock", "default:tinblock", }, },
})
2016-10-08 05:44:49 -07:00
minetest.register_node("mtg_plus:copperbrick", {
2016-10-22 05:11:31 -07:00
description = S("Copper Brick"),
2016-11-15 21:51:09 -08:00
_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 },
2016-11-02 06:03:38 -07:00
sounds = metal_sounds,
2016-10-08 05:44:49 -07:00
})
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"),
2016-11-15 21:51:09 -08:00
_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 },
2016-11-02 06:03:38 -07:00
sounds = metal_sounds,
2016-10-08 05:44:49 -07:00
})
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"),
2016-11-15 21:51:09 -08:00
_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"),
2016-11-15 21:51:09 -08:00
_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"),
2016-11-15 21:51:09 -08:00
_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:desert_sandstone_brick_gold", {
description = S("Desert Sandstone Brick with Golden Edges"),
_doc_items_longdesc = build,
tiles = {"mtg_plus_desert_sandstone_brick_gold.png"},
is_ground_content = false,
groups = { cracky = 2, },
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "mtg_plus:desert_sandstone_brick_gold 4",
recipe = { { "", "default:desert_sandstone_brick", "", },
{ "default:desert_sandstone_brick", "default:gold_ingot", "default:desert_sandstone_brick", },
{ "", "default:desert_sandstone_brick", "", } }
})
minetest.register_node("mtg_plus:silver_sandstone_brick_gold", {
description = S("Silver Sandstone Brick with Golden Edges"),
_doc_items_longdesc = build,
tiles = {"mtg_plus_silver_sandstone_brick_gold.png"},
is_ground_content = false,
groups = { cracky = 2, },
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "mtg_plus:silver_sandstone_brick_gold 4",
recipe = { { "", "default:silver_sandstone_brick", "", },
{ "default:silver_sandstone_brick", "default:gold_ingot", "default:silver_sandstone_brick", },
{ "", "default:silver_sandstone_brick", "", } }
})
2016-09-05 03:21:44 -07:00
minetest.register_node("mtg_plus:obsidianbrick_gold", {
2016-10-22 05:11:31 -07:00
description = S("Obsidian Brick with Golden Edges"),
2016-11-15 21:51:09 -08:00
_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", {
2017-06-07 10:26:18 -07:00
description = S("Cobbled Sandstone"),
2016-11-15 21:51:09 -08:00
_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",
})
minetest.register_node("mtg_plus:desert_sandstone_cobble", {
2017-06-07 10:26:18 -07:00
description = S("Cobbled Desert Sandstone"),
_doc_items_longdesc = build,
tiles = {"mtg_plus_desert_sandstone_cobble.png"},
groups = {cracky = 3, },
is_ground_content = false,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "mtg_plus:desert_sandstone_cobble 2",
recipe = { { "default:desert_sandstone", "default:desert_sandstone" } },
})
minetest.register_craft({
type = "cooking",
output = "default:desert_sandstone",
recipe = "mtg_plus:desert_sandstone_cobble",
})
minetest.register_node("mtg_plus:silver_sandstone_cobble", {
2017-06-07 10:26:18 -07:00
description = S("Cobbled Silver Sandstone"),
_doc_items_longdesc = build,
tiles = {"mtg_plus_silver_sandstone_cobble.png"},
groups = {cracky = 3, },
is_ground_content = false,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "mtg_plus:silver_sandstone_cobble 2",
recipe = { { "default:silver_sandstone", "default:silver_sandstone" } },
})
minetest.register_craft({
type = "cooking",
output = "default:silver_sandstone",
recipe = "mtg_plus:silver_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"),
2016-11-15 21:51:09 -08:00
_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"),
2016-11-15 21:51:09 -08:00
_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 = false,
2016-10-22 05:55:51 -07:00
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"),
2016-11-15 21:51:09 -08:00
_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, cools_lava = 1},
2016-09-04 03:46:52 -07:00
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"),
2016-11-15 21:51:09 -08:00
_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, cools_lava = 1},
2016-09-04 03:46:52 -07:00
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"),
2016-11-15 21:51:09 -08:00
_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, cools_lava = 1},
2016-09-04 03:46:52 -07:00
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"),
2016-11-15 21:51:09 -08:00
_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,
groups = {cracky = 3, puts_out_fire = 1, cools_lava = 1},
2016-09-04 03:46:52 -07:00
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"),
2016-11-15 21:51:09 -08:00
_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"),
2016-11-15 21:51:09 -08:00
_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, cools_lava = 1, snowy = 1},
2016-09-04 15:32:36 -07:00
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"),
2016-11-15 21:51:09 -08:00
_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, cools_lava = 1, snowy = 1},
2016-09-04 15:32:36 -07:00
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"),
2016-11-15 21:51:09 -08:00
_doc_items_longdesc = build,
2016-09-04 15:32:36 -07:00
tiles = {"mtg_plus_ice_snow_brick.png"},
groups = {cracky = 2, puts_out_fire = 1, cools_lava = 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"),
2016-11-15 21:51:09 -08:00
_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, cools_lava = 1},
2016-09-04 15:32:36 -07:00
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-11-15 21:51:09 -08:00
_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(),
})
2016-11-02 06:52:22 -07:00
-- FIXME: Goldwood can be used as furnace fuel because of group:wood recipe
minetest.register_craft({
output = "mtg_plus:goldwood",
type = "shapeless",
recipe = { "group:wood", "default:gold_ingot" },
})
minetest.register_node("mtg_plus:gold_diamond_block", {
2016-11-02 12:38:23 -07:00
description = S("Small Gold-framed Diamond Block"),
2016-11-15 21:51:09 -08:00
_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",
2016-11-02 12:38:23 -07:00
recipe = { { "default:gold_ingot", "default:diamond", "default:gold_ingot", },
{ "default:diamond", "default:diamond", "default:diamond" },
{ "default:gold_ingot", "default:diamond", "default:gold_ingot", } },
})
minetest.register_node("mtg_plus:goldapple", {
2016-10-22 06:16:11 -07:00
description = S("Golden Decor Apple"),
2016-11-15 21:51:09 -08:00
_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
2016-11-02 06:03:38 -07:00
local sounds
if default.node_sound_metal_defaults then
sounds = default.node_sound_defaults({
footstep = { name = "default_metal_footstep", gain = 0.3 },
})
else
sounds = default.node_sound_defaults({
footstep = { name = "default_hard_footstep", gain = 0.3 },
})
end
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,
2016-11-15 21:51:09 -08:00
_doc_items_longdesc = S("A decorational item which can be placed."),
tiles = tiles,
paramtype = "light",
drawtype = "nodebox",
node_box = cupnodebox,
is_ground_content = false,
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)
2016-11-02 06:03:38 -07:00
mtg_plus.register_cup("diamond", S("Diamond Cup"), { "mtg_plus_cup_diamond.png" }, "default:diamond", 1, nil,
default.node_sound_defaults({ footstep = { name = "default_hard_footstep", gain = 0.3 }}))
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"),
2016-11-15 21:51:09 -08:00
_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"),
2016-11-15 21:51:09 -08:00
_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, },
2016-11-02 06:03:38 -07:00
sounds = metal_sounds,
})
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
-- Add tin block stair and tin block slab which are oddly not present in Minetest Game 0.4.16.
-- NOTE: It is likely that these block will be added into stock Minetest Game one day.
-- This automatically checks if the node is already registered to avoid duplicates.
-- TODO: Remove this section anyway when Minetest Game adds these blocks.
if minetest.registered_nodes["stairs:slab_tinblock"] == nil then
stairs.register_stair_and_slab("tinblock", "default:tinblock", minetest.registered_nodes["default:tinblock"].groups, minetest.registered_nodes["default:tinblock"].tiles, S("Tin Block Stair"), S("Tin Block Slab"), minetest.registered_nodes["default:tinblock"].sounds)
end
-- Add custom stairs and slabs
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
2017-06-07 10:26:18 -07:00
simple_stair_slab("sandstone_cobble", S("Cobbled Sandstone Stair"), S("Cobbled Sandstone Slab"))
simple_stair_slab("desert_sandstone_cobble", S("Cobbled Desert Sandstone Stair"), S("Cobbled Desert Sandstone Slab"))
simple_stair_slab("silver_sandstone_cobble", S("Cobbled Silver Sandstone Stair"), S("Cobbled Silver Sandstone Slab"))
2016-10-22 05:11:31 -07:00
simple_stair_slab("jungle_cobble", S("Jungle Cobblestone Stair"), S("Jungle Cobblestone Slab"))
2017-06-07 08:24:31 -07:00
simple_stair_slab("snow_brick", S("Soft Snow Brick Stair"), S("Soft Snow Brick Slab"))
2016-10-22 05:11:31 -07:00
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"))
2017-06-07 07:03:08 -07:00
simple_stair_slab("tinbrick", S("Tin Brick Stair"), S("Tin Brick Slab"))
2016-10-22 05:11:31 -07:00
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"))
2017-06-07 10:26:18 -07:00
simple_stair_slab("gravel_cobble", S("Cobbled Gravel Stair"), S("Cobbled Gravel Slab"))
2016-12-03 07:24:25 -08:00
stairs.register_slab("flint_block", "mtg_plus:flint_block", {cracky=2}, {"mtg_plus_flint_block.png", "mtg_plus_flint_block.png", "mtg_plus_flint_block_slab.png", "mtg_plus_flint_block_slab.png", "mtg_plus_flint_block_slab.png", "mtg_plus_flint_block_slab.png"}, S("Flint Block Slab"), minetest.registered_items["mtg_plus:flint_block"].sounds)
stairs.register_stair("flint_block", "mtg_plus:flint_block", {cracky=2}, {"mtg_plus_flint_block_slab.png", "mtg_plus_flint_block.png", "mtg_plus_flint_block_stair1.png", "mtg_plus_flint_block_stair2.png", "mtg_plus_flint_block.png", "mtg_plus_flint_block_slab.png"}, S("Flint Block Stair"), minetest.registered_items["mtg_plus:flint_block"].sounds)
2016-10-22 05:11:31 -07:00
stairs.register_slab("ice_block", "mtg_plus:ice_block", {cracky=3, puts_out_fire=1, cools_lava=1}, {"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, puts_out_fire=1, cools_lava=1}, {"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
-- 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"),
2016-11-15 21:51:09 -08:00
--TODO _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"),
2016-11-15 21:51:09 -08:00
--TODO _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"),
2016-11-15 21:51:09 -08:00
--TODO _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-11-02 06:03:38 -07:00
sounds = metal_sounds,
2016-09-04 03:46:52 -07:00
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"),
2016-11-15 21:51:09 -08:00
_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: _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"),
2016-11-15 21:51:09 -08:00
_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 _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",
2016-11-02 06:03:38 -07:00
sounds = metal_sounds,
2016-09-04 03:46:52 -07:00
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-11-15 21:51:09 -08:00
_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."),
2016-10-30 15:05:35 -07:00
-- 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"),
2016-11-15 21:51:09 -08:00
_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 _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"),
2016-11-15 21:51:09 -08:00
_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 _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-11-02 06:03:38 -07:00
sounds = metal_sounds,
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
2017-06-07 10:26:18 -07:00
walls.register("mtg_plus:wall_sandstone_cobble", S("Cobbled Sandstone Wall"), "mtg_plus_sandstone_cobble.png", "mtg_plus:sandstone_cobble", default.node_sound_stone_defaults())
walls.register("mtg_plus:wall_desert_sandstone_cobble", S("Cobbled Desert Sandstone Wall"), "mtg_plus_desert_sandstone_cobble.png", "mtg_plus:desert_sandstone_cobble", default.node_sound_stone_defaults())
walls.register("mtg_plus:wall_silver_sandstone_cobble", S("Cobbled Silver Sandstone Wall"), "mtg_plus_silver_sandstone_cobble.png", "mtg_plus:silver_sandstone_cobble", default.node_sound_stone_defaults())
2016-10-22 05:11:31 -07:00
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())
2017-06-07 10:26:18 -07:00
walls.register("mtg_plus:wall_gravel_cobble", S("Cobbled Gravel 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"),
2016-11-15 21:51:09 -08:00
_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"),
2016-11-15 21:51:09 -08:00
--TODO _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" },
}
})
local r
if minetest.registered_items["xpanes:paper_flat"] then
r = "xpanes:paper_flat"
else
r = "xpanes:paper"
end
2016-10-30 15:28:06 -07:00
minetest.register_craft({
type = "fuel",
recipe = r,
2016-10-30 15:28:06 -07:00
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"),
2016-11-15 21:51:09 -08:00
--TODO _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" },
}
})
if minetest.registered_items["xpanes:wood_flat"] then
r = "xpanes:wood_flat"
else
r = "xpanes:wood"
end
2016-10-30 15:28:06 -07:00
minetest.register_craft({
type = "fuel",
recipe = r,
2016-10-30 15:28:06 -07:00
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"),
2016-11-15 21:51:09 -08:00
--TODO _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"),
2016-11-15 21:51:09 -08:00
--TODO _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"),
2016-11-15 21:51:09 -08:00
--TODO _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"),
2016-11-15 21:51:09 -08:00
--TODO _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" },
}
})
if minetest.registered_items["xpanes:papyrus_flat"] then
r = "xpanes:papyrus_flat"
else
r = "xpanes:papyrus"
end
2016-10-30 15:28:06 -07:00
minetest.register_craft({
type = "fuel",
recipe = r,
2016-10-30 15:28:06 -07:00
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"),
2016-11-15 21:51:09 -08:00
_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", {
2017-06-07 10:26:18 -07:00
description = S("Cobbled Sandstone"),
description_stool = S("Cobbled Sandstone Stool"),
description_table = S("Cobbled Sandstone Table"),
2016-10-23 19:23:49 -07:00
})
2017-06-07 08:14:52 -07:00
furniture.register_stone("mtg_plus:desert_sandstone_cobble", {
2017-06-07 10:26:18 -07:00
description = S("Cobbled Desert Sandstone"),
description_stool = S("Cobbled Desert Sandstone Stool"),
description_table = S("Cobbled Desert Sandstone Table"),
2017-06-07 08:14:52 -07:00
})
furniture.register_stone("mtg_plus:silver_sandstone_cobble", {
2017-06-07 10:26:18 -07:00
description = S("Cobbled Silver Sandstone"),
description_stool = S("Cobbled Silver Sandstone Stool"),
description_table = S("Cobbled Silver Sandstone Table"),
2017-06-07 08:14:52 -07:00
})
2016-10-23 19:23:49 -07:00
furniture.register_stone("mtg_plus:gravel_cobble", {
2017-06-07 10:26:18 -07:00
description = S("Cobbled Gravel"),
description_stool = S("Cobbled Gravel Stool"),
description_table = S("Cobbled Gravel Table"),
2016-10-23 19:23:49 -07:00
})
end
2016-11-02 12:32:10 -07:00
if minetest.get_modpath("awards") then
awards.register_achievement("mtg_plus_cup_gold", {
title = S("Self-proclaimed Winner"),
description = S("Craft a golden cup."),
icon = "mtg_plus_cup_gold.png",
trigger = {
type = "craft",
item = "mtg_plus:cup_gold",
target = 1
}
})
awards.register_achievement("mtg_plus_goldwood", {
title = S("Rich Carpenter"),
description = S("Craft 100 goldwood."),
icon = "mtg_plus_goldwood.png",
trigger = {
type = "craft",
item = "mtg_plus:goldwood",
target = 100
}
})
awards.register_achievement("mtg_plus_gravel_cobble", {
title = S("Historic City"),
2017-06-07 11:33:58 -07:00
description = S("Craft 400 cobbled gravel."),
2016-11-02 12:32:10 -07:00
icon = "mtg_plus_gravel_cobble.png",
trigger = {
type = "craft",
item = "mtg_plus:gravel_cobble",
2016-11-05 21:47:52 -07:00
target = 400
2016-11-02 12:32:10 -07:00
}
})
awards.register_achievement("mtg_plus_papyrus_block", {
title = S("Papyrus Panic"),
description = S("Build 100 papyrus blocks."),
icon = "mtg_plus_papyrus_block_side.png",
trigger = {
type = "place",
node = "mtg_plus:papyrus_block",
target = 100
}
})
awards.register_achievement("mtg_plus_harddiamondblock", {
title = S("Can't dig me!"),
2017-06-07 11:02:54 -07:00
description = S("Place a aggregated diamond block."),
2016-11-02 12:32:10 -07:00
icon = "mtg_plus_hard_diamond_block.png",
trigger = {
type = "place",
2016-11-05 21:47:52 -07:00
node = "mtg_plus:harddiamondblock",
target = 1
2016-11-02 12:32:10 -07:00
}
})
awards.register_achievement("mtg_plus_ice_tile16", {
title = S("Ice Crazy"),
description = S("Craft 128 dense ice tiles."),
icon = "mtg_plus_ice_tile16.png",
trigger = {
type = "craft",
item = "mtg_plus:ice_tile16",
target = 128
}
})
awards.register_achievement("mtg_plus_hard_snow_brick", {
title = S("Let's build an igloo!"),
description = S("Place 225 hard snow bricks."),
icon = "mtg_plus_hard_snow_brick.png",
trigger = {
type = "place",
node = "mtg_plus:hard_snow_brick",
target = 225
}
})
awards.register_achievement("mtg_plus_gold_bed", {
title = S("Luxurious Adornment"),
2016-11-02 12:38:23 -07:00
description = S("Craft 4 small gold-framed diamond blocks."),
2016-11-02 12:32:10 -07:00
icon = "mtg_plus_gold_diamond_block.png",
trigger = {
type = "craft",
item = "mtg_plus:gold_diamond_block",
target = 4
}
})
awards.register_achievement("mtg_plus_jungle_cobble", {
title = S("Green Jungle"),
description = S("Craft 512 jungle cobblestone."),
icon = "mtg_plus_jungle_cobble.png",
trigger = {
type = "craft",
item = "mtg_plus:jungle_cobble",
target = 512
}
})
awards.register_achievement("mtg_plus_sandstone_cobble", {
title = S("Yellow Desert"),
2017-06-07 10:56:41 -07:00
description = S("Craft 512 cobbled sandstone."),
2016-11-02 12:32:10 -07:00
icon = "mtg_plus_sandstone_cobble.png",
trigger = {
type = "craft",
item = "mtg_plus:sandstone_cobble",
target = 512
}
})
end
2017-06-07 07:26:21 -07:00
-- Legacy aliases
-- Earlier versions had beds, but those were removed because they were considered ugly
minetest.register_alias("mtg_plus:gold_bed_bottom", "beds:fancy_bed_bottom")
minetest.register_alias("mtg_plus:gold_bed_top", "beds:fancy_bed_top")
minetest.register_alias("mtg_plus:bed_simple_white_bottom", "beds:bed_bottom")
minetest.register_alias("mtg_plus:bed_simple_white_top", "beds:bed_top")