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 |