minetest_mtg_plus/init.lua

527 lines
18 KiB
Lua
Raw Normal View History

2016-09-04 03:46:52 -07:00
-- New nodes and crafts
minetest.register_node("mtg_plus:dirty_glass", {
description = "Dirty Glass",
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:sandstone_cobble", {
description = "Sandstone Cobblestone",
tiles = {"mtg_plus_sandstone_cobble.png"},
groups = {cracky = 3, stone = 1},
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_node("mtg_plus:jungle_cobble", {
description = "Jungle Cobblestone",
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:junglegrass" },
})
minetest.register_node("mtg_plus:ice_block", {
description = "Ice Block",
tiles = {"mtg_plus_ice_block.png"},
groups = {cracky = 3, puts_out_fire = 1},
is_ground_content = false,
paramtype = "light",
sounds = default.node_sound_glass_defaults(),
})
minetest.register_craft({
output = "mtg_plus:ice_block 9",
recipe = { { "default:ice", "default:ice", "default:ice" },
{ "default:ice", "default:ice", "default:ice" },
{ "default:ice", "default:ice", "default:ice" } }
})
minetest.register_node("mtg_plus:ice_tile4", {
description = "Ice Tile",
tiles = {"mtg_plus_ice_tile4.png"},
groups = {cracky = 3, level = 1, puts_out_fire = 1},
is_ground_content = false,
paramtype = "light",
sounds = default.node_sound_glass_defaults(),
})
minetest.register_craft({
output = "mtg_plus:ice_tile4 4",
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 = "Dense Ice Tile",
tiles = {"mtg_plus_ice_tile16.png"},
groups = {cracky = 3, level = 2, puts_out_fire = 1},
is_ground_content = false,
sounds = default.node_sound_glass_defaults(),
})
minetest.register_craft({
output = "mtg_plus:ice_tile16",
recipe = { { "mtg_plus:ice_tile4", "mtg_plus:ice_tile4" },
{ "mtg_plus:ice_tile4", "mtg_plus:ice_tile4" } }
})
minetest.register_node("mtg_plus:ice_window", {
description = "Ice Window",
drawtype = "glasslike",
tiles = {"mtg_plus_ice_window.png"},
2016-09-04 19:47:17 -07:00
sunlight_propagates = true,
2016-09-04 03:46:52 -07:00
groups = {cracky = 3, puts_out_fire = 1},
is_ground_content = false,
paramtype = "light",
sounds = default.node_sound_glass_defaults(),
})
2016-09-04 19:47:17 -07:00
minetest.register_craft({
output = "mtg_plus:ice_window",
type = "cooking",
recipe = "mtg_plus:ice_tile4",
cooktime = 1,
})
2016-09-04 03:46:52 -07:00
minetest.register_node("mtg_plus:papyrus_block", {
description = "Papyrus Block",
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-09-04 15:32:36 -07:00
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_node("mtg_plus:snow_brick", {
description = "Soft Snow Brick",
tiles = {"mtg_plus_snow_brick.png"},
groups = {crumbly = 2, puts_out_fire = 1},
is_ground_content = false,
sounds = default.node_sound_dirt_defaults({
footstep={name="default_snow_footstep", gain = 0.15},
dig={name="default_snow_footstep", gain = 0.2},
dug={name="default_snow_footstep", gain = 0.2}
}),
})
minetest.register_craft({
output = "mtg_plus:snow_brick 4",
recipe = { { "default:snowblock", "default:snowblock" },
{ "default:snowblock", "default:snowblock", } },
})
minetest.register_craft({
output = "default:snowblock 4",
recipe = { { "mtg_plus:snow_brick" } },
})
minetest.register_node("mtg_plus:hard_snow_brick", {
description = "Hard Snow Brick",
tiles = {"mtg_plus_hard_snow_brick.png"},
groups = {crumbly = 1, cracky = 2, puts_out_fire = 1},
is_ground_content = false,
sounds = default.node_sound_dirt_defaults({
dig={name="default_snow_footstep", gain = 0.2},
dug={name="default_snow_footstep", gain = 0.2}
}),
})
minetest.register_craft({
output = "mtg_plus:hard_snow_brick",
recipe = { { "mtg_plus:snow_brick", "mtg_plus:snow_brick" },
{ "mtg_plus:snow_brick", "mtg_plus:snow_brick" } },
})
minetest.register_node("mtg_plus:ice_snow_brick", {
description = "Icy Snow Brick",
tiles = {"mtg_plus_ice_snow_brick.png"},
2016-09-04 17:33:02 -07:00
groups = {cracky = 2, puts_out_fire = 1},
2016-09-04 15:32:36 -07:00
is_ground_content = false,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "mtg_plus:ice_snow_brick 2",
type = "shapeless",
recipe = { "mtg_plus:hard_snow_brick", "mtg_plus:ice_brick" },
})
minetest.register_node("mtg_plus:ice_brick", {
description = "Ice Brick",
tiles = {"mtg_plus_ice_brick.png"},
paramtype = "light",
groups = {cracky = 3, puts_out_fire = 1},
is_ground_content = false,
sounds = default.node_sound_glass_defaults(),
})
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_craft({
output = "mtg_plus:ice_brick 4",
recipe = { { "default:ice", "default:ice" },
{ "default:ice", "default:ice" } },
})
2016-09-04 03:46:52 -07:00
-- Ladders
minetest.register_node("mtg_plus:ladder_papyrus", {
description = "Papyrus Ladder",
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"}},
})
-- Stairs/slabs
2016-09-04 16:41:59 -07:00
local function simple_slab(subname, desc_slab)
local itemstring = "mtg_plus:"..subname
stairs.register_slab(subname, itemstring, minetest.registered_nodes[itemstring].groups, minetest.registered_nodes[itemstring].tiles, desc_slab, minetest.registered_nodes[itemstring].sounds)
end
local function simple_stair_slab(subname, desc_stair, desc_slab)
local itemstring = "mtg_plus:"..subname
stairs.register_stair_and_slab(subname, itemstring, minetest.registered_nodes[itemstring].groups, minetest.registered_nodes[itemstring].tiles, desc_stair, desc_slab, minetest.registered_nodes[itemstring].sounds)
end
simple_stair_slab("sandstone_cobble", "Sandstone Cobblestone Stair", "Sandstone Cobblestone Slab")
simple_stair_slab("jungle_cobble", "Jungle Cobblestone Stair", "Jungle Cobblestone Slab")
simple_stair_slab("hard_snow_brick", "Hard Snow Brick Stair", "Hard Snow Brick Slab")
simple_stair_slab("ice_snow_brick", "Icy Snow Brick Stair", "Icy Snow Brick Slab")
simple_stair_slab("ice_brick", "Ice Brick Stair", "Ice Brick Slab")
simple_stair_slab("ice_tile4", "Ice Tile Stair", "Ice Tile Slab")
stairs.register_slab("ice_block", "mtg_plus:ice_block", {cracky=3}, {"mtg_plus_ice_block.png", "mtg_plus_ice_block.png", "mtg_plus_ice_block_slab.png", "mtg_plus_ice_block_slab.png", "mtg_plus_ice_block_slab.png", "mtg_plus_ice_block_slab.png"}, "Ice Block Slab", minetest.registered_items["mtg_plus:ice_block"].sounds)
stairs.register_stair("ice_block", "mtg_plus:ice_block", {cracky=3}, {"mtg_plus_ice_block_slab.png", "mtg_plus_ice_block.png", "mtg_plus_ice_block_stair1.png", "mtg_plus_ice_block_stair2.png", "mtg_plus_ice_block.png", "mtg_plus_ice_block_slab.png"}, "Ice Block Stair", minetest.registered_items["mtg_plus:ice_block"].sounds)
2016-09-04 03:46:52 -07:00
-- Beds
beds.register_bed("mtg_plus:bed_simple_white", {
description = "White Simple Bed",
inventory_image = "mtg_plus_bed_simple_white.png",
wield_image = "mtg_plus_bed_simple_white.png",
tiles = {
bottom = {
"mtg_plus_bed_simple_white_top_bottom.png^[transformR90",
"default_wood.png",
"mtg_plus_bed_simple_white_side_bottom_r.png",
"mtg_plus_bed_simple_white_side_bottom_r.png^[transformfx",
"beds_transparent.png",
"mtg_plus_bed_simple_white_side_bottom.png"
},
top = {
"mtg_plus_bed_simple_white_top_top.png^[transformR90",
2016-09-04 15:32:36 -07:00
"default_wood.png",
2016-09-04 03:46:52 -07:00
"mtg_plus_bed_simple_white_side_top_r.png",
"mtg_plus_bed_simple_white_side_top_r.png^[transformfx",
"mtg_plus_bed_simple_white_side_top.png",
"beds_transparent.png",
}
},
nodebox = {
bottom = {-0.5, -0.5, -0.5, 0.5, 0.06, 0.5},
top = {-0.5, -0.5, -0.5, 0.5, 0.06, 0.5},
},
selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5},
recipe = {
{"wool:white", "wool:white", "wool:white"},
{"group:wood", "group:wood", "group:wood"}
},
})
beds.register_bed("mtg_plus:gold_bed", {
description = "Golden Bed",
inventory_image = "mtg_plus_gold_bed.png",
wield_image = "mtg_plus_gold_bed.png",
tiles = {
bottom = {
"mtg_plus_gold_bed_top1.png",
"default_gold_block.png",
"mtg_plus_gold_bed_side1.png",
"mtg_plus_gold_bed_side1.png^[transformFX",
"default_gold_block.png",
"mtg_plus_gold_bed_foot.png",
},
top = {
"mtg_plus_gold_bed_top2.png",
"default_gold_block.png",
"mtg_plus_gold_bed_side2.png",
"mtg_plus_gold_bed_side2.png^[transformFX",
"mtg_plus_gold_bed_head.png",
"default_gold_block.png",
}
},
nodebox = {
bottom = {
{-0.5, -0.5, -0.5, -0.375, -0.065, -0.4375},
{0.375, -0.5, -0.5, 0.5, -0.065, -0.4375},
{-0.5, -0.375, -0.5, 0.5, -0.125, -0.4375},
{-0.5, -0.375, -0.5, -0.4375, -0.125, 0.5},
{0.4375, -0.375, -0.5, 0.5, -0.125, 0.5},
{-0.4375, -0.3125, -0.4375, 0.4375, -0.0625, 0.5},
},
top = {
{-0.5, -0.5, 0.4375, -0.375, 0.1875, 0.5},
{0.375, -0.5, 0.4375, 0.5, 0.1875, 0.5},
{-0.5, 0, 0.4375, 0.5, 0.125, 0.5},
{-0.5, -0.375, 0.4375, 0.5, -0.125, 0.5},
{-0.5, -0.375, -0.5, -0.4375, -0.125, 0.5},
{0.4375, -0.375, -0.5, 0.5, -0.125, 0.5},
{-0.4375, -0.3125, -0.5, 0.4375, -0.0625, 0.4375},
}
},
selectionbox = {-0.5, -0.5, -0.5, 0.5, 0.06, 1.5},
recipe = {
{"", "", "group:stick"},
{"wool:yellow", "wool:yellow", "wool:yellow"},
{"default:gold_ingot", "default:gold_ingot", "default:gold_ingot"},
},
})
-- Doors
doors.register("door_wood_bar", {
tiles = {{ name = "mtg_plus_door_wood_bar.png", backface_culling = true }},
description = "Wooden Bar Door",
inventory_image = "mtg_plus_door_wood_bar_item.png",
sounds = default.node_sound_wood_defaults(),
groups = { snappy = 2, choppy = 2, oddly_breakable_by_hand = 2, flammable = 2 },
recipe = {
{"group:stick", "group:stick"},
{"group:stick", "group:stick"},
{"group:stick", "group:stick"},
}
})
doors.register("door_papyrus", {
tiles = {{ name = "mtg_plus_door_papyrus.png", backface_culling = true }},
description = "Papyrus Door",
inventory_image = "mtg_plus_door_papyrus_item.png",
sounds = default.node_sound_leaves_defaults(),
groups = { snappy = 2, choppy = 1, flammable = 2 },
recipe = {
{"default:papyrus", "default:papyrus"},
{"farming:string", "farming:string"},
{"default:papyrus", "default:papyrus"},
}
})
doors.register("door_iron_bar", {
tiles = {{ name = "mtg_plus_door_iron_bar.png", backface_culling = true }},
description = "Iron Bar Door",
protected = true,
inventory_image = "mtg_plus_door_iron_bar_item.png",
sound_open = "doors_steel_door_open",
sound_close = "doors_steel_door_open",
sounds = default.node_sound_stone_defaults(),
groups = { snappy = 2, bendy = 1, cracky = 1, melty = 2, },
})
doors.register("door_ice", {
tiles = {{ name = "mtg_plus_door_ice.png", backface_culling = true }},
description = "Ice Door",
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 = "Icy Steel Door",
protected = true,
sound_open = "doors_steel_door_open",
sound_close = "doors_steel_door_close",
inventory_image = "mtg_plus_door_icesteel_item.png",
sounds = default.node_sound_stone_defaults(),
groups = { snappy = 1, bendy = 2, cracky = 3, melty = 3, level = 2, puts_out_fire = 1 },
})
minetest.register_craft({
output = "doors:door_icesteel 2",
type = "shapeless",
recipe = {"doors:door_ice", "doors:door_steel"},
})
-- Walls
walls.register("mtg_plus:wall_sandstone_cobble", "Sandstone Cobblestone Wall", "mtg_plus_sandstone_cobble.png", "mtg_plus:sandstone_cobble", default.node_sound_stone_defaults())
walls.register("mtg_plus:wall_jungle_cobble", "Jungle Cobblestone Wall", "mtg_plus_jungle_cobble.png", "mtg_plus:jungle_cobble", default.node_sound_stone_defaults())
walls.register("mtg_plus:wall_ice_tile16", "Dense Ice Tile Wall", "mtg_plus_ice_tile16.png", "mtg_plus:ice_tile16", default.node_sound_glass_defaults())
-- xpanes
xpanes.register_pane("paper", {
description = "Paper Wall",
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" },
}
})
xpanes.register_pane("wood", {
description = "Wooden Bars",
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" },
}
})
xpanes.register_pane("obsidian_glass", {
description = "Obsidian Glass Pane",
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("papyrus", {
description = "Papyrus Lattice",
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" },
}
})
xpanes.register_pane("ice", {
description = "Ice Window Pane",
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
walls.register("mtg_plus:wall_cobble_compressed", "Compressed Cobblestone Wall", "moreblocks_cobble_compressed.png", "moreblocks:cobble_compressed", default.node_sound_stone_defaults())
local groups = minetest.registered_items["mtg_plus:wall_cobble_compressed"].groups
groups.cracky = 1
minetest.override_item("mtg_plus:wall_cobble_compressed", { groups = groups })
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