summaryrefslogtreecommitdiff
path: root/src/CMakeLists.txt
Commit message (Expand)AuthorAge
* Use system-wide LevelDB instead of bundled oneSfan52013-09-09
* Add dummy and LevelDB database backendsIlya Zhuravlev2013-09-09
* Omnicleanup: header cleanup, add ModApiUtil shared between game and mainmenuKahrl2013-08-14
* Remove farmeshKahrl2013-08-13
* Change debug optimization level back to -O1kwolekr2013-07-02
* Replace C++ mainmenu by formspec powered onesapier2013-07-02
* New math mapgen with fractal based worldsproller2013-06-23
* Move scriptapi to separate folder (by sapier)sapier2013-05-25
* Class-ify caves & move to cavegen.cpp, fix cave regression, add caves to Mapg...kwolekr2013-04-21
* Split HUD code off to hud.cpp, make into a class, extensive Lua HUD modificationkwolekr2013-04-18
* Use system wide LuaJIT if aviable.RealBadAngel2013-04-08
* Revert "Fix to be able to build from dir different than source dir"kwolekr2013-04-07
* Add Mapgen V7, reorganize biomeskwolekr2013-04-07
* Fix to be able to build from dir different than source dirDiego Martínez2013-04-06
* Add Dijkstra A* and A* without prefetching pathfind algorithmssapier2013-04-06
* Fix build on Linux with some glibcskwolekr2013-03-29
* Allow spawning particles from the server, from luaJeija2013-03-23
* Add singlenode mapgen; generates solely the node 'mapgen_singlenode', default...Perttu Ahola2013-03-22
* build with ogles2 driverproller2013-03-16
* initial mapgen indev version with farscale feature and huge cavesproller2013-03-16
* Re-add dungeons in new dungeongen.cppkwolekr2013-03-10
* split scriptapi.cppsapier2013-03-05
* Add emerge.cpp, initial EmergeThread changeskwolekr2013-02-25
* Add sound volume controls to ingame menuRealBadAngel2013-02-23
* new auto masterserverproller2013-02-22
* Add Freetype supportIlya Zhuravlev2013-02-14
* Server requires gettext library as wellDmitry Marakasov2013-02-12
* Readded and optimized mapgen V6kwolekr2013-01-21
* The new mapgen, noise functions, et al.kwolekr2013-01-21
* Basic support for configuring which mods to load for each worldJürgen Doser2013-01-21
* Add a list of servers to the "Multiplayer" tabJeija2013-01-21
* Add particlesJeija2013-01-14
* L-System treegenRealBadAngel2012-12-30
* Tweak CMake files for cURLsfan52012-12-18
* Added ability to fetch media from remote server (using cURL library)Ilya Zhuravlev2012-12-16
* ShaderSource and silly example shadersKahrl2012-12-02
* Move util/serialize.h out from staticobject.h for smaller header dependenciesPerttu Ahola2012-11-26
* Move a function from clientserver.h to clientserver.cppPerttu Ahola2012-11-26
* Move chat commands to Lua and remove servercommand.{cpp,h}Matthew I2012-08-12
* Experimental-ish rollback functionalityPerttu Ahola2012-07-27
* Improve build configuration optionsPerttu Ahola2012-07-23
* Implement formspecdarkrose2012-07-22
* Properly and efficiently use split utility headersPerttu Ahola2012-06-17
* Initially split utility.h to multiple files in util/Perttu Ahola2012-06-17
* WIP node metadata, node timersKahrl2012-06-03
* Fix buildbotPerttu Ahola2012-04-03
* Add optional MINGWM10_DLL to cmake installPerttu Ahola2012-04-03
* Fix things for cross-compiling using mingwPerttu Ahola2012-04-02
* Add 'fly' and 'fast' privileges and the underlying privileges-to-client systemPerttu Ahola2012-03-31
* Reimplement authentication handler in Lua; now we have 1) infinite privilege ...Perttu Ahola2012-03-30
466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490
--[[
More Blocks: node definitions

Copyright (c) 2011-2017 Hugo Locurcio and contributors.
Licensed under the zlib license. See LICENSE.md for more information.
--]]

local S = moreblocks.intllib

local sound_dirt = default.node_sound_dirt_defaults()
local sound_wood = default.node_sound_wood_defaults()
local sound_stone = default.node_sound_stone_defaults()
local sound_glass = default.node_sound_glass_defaults()
local sound_leaves = default.node_sound_leaves_defaults()

-- Don't break on 0.4.14 and earlier.
local sound_metal = (default.node_sound_metal_defaults
		and default.node_sound_metal_defaults() or sound_stone)

local function tile_tiles(name)
	local tex = "moreblocks_" ..name.. ".png"
	return {tex, tex, tex, tex, tex.. "^[transformR90", tex.. "^[transformR90"}
end

local nodes = {
	["wood_tile"] = {
		description = S("Wooden Tile"),
		groups = {snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
		tiles = {"default_wood.png^moreblocks_wood_tile.png",
		"default_wood.png^moreblocks_wood_tile.png",
		"default_wood.png^moreblocks_wood_tile.png",
		"default_wood.png^moreblocks_wood_tile.png",
		"default_wood.png^moreblocks_wood_tile.png^[transformR90",
		"default_wood.png^moreblocks_wood_tile.png^[transformR90"},
		sounds = sound_wood,
	},
	["wood_tile_flipped"] = {
		description = S("Wooden Tile"),
		groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
		tiles = {"default_wood.png^moreblocks_wood_tile.png^[transformR90",
		"default_wood.png^moreblocks_wood_tile.png^[transformR90",
		"default_wood.png^moreblocks_wood_tile.png^[transformR90",
		"default_wood.png^moreblocks_wood_tile.png^[transformR90",
		"default_wood.png^moreblocks_wood_tile.png^[transformR180",
		"default_wood.png^moreblocks_wood_tile.png^[transformR180"},
		sounds = sound_wood,
		no_stairs = true,
	},
	["wood_tile_center"] = {
		description = S("Centered Wooden Tile"),
		groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
		tiles = {"default_wood.png^moreblocks_wood_tile_center.png"},
		sounds = sound_wood,
	},
	["wood_tile_full"] = {
		description = S("Full Wooden Tile"),
		groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
		tiles = tile_tiles("wood_tile_full"),
		sounds = sound_wood,
	},
	["wood_tile_up"] = {
		description = S("Upwards Wooden Tile"),
		groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
		tiles = {"default_wood.png^moreblocks_wood_tile_up.png"},
		sounds = sound_wood,
		no_stairs = true,
	},
	["wood_tile_down"] = {
		description = S("Downwards Wooden Tile"),
		groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
		tiles = {"default_wood.png^[transformR180^moreblocks_wood_tile_up.png^[transformR180"},
		sounds = sound_wood,
		no_stairs = true,
	},
	["wood_tile_left"] = {
		description = S("Leftwards Wooden Tile"),
		groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
		tiles = {"default_wood.png^[transformR270^moreblocks_wood_tile_up.png^[transformR270"},
		sounds = sound_wood,
		no_stairs = true,
	},
	["wood_tile_right"] = {
		description = S("Rightwards Wooden Tile"),
		groups = {wood = 1, snappy = 1, choppy = 2, oddly_breakable_by_hand = 2, flammable = 3},
		tiles = {"default_wood.png^[transformR90^moreblocks_wood_tile_up.png^[transformR90"},
		sounds = sound_wood,
		no_stairs = true,
	},
	["circle_stone_bricks"] = {
		description = S("Circle Stone Bricks"),
		groups = {cracky = 3},
		sounds = sound_stone,
	},
	["grey_bricks"] = {
		description = S("Stone Bricks"),
		groups = {cracky = 3},
		sounds = sound_stone,
	},
	["coal_stone_bricks"] = {
		description = S("Coal Stone Bricks"),
		groups = {cracky = 3},
		sounds = sound_stone,
	},
	["iron_stone_bricks"] = {
		description = S("Iron Stone Bricks"),
		groups = {cracky = 3},
		sounds = sound_stone,
	},
	["stone_tile"] = {
		description = S("Stone Tile"),
		groups = {cracky = 3},
		sounds = sound_stone,
	},
	["split_stone_tile"] = {
		description = S("Split Stone Tile"),
		tiles = {"moreblocks_split_stone_tile_top.png",
			"moreblocks_split_stone_tile.png"},
		groups = {cracky = 3},
		sounds = sound_stone,
	},
	["split_stone_tile_alt"] = {
		description = S("Checkered Stone Tile"),
		groups = {cracky = 3},
		sounds = sound_stone,
	},
	["tar"] = {
		description = S("Tar"),
		groups = {cracky = 2, tar_block = 1},
		sounds = sound_stone,
	},
        ["dirt_compressed"] = {
                description = S("Compressed Dirt"),
                groups = {crumbly=2},
                is_ground_content = false,
                sounds = sound_dirt,
        },
	["cobble_compressed"] = {
		description = S("Compressed Cobblestone"),
		groups = {cracky = 1},
		sounds = sound_stone,
	},
        ["cobble_condensed"] = {
           description = "Condensed Cobblestone",
           tiles = {"moreblocks_cobble_compressed.png^[colorize:black:255]"},
           is_ground_content = false,
           groups = {cracky = 1, stone = 2},
           stack_max = 999,
           sounds = default.node_sound_stone_defaults(),
        },
	["plankstone"] = {
		description = S("Plankstone"),
		groups = {cracky = 3},
		tiles = tile_tiles("plankstone"),
		sounds = sound_stone,
	},
	["iron_glass"] = {
		description = S("Iron Glass"),
		drawtype = "glasslike_framed_optional",
		tiles = {"moreblocks_iron_glass.png", "moreblocks_iron_glass_detail.png"},
		--tiles = {"moreblocks_iron_glass.png"},
                one_texture = true,
		paramtype = "light",
		sunlight_propagates = true,
		groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3},
		sounds = sound_glass,
	},
	["coal_glass"] = {
		description = S("Coal Glass"),
		drawtype = "glasslike_framed_optional",
		tiles = {"moreblocks_coal_glass.png", "moreblocks_coal_glass_detail.png"},
		--tiles = {"moreblocks_coal_glass.png"},
                one_texture = true,
		paramtype = "light",
		sunlight_propagates = true,
		groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3},
		sounds = sound_glass,
	},
	["clean_glass"] = {
		description = S("Clean Glass"),
		drawtype = "glasslike_framed_optional",
		tiles = {"moreblocks_clean_glass.png", "moreblocks_clean_glass_detail.png"},
		-- tiles = {"moreblocks_clean_glass.png"},
                one_texture = true,
		paramtype = "light",
		sunlight_propagates = true,
		groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3},
		sounds = sound_glass,
	},
	["blue_tinted_glass"] = {
		description = S("Blue Tinted Glass"),
		drawtype = "glasslike_framed_optional",
                tiles = {"blue1.png^moreblocks_clean_glass.png"},
		-- tiles = {"moreblocks_clean_glass.png","moreblocks_clean_glass_detail.png"},
		-- tiles = {"moreblocks_clean_glass.png"},
                one_texture = true,
                use_texture_alpha = true,
		paramtype = "light",
                no_stairs = true;
		sunlight_propagates = true,
		groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3},
		sounds = sound_glass,
	},
	["cactus_brick"] = {
		description = S("Cactus Brick"),
		groups = {cracky = 3},
		sounds = sound_stone,
	},
	["cactus_checker"] = {
		description = S("Cactus Checker"),
		groups = {cracky = 3},
		tiles = {"default_stone.png^moreblocks_cactus_checker.png",
		"default_stone.png^moreblocks_cactus_checker.png",
		"default_stone.png^moreblocks_cactus_checker.png",
		"default_stone.png^moreblocks_cactus_checker.png",
		"default_stone.png^moreblocks_cactus_checker.png^[transformR90",
		"default_stone.png^moreblocks_cactus_checker.png^[transformR90"},
		sounds = sound_stone,
	},
	["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 = sound_wood,
		furnace_burntime = 15,
		no_stairs = true,
	},
	["coal_stone"] = {
		description = S("Coal Stone"),
		groups = {cracky = 3},
		sounds = sound_stone,
	},
	["iron_stone"] = {
		description = S("Iron Stone"),
		groups = {cracky = 3},
		sounds = sound_stone,
	},
	["coal_checker"] = {
		description = S("Coal Checker"),
		tiles = {"default_stone.png^moreblocks_coal_checker.png",
		"default_stone.png^moreblocks_coal_checker.png",
		"default_stone.png^moreblocks_coal_checker.png",
		"default_stone.png^moreblocks_coal_checker.png",
		"default_stone.png^moreblocks_coal_checker.png^[transformR90",
		"default_stone.png^moreblocks_coal_checker.png^[transformR90"},
		groups = {cracky = 3},
		sounds = sound_stone,
	},
	["iron_checker"] = {
		description = S("Iron Checker"),
		tiles = {"default_stone.png^moreblocks_iron_checker.png",
		"default_stone.png^moreblocks_iron_checker.png",
		"default_stone.png^moreblocks_iron_checker.png",
		"default_stone.png^moreblocks_iron_checker.png",
		"default_stone.png^moreblocks_iron_checker.png^[transformR90",
		"default_stone.png^moreblocks_iron_checker.png^[transformR90"},
		groups = {cracky = 3},
		sounds = sound_stone,
	},
	["trap_stone"] = {
		description = S("Trap Stone"),
		walkable = false,
		groups = {cracky = 3},
		sounds = sound_stone,
		no_stairs = true,
	},
        ["trap_desert_stone"] = {
                description = S("Trap Desert Stone"),
                drawtype = "glasslike_framed",
                tiles = {"default_desert_stone.png^moreblocks_trap_box.png"},
                walkable = false,
                groups = {cracky = 3},
                paramtype = "light",
                is_ground_content = false,
                sounds = sound_stone,
                no_stairs = true,
        },
	["trap_glass"] = {
		description = S("Trap Glass"),
		drawtype = "glasslike_framed_optional",
		tiles = {"moreblocks_trap_glass.png", "default_glass_detail.png"},
		--tiles = {"moreblocks_trap_glass.png"},
		paramtype = "light",
		sunlight_propagates = true,
		walkable = false,
		groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3},
		sounds = sound_glass,
		no_stairs = true,
	},
        ["trap_obsidian_glass"] = {
                description = S("Trap Obsidian Glass"),
                drawtype = "glasslike_framed_optional",
                tiles = {"default_obsidian_glass.png^moreblocks_trap_box_glass.png", "default_obsidian_glass_detail.png"},
                paramtype = "light",
                sunlight_propagates = true,
                is_ground_content = false,
                walkable = false,
                groups = {cracky = 3, oddly_breakable_by_hand = 3},
                sounds = sound_glass,
                no_stairs = true,
        },
        ["trap_obsidian"] = {
                description = S("Trap Obsidian"),
                drawtype = "glasslike_framed",
                tiles = {"default_obsidian.png^moreblocks_trap_box.png"},
                walkable = false,
                groups = {cracky = 1, level = 2},
                paramtype = "light",
                is_ground_content = false,
                sounds = sound_stone,
                no_stairs = true,
        },
        ["trap_sandstone"] = {
                description = S("Trap Sandstone"),
                drawtype = "glasslike_framed",
                tiles = {"default_sandstone.png^moreblocks_trap_box.png"},
                walkable = false,
                groups = {crumbly = 1, cracky = 3},
                paramtype = "light",
                is_ground_content = false,
                sounds = sound_stone,
                no_stairs = true,
        },
	["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 = sound_wood,
		furnace_burntime = 30,
	},
	["all_faces_jungle_tree"] = {
		description = S("All-faces Jungle Tree"),
		tiles = {"default_jungletree_top.png"},
		groups = {tree = 1,snappy = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
		sounds = sound_wood,
		furnace_burntime = 30,
	},
        ["all_faces_pine_tree"] = {
                description = S("All-faces Pine Tree"),
                tiles = {"default_pine_tree_top.png"},
                groups = {tree = 1, choppy = 3, oddly_breakable_by_hand = 1, flammable = 3},
                sounds = sound_wood,
                furnace_burntime = 26,
        },
        ["all_faces_acacia_tree"] = {
                description = S("All-faces Acacia Tree"),
                tiles = {"default_acacia_tree_top.png"},
                groups = {tree = 1, choppy = 2, oddly_breakable_by_hand = 1, flammable = 2},
                sounds = sound_wood,
                furnace_burntime = 34,
        },
        ["all_faces_aspen_tree"] = {
                description = S("All-faces Aspen Tree"),
                tiles = {"default_aspen_tree_top.png"},
                groups = {tree = 1, choppy = 3, oddly_breakable_by_hand = 1, flammable = 3},
                sounds = sound_wood,
                furnace_burntime = 22,
        },
	["glow_glass"] = {
		description = S("Glow Glass"),
		drawtype = "glasslike_framed_optional",
		tiles = {"moreblocks_glow_glass.png", "moreblocks_glow_glass_detail.png"},
		-- tiles = {"moreblocks_glow_glass.png"},
                one_texture = true,
		paramtype = "light",
		sunlight_propagates = true,
		light_source = 11,
		groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3},
		sounds = sound_glass,
	},
	["trap_glow_glass"] = {
		description = S("Trap Glow Glass"),
		drawtype = "glasslike_framed_optional",
		tiles = {"moreblocks_trap_glass.png", "moreblocks_glow_glass_detail.png"},
		-- tiles = {"moreblocks_trap_glass.png"},
		paramtype = "light",
		sunlight_propagates = true,
		light_source = 11,
		walkable = false,
		groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3},
		sounds = sound_glass,
		no_stairs = true,
	},
	["super_glow_glass"] = {
		description = S("Super Glow Glass"),
		drawtype = "glasslike_framed_optional",
		tiles = {"moreblocks_super_glow_glass.png", "moreblocks_super_glow_glass_detail.png"},
		-- tiles = {"moreblocks_super_glow_glass.png"},
		-- tiles = {"default_glass.png^[colorize:#FFFF78"},
                one_texture = true,
		paramtype = "light",
		sunlight_propagates = true,
		light_source = 14,
		groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3},
		sounds = sound_glass,
	},
	["trap_super_glow_glass"] = {
		description = S("Trap Super Glow Glass"),
		drawtype = "glasslike_framed_optional",
		tiles = {"moreblocks_trap_super_glow_glass.png", "moreblocks_super_glow_glass_detail.png"},
		-- tiles = {"moreblocks_trap_super_glow_glass.png"},
		paramtype = "light",
		sunlight_propagates = true,
		light_source = 14,
		walkable = false,
		groups = {snappy = 2, cracky = 3, oddly_breakable_by_hand = 3},
		sounds = sound_glass,
		no_stairs = true,
	},
	["rope"] = {
		description = S("Rope"),
		drawtype = "signlike",
		inventory_image = "moreblocks_rope.png",
		wield_image = "moreblocks_rope.png",
		paramtype = "light",
		sunlight_propagates = true,
		paramtype2 = "wallmounted",
		walkable = false,
		climbable = true,
		selection_box = {type = "wallmounted",},
		groups = {snappy = 3, flammable = 2},
		sounds = sound_leaves,
		no_stairs = true,
	},
	["copperpatina"] = {
		description = S("Copper Patina Block"),
		groups = {cracky = 1, level = 2},
		sounds = sound_metal,
	},
}

if minetest.get_modpath("ethereal") then
    nodes["all_faces_mushroom_tree"] =  {
                description = S("All-faces Mushroom Tree"),
                tiles = {"mushroom_trunk_top.png"},
                groups = {tree = 1, choppy = 3, oddly_breakable_by_hand = 1, flammable = 3},
                sounds = sound_wood,
                furnace_burntime = 22,
             }
end


for name, def in pairs(nodes) do
	def.tiles = def.tiles or {"moreblocks_" ..name.. ".png"}
	minetest.register_node("moreblocks:" ..name, def)
	minetest.register_alias(name, "moreblocks:" ..name)
	if not def.no_stairs then
		local groups = {}
                temp_tiles = def.tiles
                if def.one_texture then
                   temp_tiles = { def.tiles[1]}
                end
		for k, v in pairs(def.groups) do groups[k] = v end
		stairsplus:register_all("moreblocks", name, "moreblocks:" ..name, {
			description = def.description,
			groups = groups,
			tiles = temp_tiles,
			sunlight_propagates = def.sunlight_propagates,
			light_source = def.light_source,
			sounds = def.sounds,
		})
	end
end


-- Items

minetest.register_craftitem("moreblocks:sweeper", {
	description = S("Sweeper"),
	inventory_image = "moreblocks_sweeper.png",
})

minetest.register_craftitem("moreblocks:nothing", {
	inventory_image = "invisible.png",
	on_use = function() end,
})