Refactor ALL the code into separate files

master
Wuzzy 2017-06-08 12:57:37 +02:00
parent d51cd4af74
commit 334457267a
15 changed files with 1513 additions and 1392 deletions

6
aliases.lua Normal file
View File

@ -0,0 +1,6 @@
-- 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")

102
awards.lua Normal file
View File

@ -0,0 +1,102 @@
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"),
description = S("Craft 400 cobbled gravel."),
icon = "mtg_plus_gravel_cobble.png",
trigger = {
type = "craft",
item = "mtg_plus:gravel_cobble",
target = 400
}
})
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!"),
description = S("Place a aggregated diamond block."),
icon = "mtg_plus_hard_diamond_block.png",
trigger = {
type = "place",
node = "mtg_plus:harddiamondblock",
target = 1
}
})
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"),
description = S("Craft 4 small gold-framed diamond blocks."),
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"),
description = S("Craft 512 cobbled sandstone."),
icon = "mtg_plus_sandstone_cobble.png",
trigger = {
type = "craft",
item = "mtg_plus:sandstone_cobble",
target = 512
}
})
end

425
brickblocks.lua Normal file
View File

@ -0,0 +1,425 @@
-- Boilerplate to support localized strings if intllib mod is installed.
local S
if minetest.get_modpath("intllib") then
S = intllib.Getter()
else
S = function(s) return s end
end
local deco, build
if minetest.get_modpath("doc_items") then
deco = doc.sub.items.temp.deco
build = doc.sub.items.temp.build
end
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
-- Dirt bricks
minetest.register_node("mtg_plus:dirtbrick", {
description = S("Soft Dirt Brick"),
_doc_items_longdesc = build,
tiles = {"mtg_plus_dirt_brick.png"},
is_ground_content = false,
groups = { crumbly = 2, soil = 1 },
sounds = default.node_sound_dirt_defaults(),
drop = "default:dirt",
})
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"),
_doc_items_longdesc = build,
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,
})
-- Metal bricks
minetest.register_node("mtg_plus:goldbrick", {
description = S("Gold Brick"),
_doc_items_longdesc = build,
tiles = {"mtg_plus_gold_brick.png"},
is_ground_content = false,
groups = { cracky = 1, },
sounds = metal_sounds,
})
minetest.register_craft({
output = "mtg_plus:goldbrick 4",
recipe = { { "default:goldblock", "default:goldblock", },
{ "default:goldblock", "default:goldblock", }, },
})
minetest.register_node("mtg_plus:bronzebrick", {
description = S("Bronze Brick"),
_doc_items_longdesc = build,
tiles = {"mtg_plus_bronze_brick.png"},
is_ground_content = false,
groups = { cracky = 1, level = 2 },
sounds = metal_sounds,
})
minetest.register_craft({
output = "mtg_plus:bronzebrick 4",
recipe = { { "default:bronzeblock", "default:bronzeblock", },
{ "default:bronzeblock", "default:bronzeblock", }, },
})
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", }, },
})
minetest.register_node("mtg_plus:copperbrick", {
description = S("Copper Brick"),
_doc_items_longdesc = build,
tiles = {"mtg_plus_copper_brick.png"},
is_ground_content = false,
groups = { cracky = 1, level = 2 },
sounds = metal_sounds,
})
minetest.register_craft({
output = "mtg_plus:copperbrick 4",
recipe = { { "default:copperblock", "default:copperblock", },
{ "default:copperblock", "default:copperblock", }, },
})
minetest.register_node("mtg_plus:steelbrick", {
description = S("Steel Brick"),
_doc_items_longdesc = build,
tiles = {"mtg_plus_steel_brick.png"},
is_ground_content = false,
groups = { cracky = 1, level = 2 },
sounds = metal_sounds,
})
minetest.register_craft({
output = "mtg_plus:steelbrick 4",
recipe = { { "default:steelblock", "default:steelblock", },
{ "default:steelblock", "default:steelblock", }, },
})
-- Golden edges
minetest.register_node("mtg_plus:stonebrick_gold", {
description = S("Stone Brick with Golden Edges"),
_doc_items_longdesc = build,
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", {
description = S("Desert Stone Brick with Golden Edges"),
_doc_items_longdesc = build,
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", {
description = S("Sandstone Brick with Golden Edges"),
_doc_items_longdesc = build,
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", "", } }
})
minetest.register_node("mtg_plus:obsidianbrick_gold", {
description = S("Obsidian Brick with Golden Edges"),
_doc_items_longdesc = build,
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", "", } }
})
-- Snow and ice
minetest.register_node("mtg_plus:ice_block", {
description = S("Ice Block"),
_doc_items_longdesc = build,
tiles = {"mtg_plus_ice_block.png"},
groups = {cracky = 3, puts_out_fire = 1, cools_lava = 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" } }
})
minetest.register_node("mtg_plus:ice_tile4", {
description = S("Ice Tile"),
_doc_items_longdesc = build,
tiles = {"mtg_plus_ice_tile4.png"},
groups = {cracky = 3, level = 1, puts_out_fire = 1, cools_lava = 1},
is_ground_content = false,
paramtype = "light",
sounds = default.node_sound_glass_defaults(),
})
minetest.register_craft({
output = "mtg_plus:ice_tile4",
recipe = { { "mtg_plus:ice_block", "mtg_plus:ice_block" },
{ "mtg_plus:ice_block", "mtg_plus:ice_block" },}
})
minetest.register_node("mtg_plus:ice_tile16", {
description = S("Dense Ice Tile"),
_doc_items_longdesc = build,
tiles = {"mtg_plus_ice_tile16.png"},
groups = {cracky = 3, level = 2, puts_out_fire = 1, cools_lava = 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:snow_brick", {
description = S("Soft Snow Brick"),
_doc_items_longdesc = build,
tiles = {"mtg_plus_snow_brick.png"},
groups = {crumbly = 2, puts_out_fire = 1, cools_lava = 1, snowy = 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", {
description = S("Hard Snow Brick"),
_doc_items_longdesc = build,
tiles = {"mtg_plus_hard_snow_brick.png"},
groups = {crumbly = 1, cracky = 2, puts_out_fire = 1, cools_lava = 1, snowy = 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", {
description = S("Icy Snow Brick"),
_doc_items_longdesc = build,
tiles = {"mtg_plus_ice_snow_brick.png"},
groups = {cracky = 2, puts_out_fire = 1, cools_lava = 1},
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", {
description = S("Ice Brick"),
_doc_items_longdesc = build,
tiles = {"mtg_plus_ice_brick.png"},
paramtype = "light",
groups = {cracky = 3, puts_out_fire = 1, cools_lava = 1},
is_ground_content = false,
sounds = default.node_sound_glass_defaults(),
})
-- Papyrus Block
minetest.register_node("mtg_plus:papyrus_block", {
description = S("Papyrus Block"),
_doc_items_longdesc = build,
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" } }
})
minetest.register_craft({
type = "fuel",
recipe = "mtg_plus:papyrus_block",
burntime = 9,
})
-- Flint block
minetest.register_node("mtg_plus:flint_block", {
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",
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" },
}
})
-- Gold-framed diamond block, just an absurd luxurious decoration. :D
minetest.register_node("mtg_plus:gold_diamond_block", {
description = S("Small Gold-framed Diamond Block"),
_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:diamond", "default:gold_ingot", },
{ "default:diamond", "default:diamond", "default:diamond" },
{ "default:gold_ingot", "default:diamond", "default:gold_ingot", } },
})

123
cobble.lua Normal file
View File

@ -0,0 +1,123 @@
-- Boilerplate to support localized strings if intllib mod is installed.
local S
if minetest.get_modpath("intllib") then
S = intllib.Getter()
else
S = function(s) return s end
end
local build
if minetest.get_modpath("doc_items") then
build = doc.sub.items.temp.build
end
-- Cobblestone
minetest.register_node("mtg_plus:gravel_cobble", {
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."),
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:sandstone_cobble", {
description = S("Cobbled Sandstone"),
_doc_items_longdesc = build,
tiles = {"mtg_plus_sandstone_cobble.png"},
groups = {cracky = 3, },
is_ground_content = false,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "mtg_plus:sandstone_cobble 2",
recipe = { { "default:sandstone", "default:sandstone" } },
})
minetest.register_craft({
type = "cooking",
output = "default:sandstone",
recipe = "mtg_plus:sandstone_cobble",
})
minetest.register_node("mtg_plus:desert_sandstone_cobble", {
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", {
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",
})
minetest.register_node("mtg_plus:jungle_cobble", {
description = S("Jungle Cobblestone"),
_doc_items_longdesc = build,
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",
recipe = { "default:jungleleaves", "default:jungleleaves", "default:cobble" },
})
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",
})

47
compat_xdecor.lua Normal file
View File

@ -0,0 +1,47 @@
if minetest.get_modpath("xdecor") then
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", }, }
})
-- 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" }, },
})
minetest.register_craft({
output = "mtg_plus:ice_tile16",
recipe = { { "xdecor:packed_ice", "xdecor:packed_ice" },
{ "xdecor:packed_ice", "xdecor:packed_ice" }, },
})
-- Alternate ice brick 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 ice brick crafting recipe
minetest.register_craft({
output = "mtg_plus:ice_brick 4",
recipe = { { "default:ice", "default:ice" },
{ "default:ice", "default:ice" } },
})
end

86
cups.lua Normal file
View File

@ -0,0 +1,86 @@
-- Boilerplate to support localized strings if intllib mod is installed.
local S
if minetest.get_modpath("intllib") then
S = intllib.Getter()
else
S = function(s) return s end
end
-- 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
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,
_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
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, nil,
default.node_sound_defaults({ footstep = { name = "default_hard_footstep", gain = 0.3 }}))

171
doors.lua Normal file
View File

@ -0,0 +1,171 @@
-- Boilerplate to support localized strings if intllib mod is installed.
local S
if minetest.get_modpath("intllib") then
S = intllib.Getter()
else
S = function(s) return s end
end
-- Doors
doors.register("door_wood_bar", {
tiles = {{ name = "mtg_plus_door_wood_bar.png", backface_culling = true }},
description = S("Wooden Bar Door"),
--TODO _doc_items_longdesc = ,
inventory_image = "mtg_plus_door_wood_bar_item.png",
sounds = default.node_sound_wood_defaults(),
sound_open = "doors_fencegate_open",
sound_close = "doors_fencegate_close",
groups = { snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
recipe = {
{"xpanes:wood",},
{"xpanes:wood",},
}
})
minetest.register_craft({
type = "fuel",
recipe = "doors:door_wood_bar",
burntime = 4,
})
doors.register("door_papyrus", {
tiles = {{ name = "mtg_plus_door_papyrus.png", backface_culling = true }},
description = S("Papyrus Door"),
--TODO _doc_items_longdesc = ,
inventory_image = "mtg_plus_door_papyrus_item.png",
sounds = default.node_sound_leaves_defaults(),
sound_open = "doors_fencegate_open",
sound_close = "doors_fencegate_close",
groups = { snappy = 2, choppy = 1, flammable = 2 },
recipe = {
{"default:papyrus", "default:papyrus"},
{"farming:string", "farming:string"},
{"default:papyrus", "default:papyrus"},
}
})
minetest.register_craft({
type = "fuel",
recipe = "doors:door_papyrus",
burntime = 4,
})
doors.register("door_iron_bar", {
tiles = {{ name = "mtg_plus_door_iron_bar.png", backface_culling = true }},
description = S("Iron Bar Door"),
--TODO _doc_items_longdesc = ,
inventory_image = "mtg_plus_door_iron_bar_item.png",
sound_open = "mtg_plus_door_iron_bar_open",
sound_close = "mtg_plus_door_iron_bar_close",
sounds = metal_sounds,
groups = { snappy = 2, bendy = 1, cracky = 1, melty = 2, },
recipe = {
{"xpanes:bar",},
{"xpanes:bar",},
}
})
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" },
}
})
minetest.register_craft({
output = "doors:door_iron_bar 3",
recipe = {
{ "doors:prison_door" },
}
})
end
doors.register("door_ice", {
tiles = {{ name = "mtg_plus_door_ice.png", backface_culling = true }},
description = S("Ice Door"),
_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 =,
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 }},
description = S("Icy Steel Door"),
_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 = ,
protected = true,
sound_open = "mtg_plus_door_icesteel_open",
sound_close = "mtg_plus_door_icesteel_close",
inventory_image = "mtg_plus_door_icesteel_item.png",
sounds = metal_sounds,
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", {
description = S("Goldwood Fence Gate"),
_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",
groups = {choppy=2, },
})
doors.register_trapdoor("mtg_plus:trapdoor_ice", {
description = S("Ice Trapdoor"),
_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 = ,
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(),
groups = { cracky = 3, puts_out_fire = 1, door = 1 },
})
minetest.register_craft({
output = "mtg_plus:trapdoor_ice 2",
recipe = { { "default:ice", "default:ice", "default:ice" },
{ "default:ice", "default:ice", "default:ice" }, }
})
doors.register_trapdoor("mtg_plus:trapdoor_icesteel", {
description = S("Icy Steel Trapdoor"),
_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 = ,
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",
sounds = metal_sounds,
groups = { snappy = 1, bendy = 2, cracky = 3, melty = 3, level = 2, puts_out_fire = 1, door = 1 },
})
minetest.register_craft({
type = "shapeless",
output = "mtg_plus:trapdoor_icesteel 2",
recipe = { "mtg_plus:trapdoor_ice", "doors:trapdoor_steel" },
})

70
extras.lua Normal file
View File

@ -0,0 +1,70 @@
-- Boilerplate to support localized strings if intllib mod is installed.
local S
if minetest.get_modpath("intllib") then
S = intllib.Getter()
else
S = function(s) return s end
end
-- Add additional crafting recipes and nodes if particular mods were detected
-- 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"}
}
})
minetest.register_craft({
type = "shapeless",
output = "mtg_plus:ice_window",
recipe = { "mtg_plus:ice_tile4", "moreblocks:sweeper" },
})
end
-- 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("Cobbled Sandstone"),
description_stool = S("Cobbled Sandstone Stool"),
description_table = S("Cobbled Sandstone Table"),
})
furniture.register_stone("mtg_plus:desert_sandstone_cobble", {
description = S("Cobbled Desert Sandstone"),
description_stool = S("Cobbled Desert Sandstone Stool"),
description_table = S("Cobbled Desert Sandstone Table"),
})
furniture.register_stone("mtg_plus:silver_sandstone_cobble", {
description = S("Cobbled Silver Sandstone"),
description_stool = S("Cobbled Silver Sandstone Stool"),
description_table = S("Cobbled Silver Sandstone Table"),
})
furniture.register_stone("mtg_plus:gravel_cobble", {
description = S("Cobbled Gravel"),
description_stool = S("Cobbled Gravel Stool"),
description_table = S("Cobbled Gravel Table"),
})
end

1415
init.lua

File diff suppressed because it is too large Load Diff

64
ladders.lua Normal file
View File

@ -0,0 +1,64 @@
-- Boilerplate to support localized strings if intllib mod is installed.
local S
if minetest.get_modpath("intllib") then
S = intllib.Getter()
else
S = function(s) return s end
end
-- Ladders
minetest.register_node("mtg_plus:ladder_papyrus", {
description = S("Papyrus Ladder"),
_doc_items_longdesc = S("A particulary strong piece of ladder which allows you to move vertically."),
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"}},
})
minetest.register_craft({
type = "fuel",
recipe = "mtg_plus:ladder_papyrus",
burntime = 2,
})
minetest.register_node("mtg_plus:ladder_gold", {
description = S("Golden Ladder"),
_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 = 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"}},
})

67
seethrough.lua Normal file
View File

@ -0,0 +1,67 @@
-- Boilerplate to support localized strings if intllib mod is installed.
local S
if minetest.get_modpath("intllib") then
S = intllib.Getter()
else
S = function(s) return s end
end
-- Blocks that you can see through
minetest.register_node("mtg_plus:goldglass", {
description = S("Goldglass"),
_doc_items_longdesc = S("A ornamental and mostly transparent block, made by combining glass with gold."),
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", },
}
})
minetest.register_node("mtg_plus:dirty_glass", {
description = S("Dirty Glass"),
_doc_items_longdesc = S("A decorative, semitransparent block. The dirt makes it hard for the sunlight to pass through."),
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"},
}
})
minetest.register_node("mtg_plus:ice_window", {
description = S("Ice Window"),
_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."),
drawtype = "glasslike",
tiles = {"mtg_plus_ice_window.png"},
sunlight_propagates = true,
groups = {cracky = 3, puts_out_fire = 1, cools_lava = 1},
is_ground_content = false,
paramtype = "light",
sounds = default.node_sound_glass_defaults(),
})
minetest.register_craft({
output = "mtg_plus:ice_window",
type = "cooking",
recipe = "mtg_plus:ice_tile4",
cooktime = 1,
})

93
specials.lua Normal file
View File

@ -0,0 +1,93 @@
-- Boilerplate to support localized strings if intllib mod is installed.
local S
if minetest.get_modpath("intllib") then
S = intllib.Getter()
else
S = function(s) return s end
end
local deco
if minetest.get_modpath("doc_items") then
deco = doc.sub.items.temp.deco
end
-- Special: Variant of dirt without the grass/plant spread
minetest.register_node("mtg_plus:graveldirt", {
description = S("Gravel Dirt"),
_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."),
tiles = {"mtg_plus_graveldirt.png"},
is_ground_content = true,
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",
output = "mtg_plus:graveldirt",
recipe = { "default:gravel", "default:dirt" },
})
-- Special: Extremely hard block
minetest.register_node("mtg_plus:harddiamondblock",{
description = S("Aggregated Diamond Block"),
_doc_items_longdesc = S("This block is even harder than diamond; diamond pickaxes can't break it. TNT is able to destroy this block."),
tiles = { "mtg_plus_hard_diamond_block.png" },
is_ground_content = false,
groups = { cracky = 1, level = 4 },
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "mtg_plus:harddiamondblock 1",
type = "shapeless",
recipe = { "default:diamondblock", "default:diamondblock" }
})
-- Special: Wood that doesn't burn
minetest.register_node("mtg_plus:goldwood", {
description = S("Goldwood"),
_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,
groups = {choppy = 2, wood = 1},
sounds = default.node_sound_wood_defaults(),
})
-- 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" },
})
-- Special: Being an absurd luxury. :D
minetest.register_node("mtg_plus:goldapple", {
description = S("Golden Decor Apple"),
_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}
},
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" },
})

53
stairslabs.lua Normal file
View File

@ -0,0 +1,53 @@
-- Boilerplate to support localized strings if intllib mod is installed.
local S
if minetest.get_modpath("intllib") then
S = intllib.Getter()
else
S = function(s) return s end
end
-- 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", }
local function simple_stair_slab(subname, desc_stair, desc_slab)
local itemstring = "mtg_plus:"..subname
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)
end
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"))
simple_stair_slab("jungle_cobble", S("Jungle Cobblestone Stair"), S("Jungle Cobblestone Slab"))
simple_stair_slab("snow_brick", S("Soft Snow Brick Stair"), S("Soft Snow Brick 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("tinbrick", S("Tin Brick Stair"), S("Tin 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"))
simple_stair_slab("harddirtbrick", S("Hardened Dirt Brick Stair"), S("Hardened Dirt Brick Slab"))
simple_stair_slab("gravel_cobble", S("Cobbled Gravel Stair"), S("Cobbled Gravel Slab"))
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)
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)

35
wallfences.lua Normal file
View File

@ -0,0 +1,35 @@
-- Boilerplate to support localized strings if intllib mod is installed.
local S
if minetest.get_modpath("intllib") then
S = intllib.Getter()
else
S = function(s) return s end
end
-- Walls
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())
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())
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())
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 })
end
-- Fences
default.register_fence("mtg_plus:fence_goldwood", {
description = S("Goldwood Fence"),
_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,
groups = {choppy=2, },
})

148
xpanes.lua Normal file
View File

@ -0,0 +1,148 @@
-- Boilerplate to support localized strings if intllib mod is installed.
local S
if minetest.get_modpath("intllib") then
S = intllib.Getter()
else
S = function(s) return s end
end
-- xpanes
xpanes.register_pane("paper", {
description = S("Paper Barrier"),
--TODO _doc_items_longdesc = ,
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
minetest.register_craft({
type = "fuel",
recipe = r,
burntime = 1,
})
xpanes.register_pane("wood", {
description = S("Wooden Bars"),
--TODO _doc_items_longdesc = ,
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
minetest.register_craft({
type = "fuel",
recipe = r,
burntime = 2,
})
xpanes.register_pane("obsidian_glass", {
description = S("Obsidian Glass Pane"),
--TODO _doc_items_longdesc = ,
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" },
}
})
xpanes.register_pane("goldglass", {
description = S("Goldglass Pane"),
--TODO _doc_items_longdesc = ,
inventory_image = "mtg_plus_goldglass.png",
wield_image = "mtg_plus_goldglass.png",
textures = {"mtg_plus_goldglass.png","mtg_plus_goldglass_pane_half.png","mtg_plus_goldglass_pane_top.png",},
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", {
description = S("Golden Window"),
--TODO _doc_items_longdesc = ,
inventory_image = "mtg_plus_goldglass2.png",
wield_image = "mtg_plus_goldglass2.png",
textures = {"mtg_plus_goldglass2.png","mtg_plus_goldglass_pane_half.png","mtg_plus_goldglass_pane_top.png",},
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", },
}
})
xpanes.register_pane("papyrus", {
description = S("Papyrus Lattice"),
--TODO _doc_items_longdesc = ,
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
minetest.register_craft({
type = "fuel",
recipe = r,
burntime = 1,
})
xpanes.register_pane("ice", {
description = S("Ice Window Pane"),
_doc_items_longdesc = S("Ice window panes are thinner than the full ice windows and neatly connect to each other as you build them"),
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 = {
{ "mtg_plus:ice_window", "mtg_plus:ice_window", "mtg_plus:ice_window", },
{ "mtg_plus:ice_window", "mtg_plus:ice_window", "mtg_plus:ice_window", }
}
})