Map Tools
							
								
								
									
										13
									
								
								LICENSE.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,13 @@ | ||||
| +---- zlib/libpng license ----+ | ||||
|  | ||||
| Copyright (c) 2013 Calinou | ||||
|  | ||||
| This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. | ||||
|  | ||||
| Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: | ||||
|  | ||||
| 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. | ||||
|  | ||||
| 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. | ||||
|  | ||||
| 3. This notice may not be removed or altered from any source distribution. | ||||
							
								
								
									
										22
									
								
								README.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,22 @@ | ||||
| Calinou's Minetest Mods | ||||
| ===================== | ||||
|  | ||||
| Calinou's Mods for Minetest [http://minetest.net], a free and opensource Minecraft-like game. | ||||
|  | ||||
| This Git repository is mostly made for servers; it allows easy updating. | ||||
|  | ||||
| To install, just clone this repository somewhere, then copy the "calinou_mods" folder in the "mods/minetest" folder of Minetest's installation folder. | ||||
|  | ||||
|  | ||||
|  | ||||
| Misc stuff | ||||
| ===================== | ||||
|  | ||||
| All these mods' source codes, except More Ores are under the zlib/libpng license. More Ores is under the GNU GPLv3; the mods' textures are under the CC BY-SA 3.0 Unported. | ||||
|  | ||||
| Mods' forum threads: | ||||
| More Blocks: http://minetest.net/forum/viewtopic.php?id=509 | ||||
| More Ores: http://minetest.net/forum/viewtopic.php?id=549 | ||||
| Map Tools: http://minetest.net/forum/viewtopic.php?id=1882 | ||||
| Doors+: http://minetest.net/forum/viewtopic.php?id=2059 | ||||
| Stairs+: http://minetest.net/forum/viewtopic.php?id=2092 | ||||
							
								
								
									
										53
									
								
								_README.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,53 @@ | ||||
| *** Item names for spawning the items using /give or /giveme *** | ||||
|  | ||||
| Items: | ||||
|  | ||||
| - admin_pick | ||||
| Purple pickaxe, infinite durability, mines everything including unbreakable blocks instantly. Don't put this pickaxe in the hands of a griefer, of course. :) | ||||
|  | ||||
| - infinitefuel | ||||
| Fuel lasting for a (near)-infinite time. Don't worry about the "near" - it lasts for about 50 in-real-life years. | ||||
|  | ||||
| - superapple | ||||
| An apple which heals all 10 hearts. | ||||
|  | ||||
| - copper_coin | ||||
| - silver_coin | ||||
| - gold_coin | ||||
| These have nothing to do with the More Ores mod; they can be used as a currency for trading, or as an universal currency for mods that add shops. | ||||
|  | ||||
| Blocks: | ||||
| A /!\ denotes an unpointable, unbreakable block; be very careful with them, they cannot be removed by hand (they can only be removed with WorldEdit). | ||||
|  | ||||
| - (insert block name here)_u -- example: stone_u | ||||
| Unbreakable, non-flammable, non-falling, non-decaying blocks, most common blocks have their unbreakable form (examples: maptools:stone or maptools:wood for unbreakable stone/wood). | ||||
|  | ||||
| - fullgrass | ||||
| Unbrakable block with the "grass" texture on all sides. | ||||
|  | ||||
| - playerclip | ||||
| /!\ Invisible block, not pointable. | ||||
|  | ||||
| - fullclip | ||||
| Invisible block, pointable. | ||||
|  | ||||
| - smoke_block | ||||
| Some smoke (does not harm players or entities). | ||||
|  | ||||
| - nobuild | ||||
| /!\ Very basic building prevention. | ||||
|  | ||||
| - nointeract | ||||
| Prevents interacting through the block (interacting as in opening chests, furnaces, attacking entities...). | ||||
|  | ||||
| - damage_(insert damage in half hearts here) | ||||
| /!\ Damaging blocks. The damage is in half hearts and ranges from 1 to 5 (0.5 to 2.5 hearts damage every second). | ||||
|  | ||||
| - killblock | ||||
| /!\ Instant kill (deals 10 heart damage) blocks. | ||||
|  | ||||
| - lightblock | ||||
| /!\ Invisible non-solid block, prevents light from passing through. | ||||
|  | ||||
| - lightbulb | ||||
| /!\ Invisible non-solid block, emitting a good amount of light. | ||||
							
								
								
									
										93
									
								
								aliases.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,93 @@ | ||||
| -- Aliases | ||||
|  | ||||
| minetest.register_alias("adminpick", "maptools:pick_admin") | ||||
| minetest.register_alias("adminpickaxe", "maptools:pick_admin") | ||||
| minetest.register_alias("admin_pick", "maptools:pick_admin") | ||||
| minetest.register_alias("admin_pickaxe", "maptools:pick_admin") | ||||
| minetest.register_alias("pick_admin", "maptools:pick_admin") | ||||
| minetest.register_alias("pickaxe_admin", "maptools:pick_admin") | ||||
| minetest.register_alias("pickadmin", "maptools:pick_admin") | ||||
| minetest.register_alias("pickaxeadmin", "maptools:pick_admin") | ||||
| minetest.register_alias("adminpickdrops", "maptools:pick_admin_with_drops") | ||||
| minetest.register_alias("adminpickaxedrops", "maptools:pick_admin_with_drops") | ||||
| minetest.register_alias("admin_pick_drops", "maptools:pick_admin_with_drops") | ||||
| minetest.register_alias("admin_pickaxe_drops", "maptools:pick_admin_with_drops") | ||||
| minetest.register_alias("pick_admin_drops", "maptools:pick_admin_with_drops") | ||||
| minetest.register_alias("pickaxe_admin_drops", "maptools:pick_admin_with_drops") | ||||
| minetest.register_alias("pickadmindrops", "maptools:pick_admin_with_drops") | ||||
| minetest.register_alias("pickaxeadmindrops", "maptools:pick_admin_with_drops") | ||||
| minetest.register_alias("infinitefuel", "maptools:infinitefuel") | ||||
| minetest.register_alias("infinite_fuel", "maptools:infinitefuel") | ||||
| minetest.register_alias("ifuel", "maptools:infinitefuel") | ||||
| minetest.register_alias("superapple", "maptools:superapple") | ||||
| minetest.register_alias("super_apple", "maptools:superapple") | ||||
| minetest.register_alias("sapple", "maptools:superapple") | ||||
| minetest.register_alias("nobuild", "maptools:nobuild") | ||||
| minetest.register_alias("nointeract", "maptools:nointeract") | ||||
| minetest.register_alias("damage_1", "maptools:damage_1") | ||||
| minetest.register_alias("damage_2", "maptools:damage_2") | ||||
| minetest.register_alias("damage_3", "maptools:damage_3") | ||||
| minetest.register_alias("damage_4", "maptools:damage_4") | ||||
| minetest.register_alias("damage_5", "maptools:damage_5") | ||||
| minetest.register_alias("pusher_1", "maptools:pusher_1") | ||||
| minetest.register_alias("pusher_2", "maptools:pusher_2") | ||||
| minetest.register_alias("pusher_3", "maptools:pusher_3") | ||||
| minetest.register_alias("pusher_4", "maptools:pusher_4") | ||||
| minetest.register_alias("pusher_5", "maptools:pusher_5") | ||||
| minetest.register_alias("pusher_6", "maptools:pusher_6") | ||||
| minetest.register_alias("pusher_7", "maptools:pusher_7") | ||||
| minetest.register_alias("pusher_8", "maptools:pusher_8") | ||||
| minetest.register_alias("pusher_9", "maptools:pusher_9") | ||||
| minetest.register_alias("pusher_10", "maptools:pusher_10") | ||||
| minetest.register_alias("killblock", "maptools:kill") | ||||
| minetest.register_alias("kill_block", "maptools:kill") | ||||
| minetest.register_alias("lightblock", "maptools:lightblock") | ||||
| minetest.register_alias("light_block", "maptools:lightblock") | ||||
| minetest.register_alias("lightbulb", "maptools:lightbulb") | ||||
| minetest.register_alias("light_bulb", "maptools:lightbulb") | ||||
| minetest.register_alias("playerclip", "maptools:playerclip") | ||||
| minetest.register_alias("player_clip", "maptools:playerclip") | ||||
| minetest.register_alias("pclip", "maptools:playerclip") | ||||
| minetest.register_alias("fullclip", "maptools:fullclip") | ||||
| minetest.register_alias("full_clip", "maptools:fullclip") | ||||
| minetest.register_alias("fclip", "maptools:fullclip") | ||||
| minetest.register_alias("full_clip", "maptools:fullclip") | ||||
| minetest.register_alias("full_clip_face", "maptools:fullclip_face") | ||||
| minetest.register_alias("fullclip_face", "maptools:fullclip_face") | ||||
| minetest.register_alias("fullclipface", "maptools:fullclip_face") | ||||
| minetest.register_alias("player_clip_bottom", "maptools:playerclip_bottom") | ||||
| minetest.register_alias("playerclip_bottom", "maptools:playerclip_bottom") | ||||
| minetest.register_alias("playerclipbottom", "maptools:playerclip_bottom") | ||||
| minetest.register_alias("player_clip_top", "maptools:playerclip_top") | ||||
| minetest.register_alias("playerclip_top", "maptools:playerclip_top") | ||||
| minetest.register_alias("playercliptop", "maptools:playerclip_top") | ||||
| minetest.register_alias("permanentfire", "maptools:permanent_fire") | ||||
| minetest.register_alias("permanent_fire", "maptools:permanent_fire") | ||||
| minetest.register_alias("pfire", "maptools:permanent_fire") | ||||
| minetest.register_alias("fakefire", "maptools:fake_fire") | ||||
| minetest.register_alias("fake_fire", "maptools:fake_fire") | ||||
| minetest.register_alias("ffire", "maptools:fake_fire") | ||||
| minetest.register_alias("igniter", "maptools:igniter") | ||||
|  | ||||
| -- Unbreakable block aliases | ||||
|  | ||||
| minetest.register_alias("stone_u", "maptools:stone") | ||||
| minetest.register_alias("tree_u", "maptools:tree") | ||||
| minetest.register_alias("cobble_u", "maptools:cobble") | ||||
| minetest.register_alias("wood_u", "maptools:wood") | ||||
| minetest.register_alias("sand_u", "maptools:sand") | ||||
| minetest.register_alias("gravel_u", "maptools:gravel") | ||||
| minetest.register_alias("brick_u", "maptools:brick") | ||||
| minetest.register_alias("dirt_u", "maptools:dirt") | ||||
| minetest.register_alias("glass_u", "maptools:glass") | ||||
| minetest.register_alias("sandstone_u", "maptools:sandstone") | ||||
| minetest.register_alias("desert_stone_u", "maptools:desert_stone") | ||||
| minetest.register_alias("desertstone_u", "maptools:desert_stone") | ||||
| minetest.register_alias("desert_sand_u", "maptools:desert_sand") | ||||
| minetest.register_alias("desertsand_u", "maptools:desert_sand") | ||||
| minetest.register_alias("leaves_u", "maptools:leaves") | ||||
| minetest.register_alias("grass_u", "maptools:glass") | ||||
| minetest.register_alias("fullgrass", "maptools:fullgrass") | ||||
| minetest.register_alias("fullgrass_u", "maptools:fullgrass") | ||||
| minetest.register_alias("mossycobble_u", "maptools:mossycobble") | ||||
| minetest.register_alias("mossy_cobble_u", "maptools:mossycobble") | ||||
							
								
								
									
										1
									
								
								depends.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1 @@ | ||||
| default | ||||
							
								
								
									
										472
									
								
								init.lua
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,472 @@ | ||||
| -- 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 | ||||
|  | ||||
| dofile(minetest.get_modpath("maptools").."/aliases.lua") | ||||
|  | ||||
| print(S("[maptools] loaded.")) | ||||
|  | ||||
| --[[ | ||||
| **** | ||||
| Map Tools | ||||
| by Calinou | ||||
| Licensed under the zlib/libpng license for code and CC BY-SA for textures, see LICENSE.txt for info. | ||||
| **** | ||||
| --]] | ||||
|  | ||||
| -- Redefine cloud so that admin pickaxe can mine it | ||||
|  | ||||
| minetest.register_node(":default:cloud", { | ||||
| 	description = S("Cloud"), | ||||
| 	tiles = {"default_cloud.png"}, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_defaults(), | ||||
| }) | ||||
|  | ||||
| -- Items | ||||
|  | ||||
| minetest.register_craft({ | ||||
| 	type = "fuel", | ||||
| 	recipe = "maptools:infinitefuel", | ||||
| 	burntime = 1000000000, | ||||
| }) | ||||
|  | ||||
| -- Blocks | ||||
|  | ||||
| minetest.register_node("maptools:stone", { | ||||
| 	description = S("Unbreakable Stone"), | ||||
| 	tiles = {"default_stone.png"}, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_stone_defaults(), | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:tree", { | ||||
| 	description = S("Unbreakable Tree"), | ||||
| 	tiles = {"default_tree.png"}, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:dirt", { | ||||
| 	description = S("Unbreakable Dirt"), | ||||
| 	tiles = {"default_dirt.png"}, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_dirt_defaults(), | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:wood", { | ||||
| 	description = S("Unbreakable Wooden Planks"), | ||||
| 	tiles = {"default_wood.png"}, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:glass", { | ||||
| 	description = S("Unbreakable Glass"), | ||||
| 	drawtype = "glasslike", | ||||
| 	tiles = {"default_glass.png"}, | ||||
| 	paramtype = "light", | ||||
| 	sunlight_propagates = true, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_glass_defaults(), | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:leaves", { | ||||
| 	description = S("Unbreakable Leaves"), | ||||
| 	drawtype = "allfaces_optional", | ||||
| 	tiles = {"default_leaves.png"}, | ||||
| 	paramtype = "light", | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_leaves_defaults(), | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:sand", { | ||||
| 	description = S("Unbreakable Sand"), | ||||
| 	tiles = {"default_sand.png"}, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_sand_defaults(), | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:gravel", { | ||||
| 	description = S("Unbreakable Gravel"), | ||||
| 	tiles = {"default_gravel.png"}, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_dirt_defaults({ | ||||
| 		footstep = {name="default_gravel_footstep", gain=0.45}, | ||||
| 	}), | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:desert_sand", { | ||||
| 	description = S("Unbreakable Desert Sand"), | ||||
| 	tiles = {"default_desert_sand.png"}, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_sand_defaults(), | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:sandstone", { | ||||
| 	description = S("Unbreakable Sandstone"), | ||||
| 	tiles = {"default_sandstone.png"}, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_stone_defaults(), | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:desert_stone", { | ||||
| 	description = S("Unbreakable Desert Stone"), | ||||
| 	tiles = {"default_desert_stone.png"}, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_stone_defaults(), | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:grass", { | ||||
| 	description = S("Unbreakable Dirt with Grass"), | ||||
| 	tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_dirt_defaults({ | ||||
| 		footstep = {name="default_grass_footstep", gain=0.4}, | ||||
| 	}), | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:fullgrass", { | ||||
| 	description = S("Unbreakable Full Grass"), | ||||
| 	tiles = {"default_grass.png"}, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_dirt_defaults({ | ||||
| 		footstep = {name="default_grass_footstep", gain=0.4}, | ||||
| 	}), | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:cobble", { | ||||
| 	description = S("Unbreakable Cobblestone"), | ||||
| 	tiles = {"default_cobble.png"}, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_stone_defaults(), | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:mossycobble", { | ||||
| 	description = S("Unbreakable Mossy Cobblestone"), | ||||
| 	tiles = {"default_mossycobble.png"}, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_stone_defaults(), | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:brick", { | ||||
| 	description = S("Unbreakable Brick"), | ||||
| 	tiles = {"default_brick.png"}, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_stone_defaults(), | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:playerclip", { | ||||
| 	description = S("Player Clip"), | ||||
| 	drawtype = "airlike", | ||||
| 	paramtype = "light", | ||||
| 	pointable = false, | ||||
| 	sunlight_propagates = true, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:fullclip", { | ||||
| 	description = S("Full Clip"), | ||||
| 	drawtype = "airlike", | ||||
| 	paramtype = "light", | ||||
| 	sunlight_propagates = true, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:playerclip", { | ||||
| 	description = S("Player Clip"), | ||||
| 	drawtype = "airlike", | ||||
| 	paramtype = "light", | ||||
| 	pointable = false, | ||||
| 	sunlight_propagates = true, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:fullclip_face", { | ||||
| 	description = S("Full Clip Face"), | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = {"invisible.png"}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	sunlight_propagates = true, | ||||
| 	node_box = { | ||||
| 		type = "fixed", | ||||
| 		fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, | ||||
| 	}, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1, fall_damage_add_percent=-100}, | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:playerclip_bottom", { | ||||
| 	description = S("Player Clip Bottom Face"), | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = {"invisible.png"}, | ||||
| 	pointable = false, | ||||
| 	paramtype = "light", | ||||
| 	sunlight_propagates = true, | ||||
| 	node_box = { | ||||
| 		type = "fixed", | ||||
| 		fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, | ||||
| 	}, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1, fall_damage_add_percent=-100}, | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:playerclip_top", { | ||||
| 	description = S("Player Clip Top Face"), | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = {"invisible.png"}, | ||||
| 	pointable = false, | ||||
| 	paramtype = "light", | ||||
| 	sunlight_propagates = true, | ||||
| 	node_box = { | ||||
| 		type = "fixed", | ||||
| 		fixed = {-0.5, 0.4999, -0.5, 0.5, 0.5, 0.5}, | ||||
| 	}, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1, fall_damage_add_percent=-100}, | ||||
| }) | ||||
|  | ||||
| for pusher_num=1,10,1 do | ||||
| minetest.register_node("maptools:pusher_" .. pusher_num, { | ||||
| 	description = S("Pusher: %s"):format(pusher_num), | ||||
| 	drawtype = "nodebox", | ||||
| 	tiles = {"invisible.png"}, | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "facedir", | ||||
| 	sunlight_propagates = true, | ||||
| 	node_box = { | ||||
| 		type = "fixed", | ||||
| 		fixed = {-0.5, -0.5, -0.5, 0.5, -0.4999, 0.5}, | ||||
| 	}, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1, fall_damage_add_percent=-100, bouncy=pusher_num*100}, | ||||
| }) | ||||
| end | ||||
|  | ||||
| minetest.register_node("maptools:lightbulb", { | ||||
| 	description = S("Light Bulb"), | ||||
| 	drawtype = "airlike", | ||||
| 	walkable = false, | ||||
| 	pointable = false, | ||||
| 	light_source = 15, | ||||
| 	paramtype = "light", | ||||
| 	buildable_to = true, | ||||
| 	sunlight_propagates = true, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:nobuild", { | ||||
| 	description = S("Build Prevention"), | ||||
| 	drawtype = "airlike", | ||||
| 	walkable = false, | ||||
| 	pointable = false, | ||||
| 	paramtype = "light", | ||||
| 	sunlight_propagates = true, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:nointeract", { | ||||
| 	description = S("Interact Prevention"), | ||||
| 	drawtype = "airlike", | ||||
| 	walkable = false, | ||||
| 	paramtype = "light", | ||||
| 	sunlight_propagates = true, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:climb", { | ||||
| 	description = S("Climb Block"), | ||||
| 	drawtype = "airlike", | ||||
| 	walkable = false, | ||||
| 	climbable = true, | ||||
| 	pointable = false, | ||||
| 	buildable_to = true, | ||||
| 	paramtype = "light", | ||||
| 	sunlight_propagates = true, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| }) | ||||
|  | ||||
| for damage_num=1,5,1 do | ||||
| minetest.register_node("maptools:damage_" .. damage_num, { | ||||
| 	description = S("Damaging Block: %s"):format(damage_num), | ||||
| 	drawtype = "airlike", | ||||
| 	walkable = false, | ||||
| 	pointable = false, | ||||
| 	damage_per_second = damage_num, | ||||
| 	paramtype = "light", | ||||
| 	sunlight_propagates = true, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| }) | ||||
| end | ||||
|  | ||||
| minetest.register_node("maptools:kill", { | ||||
| 	description = S("Kill Block"), | ||||
| 	drawtype = "airlike", | ||||
| 	walkable = false, | ||||
| 	pointable = false, | ||||
| 	damage_per_second = 20, | ||||
| 	paramtype = "light", | ||||
| 	sunlight_propagates = true, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:smoke", { | ||||
| 	description = S("Smoke Block"), | ||||
| 	tiles = {"maptools_smoke.png"}, | ||||
| 	drawtype = "allfaces_optional", | ||||
| 	walkable = false, | ||||
| 	paramtype = "light", | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| 	post_effect_color = {a=127, r=127, g=127, b=127}, | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:ladder", { | ||||
| 	description = S("Fake Ladder"), | ||||
| 	drawtype = "signlike", | ||||
| 	tiles = {"default_ladder.png"}, | ||||
| 	inventory_image = "default_ladder.png", | ||||
| 	wield_image = "default_ladder.png", | ||||
| 	paramtype = "light", | ||||
| 	paramtype2 = "wallmounted", | ||||
| 	walkable = false, | ||||
| 	sunlight_propagates = true, | ||||
| 	selection_box = { | ||||
| 		type = "wallmounted", | ||||
| 	}, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| 	sounds = default.node_sound_wood_defaults(), | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:permanent_fire", { | ||||
| 	description = S("Permanent Fire"), | ||||
| 	drawtype = "plantlike", | ||||
| 	paramtype = "light", | ||||
| 	tiles = {{ | ||||
| 		name="fire_basic_flame_animated.png", | ||||
| 		animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1}, | ||||
| 	}}, | ||||
| 	inventory_image = "fire_basic_flame.png", | ||||
| 	light_source = 14, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| 	drop = '', | ||||
| 	sunlight_propagates = true, | ||||
| 	walkable = false, | ||||
| 	damage_per_second = 4, | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:fake_fire", { | ||||
| 	description = S("Fake Fire"), | ||||
| 	drawtype = "plantlike", | ||||
| 	paramtype = "light", | ||||
| 	tiles = {{ | ||||
| 		name="fire_basic_flame_animated.png", | ||||
| 		animation={type="vertical_frames", aspect_w=16, aspect_h=16, length=1}, | ||||
| 	}}, | ||||
| 	inventory_image = "fire_basic_flame.png", | ||||
| 	light_source = 14, | ||||
| 	groups = {unbreakable=1, not_in_creative_inventory=1}, | ||||
| 	drop = '', | ||||
| 	sunlight_propagates = true, | ||||
| 	walkable = false, | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:igniter", { | ||||
| 	drawtype = "airlike", | ||||
| 	description = S("Igniter"), | ||||
| 	paramtype = "light", | ||||
| 	inventory_image = "fire_basic_flame.png", | ||||
| 	groups = {igniter=2, unbreakable=1, not_in_creative_inventory=1}, | ||||
| 	drop = '', | ||||
| 	sunlight_propagates = true, | ||||
| 	pointable = false, | ||||
| 	walkable = false, | ||||
| }) | ||||
|  | ||||
| -- Items | ||||
|  | ||||
| minetest.register_craftitem("maptools:copper_coin", { | ||||
| 	description = S("Copper Coin"), | ||||
| 	inventory_image = "maptools_copper_coin.png", | ||||
| 	groups = {not_in_creative_inventory=1}, | ||||
| }) | ||||
|  | ||||
| minetest.register_craftitem("maptools:silver_coin", { | ||||
| 	description = S("Silver Coin"), | ||||
| 	inventory_image = "maptools_silver_coin.png", | ||||
| 	groups = {not_in_creative_inventory=1}, | ||||
| }) | ||||
|  | ||||
| minetest.register_craftitem("maptools:gold_coin", { | ||||
| 	description = S("Gold Coin"), | ||||
| 	inventory_image = "maptools_gold_coin.png", | ||||
| 	groups = {not_in_creative_inventory=1}, | ||||
| }) | ||||
|  | ||||
| minetest.register_craftitem("maptools:infinitefuel", { | ||||
| 	description = S("Infinite Fuel"), | ||||
| 	inventory_image = "maptools_infinitefuel.png", | ||||
| }) | ||||
|  | ||||
| minetest.register_node("maptools:superapple", { | ||||
| 	description = S("Super Apple"), | ||||
| 	drawtype = "plantlike", | ||||
| 	visual_scale = 1.0, | ||||
| 	tiles = {"maptools_superapple.png"}, | ||||
| 	inventory_image = "maptools_superapple.png", | ||||
| 	paramtype = "light", | ||||
| 	sunlight_propagates = true, | ||||
| 	walkable = false, | ||||
| 	groups = {fleshy=3, dig_immediate=3, not_in_creative_inventory=1}, | ||||
| 	on_use = minetest.item_eat(20), | ||||
| 	sounds = default.node_sound_defaults(), | ||||
| }) | ||||
|  | ||||
| -- Tools | ||||
|  | ||||
| minetest.register_tool("maptools:pick_admin", { | ||||
| 	description = S("Admin Pickaxe"), | ||||
| 	inventory_image = "maptools_adminpick.png", | ||||
| 	groups = {not_in_creative_inventory=1}, | ||||
| 	tool_capabilities = { | ||||
| 		full_punch_interval = 0, | ||||
| 		max_drop_level=3, | ||||
| 		groupcaps= { | ||||
| 			unbreakable={times={[1]=0, [2]=0, [3]=0}, uses=0, maxlevel=3}, | ||||
| 			fleshy = {times={[1]=0, [2]=0, [3]=0}, uses=0, maxlevel=3}, | ||||
| 			choppy={times={[1]=0, [2]=0, [3]=0}, uses=0, maxlevel=3}, | ||||
| 			bendy={times={[1]=0, [2]=0, [3]=0}, uses=0, maxlevel=3}, | ||||
| 			cracky={times={[1]=0, [2]=0, [3]=0}, uses=0, maxlevel=3}, | ||||
| 			crumbly={times={[1]=0, [2]=0, [3]=0}, uses=0, maxlevel=3}, | ||||
| 			snappy={times={[1]=0, [2]=0, [3]=0}, uses=0, maxlevel=3}, | ||||
| 		} | ||||
| 	}, | ||||
| }) | ||||
|  | ||||
| minetest.register_tool("maptools:pick_admin_with_drops", { | ||||
| 	description = S("Admin Pickaxe With Drops"), | ||||
| 	inventory_image = "maptools_adminpick.png", | ||||
| 	groups = {not_in_creative_inventory=1}, | ||||
| 	tool_capabilities = { | ||||
| 		full_punch_interval = 0, | ||||
| 		max_drop_level=3, | ||||
| 		groupcaps= { | ||||
| 			unbreakable={times={[1]=0, [2]=0, [3]=0}, uses=0, maxlevel=3}, | ||||
| 			fleshy = {times={[1]=0, [2]=0, [3]=0}, uses=0, maxlevel=3}, | ||||
| 			choppy={times={[1]=0, [2]=0, [3]=0}, uses=0, maxlevel=3}, | ||||
| 			bendy={times={[1]=0, [2]=0, [3]=0}, uses=0, maxlevel=3}, | ||||
| 			cracky={times={[1]=0, [2]=0, [3]=0}, uses=0, maxlevel=3}, | ||||
| 			crumbly={times={[1]=0, [2]=0, [3]=0}, uses=0, maxlevel=3}, | ||||
| 			snappy={times={[1]=0, [2]=0, [3]=0}, uses=0, maxlevel=3}, | ||||
| 		} | ||||
| 	}, | ||||
| }) | ||||
|  | ||||
| minetest.register_on_punchnode(function(pos, node, puncher) | ||||
| 	if puncher:get_wielded_item():get_name() == "maptools:pick_admin" | ||||
| 	and minetest.env: get_node(pos).name ~= "air" then | ||||
| 		minetest.env:remove_node(pos) | ||||
| 	end | ||||
| end) | ||||
							
								
								
									
										39
									
								
								locale/es.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,39 @@ | ||||
| # Translation by kaeza | ||||
|  | ||||
| [maptools] loaded. = [maptools] cargado. | ||||
|  | ||||
| Cloud = Nube | ||||
| Infinite Fuel = Combustible Infinito | ||||
| Admin Pickaxe = Pico de Administrador | ||||
| Copper Coin = Moneda de Cobre | ||||
| Silver Coin = Moneda de Plata | ||||
| Gold Coin = Moneda de Oro | ||||
| Super Apple = Super Manzana | ||||
| Fake Ladder = Escalera Falsa | ||||
| Smoke Block = Bloque de Humo | ||||
| Damaging Block: %s = Bloque Dañino: %s | ||||
| Kill Block = Bloque Mortal | ||||
| Build Prevention = Bloqueador de Construcción | ||||
| Interact Prevention = Bloqueador de Interacción | ||||
| Climb Block = Bloque Escalable | ||||
| Light Block = Bloqueador de Luz | ||||
| Light Bulb = Lamparilla | ||||
| Player Clip = Bloqueo de Jugador | ||||
| Full Clip = Bloqueo Total | ||||
|  | ||||
| Unbreakable Stone = Piedra Irrompible | ||||
| Unbreakable Sand = Arena Irrompible | ||||
| Unbreakable Desert Stone = Piedra Desértica Irrompible | ||||
| Unbreakable Desert Sand = Arena Desértica Irrompible | ||||
| Unbreakable Gravel = Gravilla Irrompible | ||||
| Unbreakable Dirt = Tierra Irrompible | ||||
| Unbreakable Dirt with Grass = Hierba Irrompible | ||||
| Unbreakable Full Grass= Bloque de Hierba Irrompible | ||||
| Unbreakable Brick = Ladrillos Irrompibles | ||||
| Unbreakable Wooden Planks = Planchas de Madera Irrompibles | ||||
| Unbreakable Tree = Tronco de Árbol Irrompible | ||||
| Unbreakable Glass = Cristal Irrompible | ||||
| Unbreakable Sandstone = Arenisca Irrompible | ||||
| Unbreakable Leaves = Foliaje Irrompible | ||||
| Unbreakable Cobblestone = Guijarros Irrompibles | ||||
| Unbreakable Mossy Cobblestone = Guijarros Enmohecidos Irrompibles | ||||
							
								
								
									
										47
									
								
								locale/fr.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						| @@ -0,0 +1,47 @@ | ||||
| # Translation by Calinou | ||||
|  | ||||
| [maptools] loaded. = [maptools] a été chargé. | ||||
|  | ||||
| Cloud = Nuage | ||||
| Infinite Fuel = Carburant infini | ||||
| Admin Pickaxe = Pioche d'administrateur | ||||
| Admin Pickaxe With Drops = Pioche d'administrateur qui donne des objets | ||||
| Copper Coin = Pièce de cuivre | ||||
| Silver Coin = Pièce d'argent | ||||
| Gold Coin = Pièce d'or | ||||
| Super Apple = Super pomme | ||||
| Fake Ladder = Fausse échelle | ||||
| Smoke Block = Bloc de fumée | ||||
| Damaging Block: %s = Bloc de dégâts : %s | ||||
| Kill Block = Bloc qui tue | ||||
| Build Prevention = Prévention de construction | ||||
| Interact Prevention = Prévention d'interaction | ||||
| Climb Block = Bloc à grimper | ||||
| Light Block = Bloqueur de lumière | ||||
| Light Bulb = Bloc lumineux | ||||
| Player Clip = Bloque-joueurs | ||||
| Player Clip Bottom Face = Face inférieure de bloque-joueurs | ||||
| Player Clip Top Face = Face supérieure de bloque-joueurs | ||||
| Full Clip = Bloque-tout | ||||
| Full Clip Face = Face de bloque-tout | ||||
| Permanent Fire = Feu permanent | ||||
| Fake Fire = Faux feu | ||||
| Igniter = Incendieur | ||||
| Pusher: %s = Pousseur : %s | ||||
|  | ||||
| Unbreakable Stone = Pierre incassable | ||||
| Unbreakable Sand = Sable incassable | ||||
| Unbreakable Desert Stone = Pierre de désert incassable | ||||
| Unbreakable Desert Sand = Sable de désert incassable | ||||
| Unbreakable Gravel = Gravier incassable | ||||
| Unbreakable Dirt = Terre incassable | ||||
| Unbreakable Dirt with Grass = Herbe incassable | ||||
| Unbreakable Full Grass= Bloc d'herbe incassable | ||||
| Unbreakable Brick = Briques incassables | ||||
| Unbreakable Wooden Planks = Planches de bois incassables | ||||
| Unbreakable Tree = Tronc d'arbre incassable | ||||
| Unbreakable Glass = Verre incassable | ||||
| Unbreakable Sandstone = Grès incassable | ||||
| Unbreakable Leaves = Feuillage incassable | ||||
| Unbreakable Cobblestone = Pierre taillée incassable | ||||
| Unbreakable Mossy Cobblestone = Pierre taillée mousseusse incassable | ||||
							
								
								
									
										
											BIN
										
									
								
								textures/fire_basic_flame.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 847 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/fire_basic_flame_animated.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 2.2 KiB | 
							
								
								
									
										
											BIN
										
									
								
								textures/invisible.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 151 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/maptools_adminpick.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 337 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/maptools_copper_coin.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 506 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/maptools_gold_coin.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 483 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/maptools_infinitefuel.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 516 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/maptools_silver_coin.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 504 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/maptools_smoke.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 427 B | 
							
								
								
									
										
											BIN
										
									
								
								textures/maptools_superapple.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						| After Width: | Height: | Size: 197 B |