2013-11-08 07:16:37 +04:00
|
|
|
--[[
|
|
|
|
****
|
|
|
|
More Blocks
|
|
|
|
by Calinou
|
|
|
|
Licensed under the zlib/libpng license for code and CC BY-SA for textures, see LICENSE.txt for info.
|
|
|
|
****
|
|
|
|
--]]
|
|
|
|
|
|
|
|
moreblocks = {}
|
|
|
|
|
2013-07-11 22:33:02 +04:00
|
|
|
-- Load translation library if intllib is installed
|
|
|
|
|
|
|
|
local S
|
|
|
|
if (minetest.get_modpath("intllib")) then
|
|
|
|
dofile(minetest.get_modpath("intllib").."/intllib.lua")
|
|
|
|
S = intllib.Getter(minetest.get_current_modname())
|
|
|
|
else
|
|
|
|
S = function ( s ) return s end
|
|
|
|
end
|
2013-11-08 07:16:37 +04:00
|
|
|
moreblocks.gettext = S
|
2013-07-11 22:33:02 +04:00
|
|
|
|
|
|
|
dofile(minetest.get_modpath("moreblocks").."/_config.txt")
|
|
|
|
|
2013-11-08 07:16:37 +04:00
|
|
|
dofile(minetest.get_modpath("moreblocks").."/ownership.lua")
|
2013-07-11 22:33:02 +04:00
|
|
|
dofile(minetest.get_modpath("moreblocks").."/redefinitions.lua")
|
|
|
|
dofile(minetest.get_modpath("moreblocks").."/crafting.lua")
|
|
|
|
dofile(minetest.get_modpath("moreblocks").."/aliases.lua")
|
|
|
|
dofile(minetest.get_modpath("moreblocks").."/stairsplus_convert.lua")
|
|
|
|
dofile(minetest.get_modpath("moreblocks").."/stairsplus/stairs.lua")
|
|
|
|
dofile(minetest.get_modpath("moreblocks").."/stairsplus/slabs.lua")
|
|
|
|
dofile(minetest.get_modpath("moreblocks").."/stairsplus/panels.lua")
|
|
|
|
dofile(minetest.get_modpath("moreblocks").."/stairsplus/microblocks.lua")
|
|
|
|
dofile(minetest.get_modpath("moreblocks").."/stairsplus/aliases.lua")
|
|
|
|
dofile(minetest.get_modpath("moreblocks").."/stairsplus.lua")
|
|
|
|
dofile(minetest.get_modpath("moreblocks").."/circular_saw.lua")
|
|
|
|
|
|
|
|
-- Blocks
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:wood_tile", {
|
|
|
|
description = S("Wooden Tile"),
|
|
|
|
tiles = {"moreblocks_wood_tile.png", "moreblocks_wood_tile.png", "moreblocks_wood_tile.png", "moreblocks_wood_tile.png", "moreblocks_wood_tile.png^[transformR90", "moreblocks_wood_tile.png^[transformR90"},
|
|
|
|
paramtype2 = "facedir",
|
|
|
|
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3},
|
|
|
|
sounds = default.node_sound_wood_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:wood_tile_flipped", {
|
|
|
|
description = S("Wooden Tile"),
|
|
|
|
tiles = {"moreblocks_wood_tile_flipped.png", "moreblocks_wood_tile_flipped.png", "moreblocks_wood_tile_flipped.png", "moreblocks_wood_tile_flipped.png", "moreblocks_wood_tile_flipped.png^[transformR90", "moreblocks_wood_tile_flipped.png^[transformR90"},
|
|
|
|
paramtype2 = "facedir",
|
|
|
|
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3},
|
|
|
|
sounds = default.node_sound_wood_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:wood_tile_center", {
|
|
|
|
description = S("Centered Wooden Tile"),
|
|
|
|
tiles = {"moreblocks_wood_tile_center.png", "moreblocks_wood_tile_center.png", "moreblocks_wood_tile_center.png", "moreblocks_wood_tile_center.png", "moreblocks_wood_tile_center.png^[transformR90", "moreblocks_wood_tile_center.png^[transformR90"},
|
|
|
|
paramtype2 = "facedir",
|
|
|
|
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3},
|
|
|
|
sounds = default.node_sound_wood_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:wood_tile_full", {
|
|
|
|
description = S("Full Wooden Tile"),
|
|
|
|
tiles = {"moreblocks_wood_tile_full.png", "moreblocks_wood_tile_full.png", "moreblocks_wood_tile_full.png",
|
|
|
|
"moreblocks_wood_tile_full.png", "moreblocks_wood_tile_full.png^[transformR90", "moreblocks_wood_tile_full.png^[transformR90"},
|
|
|
|
paramtype2 = "facedir",
|
|
|
|
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3},
|
|
|
|
sounds = default.node_sound_wood_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:wood_tile_up", {
|
|
|
|
description = S("Up Wooden Tile"),
|
|
|
|
tiles = {"moreblocks_wood_tile_up.png", "moreblocks_wood_tile_up.png", "moreblocks_wood_tile_up.png",
|
|
|
|
"moreblocks_wood_tile_up.png", "moreblocks_wood_tile_up.png^[transformR90", "moreblocks_wood_tile_up.png^[transformR90"},
|
|
|
|
paramtype2 = "facedir",
|
|
|
|
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3},
|
|
|
|
sounds = default.node_sound_wood_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:wood_tile_down", {
|
|
|
|
description = S("Down Wooden Tile"),
|
|
|
|
tiles = {"moreblocks_wood_tile_down.png", "moreblocks_wood_tile_down.png", "moreblocks_wood_tile_down.png",
|
|
|
|
"moreblocks_wood_tile_down.png", "moreblocks_wood_tile_down.png^[transformR90", "moreblocks_wood_tile_down.png^[transformR90"},
|
|
|
|
paramtype2 = "facedir",
|
|
|
|
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3},
|
|
|
|
sounds = default.node_sound_wood_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:wood_tile_left", {
|
|
|
|
description = S("Left Wooden Tile"),
|
|
|
|
tiles = {"moreblocks_wood_tile_left.png", "moreblocks_wood_tile_left.png", "moreblocks_wood_tile_left.png",
|
|
|
|
"moreblocks_wood_tile_left.png", "moreblocks_wood_tile_left.png^[transformR90", "moreblocks_wood_tile_left.png^[transformR90"},
|
|
|
|
paramtype2 = "facedir",
|
|
|
|
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3},
|
|
|
|
sounds = default.node_sound_wood_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:wood_tile_right", {
|
|
|
|
description = S("Right Wooden Tile"),
|
|
|
|
tiles = {"moreblocks_wood_tile_right.png", "moreblocks_wood_tile_right.png", "moreblocks_wood_tile_right.png",
|
|
|
|
"moreblocks_wood_tile_right.png", "moreblocks_wood_tile_right.png^[transformR90", "moreblocks_wood_tile_right.png^[transformR90"},
|
|
|
|
paramtype2 = "facedir",
|
|
|
|
groups = {snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3},
|
|
|
|
sounds = default.node_sound_wood_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:circle_stone_bricks", {
|
|
|
|
description = S("Circle Stone Bricks"),
|
|
|
|
tiles = {"moreblocks_circle_stone_bricks.png"},
|
|
|
|
groups = {cracky=3},
|
|
|
|
sounds = default.node_sound_stone_defaults(),
|
|
|
|
})
|
|
|
|
|
2013-11-03 03:41:08 +04:00
|
|
|
minetest.register_node("moreblocks:coal_stone_bricks", {
|
|
|
|
description = S("Coal Stone Bricks"),
|
|
|
|
tiles = {"moreblocks_coal_stone_bricks.png"},
|
|
|
|
groups = {cracky=3},
|
|
|
|
sounds = default.node_sound_stone_defaults(),
|
|
|
|
})
|
|
|
|
|
2013-07-11 22:33:02 +04:00
|
|
|
minetest.register_node("moreblocks:iron_stone_bricks", {
|
|
|
|
description = S("Iron Stone Bricks"),
|
|
|
|
tiles = {"moreblocks_iron_stone_bricks.png"},
|
|
|
|
groups = {cracky=3},
|
|
|
|
sounds = default.node_sound_stone_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:stone_tile", {
|
|
|
|
description = S("Stone Tile"),
|
|
|
|
tiles = {"moreblocks_stone_tile.png"},
|
|
|
|
groups = {cracky=3},
|
|
|
|
sounds = default.node_sound_stone_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:split_stone_tile", {
|
|
|
|
description = S("Split Stone Tile"),
|
|
|
|
tiles = {"moreblocks_split_stone_tile_top.png", "moreblocks_split_stone_tile.png"},
|
|
|
|
groups = {cracky=3},
|
|
|
|
sounds = default.node_sound_stone_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:plankstone", {
|
|
|
|
description = S("Plankstone"),
|
|
|
|
tiles = {"moreblocks_plankstone.png", "moreblocks_plankstone.png", "moreblocks_plankstone.png",
|
|
|
|
"moreblocks_plankstone.png", "moreblocks_plankstone.png^[transformR90", "moreblocks_plankstone.png^[transformR90"},
|
|
|
|
groups = {cracky=3},
|
|
|
|
sounds = default.node_sound_stone_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:iron_glass", {
|
|
|
|
description = S("Iron Glass"),
|
|
|
|
drawtype = "glasslike",
|
|
|
|
tiles = {"moreblocks_iron_glass.png"},
|
|
|
|
inventory_image = minetest.inventorycube("moreblocks_iron_glass.png"),
|
|
|
|
paramtype = "light",
|
|
|
|
sunlight_propagates = true,
|
|
|
|
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
|
|
|
|
sounds = default.node_sound_glass_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:coal_glass", {
|
|
|
|
description = S("Coal Glass"),
|
|
|
|
drawtype = "glasslike",
|
|
|
|
tiles = {"moreblocks_coal_glass.png"},
|
|
|
|
inventory_image = minetest.inventorycube("moreblocks_coal_glass.png"),
|
|
|
|
paramtype = "light",
|
|
|
|
sunlight_propagates = true,
|
|
|
|
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
|
|
|
|
sounds = default.node_sound_glass_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:clean_glass", {
|
|
|
|
description = S("Clean Glass"),
|
|
|
|
drawtype = "glasslike",
|
|
|
|
tiles = {"moreblocks_clean_glass.png"},
|
|
|
|
inventory_image = minetest.inventorycube("moreblocks_clean_glass.png"),
|
|
|
|
paramtype = "light",
|
|
|
|
sunlight_propagates = true,
|
|
|
|
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
|
|
|
|
sounds = default.node_sound_glass_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:cactus_brick", {
|
|
|
|
description = S("Cactus Brick"),
|
|
|
|
tiles = {"moreblocks_cactus_brick.png"},
|
|
|
|
groups = {cracky=3},
|
|
|
|
sounds = default.node_sound_stone_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:cactus_checker", {
|
|
|
|
description = S("Cactus Checker"),
|
|
|
|
tiles = {"moreblocks_cactus_checker.png", "moreblocks_cactus_checker.png", "moreblocks_cactus_checker.png",
|
|
|
|
"moreblocks_cactus_checker.png", "moreblocks_cactus_checker.png^[transformR90", "moreblocks_cactus_checker.png^[transformR90"},
|
|
|
|
paramtype2 = "facedir",
|
|
|
|
groups = {cracky=3},
|
|
|
|
sounds = default.node_sound_stone_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:empty_bookshelf", {
|
|
|
|
description = S("Empty Bookshelf"),
|
|
|
|
tiles = {"default_wood.png", "default_wood.png", "moreblocks_empty_bookshelf.png"},
|
|
|
|
groups = {snappy=2,choppy=3,oddly_breakable_by_hand=2,flammable=3},
|
|
|
|
sounds = default.node_sound_wood_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:coal_stone", {
|
|
|
|
description = S("Coal Stone"),
|
|
|
|
tiles = {"moreblocks_coal_stone.png"},
|
|
|
|
groups = {cracky=3},
|
|
|
|
sounds = default.node_sound_stone_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:iron_stone", {
|
|
|
|
description = S("Iron Stone"),
|
|
|
|
tiles = {"moreblocks_iron_stone.png"},
|
|
|
|
groups = {cracky=3},
|
|
|
|
sounds = default.node_sound_stone_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:coal_checker", {
|
|
|
|
description = S("Coal Checker"),
|
|
|
|
tiles = {"moreblocks_coal_checker.png", "moreblocks_coal_checker.png", "moreblocks_coal_checker.png",
|
|
|
|
"moreblocks_coal_checker.png", "moreblocks_coal_checker.png^[transformR90", "moreblocks_coal_checker.png^[transformR90"},
|
|
|
|
paramtype2 = "facedir",
|
|
|
|
groups = {cracky=3},
|
|
|
|
sounds = default.node_sound_stone_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:iron_checker", {
|
|
|
|
description = S("Iron Checker"),
|
|
|
|
tiles = {"moreblocks_iron_checker.png", "moreblocks_iron_checker.png", "moreblocks_iron_checker.png",
|
|
|
|
"moreblocks_iron_checker.png", "moreblocks_iron_checker.png^[transformR90", "moreblocks_iron_checker.png^[transformR90"},
|
|
|
|
paramtype2 = "facedir",
|
|
|
|
groups = {cracky=3},
|
|
|
|
sounds = default.node_sound_stone_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:trap_stone", {
|
|
|
|
description = S("Trap Stone"),
|
|
|
|
tiles = {"moreblocks_trap_stone.png"},
|
|
|
|
walkable = false,
|
|
|
|
groups = {cracky=3},
|
|
|
|
sounds = default.node_sound_stone_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:trap_glass", {
|
|
|
|
description = S("Trap Glass"),
|
|
|
|
drawtype = "glasslike",
|
|
|
|
tiles = {"moreblocks_trap_glass.png"},
|
|
|
|
inventory_image = minetest.inventorycube("moreblocks_trap_glass.png"),
|
|
|
|
paramtype = "light",
|
|
|
|
sunlight_propagates = true,
|
|
|
|
walkable = false,
|
|
|
|
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
|
|
|
|
sounds = default.node_sound_glass_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:fence_jungle_wood", {
|
|
|
|
description = S("Jungle Wood Fence"),
|
|
|
|
drawtype = "fencelike",
|
|
|
|
tiles = {"moreblocks_jungle_wood.png"},
|
|
|
|
inventory_image = "moreblocks_fence_jungle_wood.png",
|
|
|
|
wield_image = "moreblocks_fence_jungle_wood.png",
|
|
|
|
paramtype = "light",
|
|
|
|
selection_box = {
|
|
|
|
type = "fixed",
|
|
|
|
fixed = {-1/7, -1/2, -1/7, 1/7, 1/2, 1/7},
|
|
|
|
},
|
|
|
|
groups = {snappy=2,choppy=2,oddly_breakable_by_hand=2,flammable=2},
|
|
|
|
sounds = default.node_sound_wood_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:all_faces_tree", {
|
|
|
|
description = S("All-faces Tree"),
|
|
|
|
tiles = {"default_tree_top.png"},
|
|
|
|
groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2},
|
|
|
|
sounds = default.node_sound_wood_defaults(),
|
|
|
|
furnace_burntime = 30,
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:all_faces_jungle_tree", {
|
|
|
|
description = S("All-faces Tree"),
|
|
|
|
tiles = {"default_jungletree_top.png"},
|
|
|
|
groups = {tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2},
|
|
|
|
sounds = default.node_sound_wood_defaults(),
|
|
|
|
furnace_burntime = 30,
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_node("moreblocks:glow_glass", {
|
|
|
|
description = S("Glow Glass"),
|
|
|
|
drawtype = "glasslike",
|
|
|
|
tiles = {"moreblocks_glow_glass.png"},
|
|
|
|
inventory_image = minetest.inventorycube("moreblocks_glow_glass.png"),
|
|
|
|
paramtype = "light",
|
|
|
|
sunlight_propagates = true,
|
|
|
|
light_source = 11,
|
|
|
|
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
|
|
|
|
sounds = default.node_sound_glass_defaults(),
|
|
|
|
})
|
2013-08-30 02:39:15 +04:00
|
|
|
minetest.register_node("moreblocks:trap_glow_glass", {
|
|
|
|
description = S("Trap Glow Glass"),
|
|
|
|
drawtype = "glasslike",
|
|
|
|
tiles = {"moreblocks_glow_glass.png"},
|
|
|
|
inventory_image = minetest.inventorycube("moreblocks_glow_glass.png"),
|
|
|
|
paramtype = "light",
|
|
|
|
sunlight_propagates = true,
|
|
|
|
light_source = 11,
|
|
|
|
walkable = false,
|
|
|
|
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
|
|
|
|
sounds = default.node_sound_glass_defaults(),
|
|
|
|
})
|
2013-07-11 22:33:02 +04:00
|
|
|
|
|
|
|
minetest.register_node("moreblocks:super_glow_glass", {
|
|
|
|
description = S("Super Glow Glass"),
|
|
|
|
drawtype = "glasslike",
|
|
|
|
tiles = {"moreblocks_super_glow_glass.png"},
|
|
|
|
inventory_image = minetest.inventorycube("moreblocks_super_glow_glass.png"),
|
|
|
|
paramtype = "light",
|
|
|
|
sunlight_propagates = true,
|
|
|
|
light_source = 15,
|
|
|
|
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
|
|
|
|
sounds = default.node_sound_glass_defaults(),
|
|
|
|
})
|
|
|
|
|
2013-08-30 02:39:15 +04:00
|
|
|
minetest.register_node("moreblocks:trap_super_glow_glass", {
|
|
|
|
description = S("Trap Super Glow Glass"),
|
|
|
|
drawtype = "glasslike",
|
|
|
|
tiles = {"moreblocks_glow_glass.png"},
|
|
|
|
inventory_image = minetest.inventorycube("moreblocks_glow_glass.png"),
|
|
|
|
paramtype = "light",
|
|
|
|
sunlight_propagates = true,
|
|
|
|
light_source = 11,
|
|
|
|
walkable = false,
|
|
|
|
groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
|
|
|
|
sounds = default.node_sound_glass_defaults(),
|
|
|
|
})
|
|
|
|
|
2013-07-11 22:33:02 +04:00
|
|
|
minetest.register_node("moreblocks:rope", {
|
|
|
|
description = S("Rope"),
|
|
|
|
drawtype = "signlike",
|
|
|
|
tiles = {"moreblocks_rope.png"},
|
|
|
|
inventory_image = "moreblocks_rope.png",
|
|
|
|
wield_image = "moreblocks_rope.png",
|
|
|
|
paramtype = "light",
|
|
|
|
paramtype2 = "wallmounted",
|
|
|
|
walkable = false,
|
|
|
|
climbable = true,
|
|
|
|
selection_box = {
|
|
|
|
type = "wallmounted",
|
|
|
|
},
|
|
|
|
groups = {snappy=3,flammable=2},
|
|
|
|
sounds = default.node_sound_leaves_defaults(),
|
|
|
|
})
|
|
|
|
|
|
|
|
-- Items
|
|
|
|
|
|
|
|
minetest.register_craftitem("moreblocks:sweeper", {
|
|
|
|
description = S("Sweeper"),
|
|
|
|
inventory_image = "moreblocks_sweeper.png",
|
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craftitem("moreblocks:jungle_stick", {
|
|
|
|
description = S("Jungle Stick"),
|
|
|
|
inventory_image = "moreblocks_junglestick.png",
|
2013-11-30 01:07:14 +04:00
|
|
|
groups = {stick=1},
|
2013-07-11 22:33:02 +04:00
|
|
|
})
|
|
|
|
|
|
|
|
minetest.register_craftitem("moreblocks:nothing", {
|
|
|
|
on_use = minetest.item_eat(0),
|
|
|
|
})
|
2013-07-11 23:54:15 +04:00
|
|
|
|
|
|
|
print(S("[moreblocks] loaded."))
|