Reverted moreblocks and maptools updates
@ -1,9 +1,8 @@
|
||||
zlib license
|
||||
============
|
||||
+---- zlib/libpng license ----+
|
||||
|
||||
Copyright (c) 2012-2015 Calinou and contributors
|
||||
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.**
|
||||
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,45 +0,0 @@
|
||||
Item names for spawning the items using /give or /giveme
|
||||
========================================================
|
||||
|
||||
Items
|
||||
-----
|
||||
|
||||
* `admin_pick:` magenta pickaxe, infinite durability, mines everything including unbreakable blocks instantly. No drops. Don't put this pickaxe in the hands of a griefer, of course.
|
||||
|
||||
* `admin_pick_with_drops:` same as admin pickaxe, but drops stuff.
|
||||
|
||||
* `infinite_fuel:` fuel lasting for a (near)-infinite time. Don't worry about the "near" * it lasts for about 50 in-real-life years.
|
||||
|
||||
* `super_apple:` a yellow apple which heals 20 HP.
|
||||
|
||||
* `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
|
||||
------
|
||||
|
||||
**[!]** denotes an unpointable, unbreakable block; be very careful with them, they cannot be removed by hand (they can only be removed with WorldEdit or similar).
|
||||
|
||||
|
||||
* `(block)_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). Examples: `stone_u`, `wood_u`, `glass_u`, …
|
||||
|
||||
* `full_grass:` unbreakable block with the grass texture on all sides.
|
||||
|
||||
* `player_clip:` **[!]** invisible block, not pointable.
|
||||
|
||||
* `full_clip:` invisible block, pointable. Also available as a thin face: full_clip_face.
|
||||
|
||||
* `smoke_block:` some smoke (does not harm players or entities).
|
||||
|
||||
* `no_build:` **[!]** very basic building prevention.
|
||||
|
||||
* `no_interact:` prevents interacting through the block (opening chests, furnaces, attacking entities, …).
|
||||
|
||||
* `damage_(1…5):` **[!]** damaging blocks. The damage is in half hearts and ranges from 1 to 5 (0.5 to 2.5 hearts damage every second).
|
||||
|
||||
* `kill:` **[!]** instant kill (deals 10 heart damage) blocks.
|
||||
|
||||
* `light_block:` **[!]** invisible non-solid block, prevents light from passing through.
|
||||
|
||||
* `light_bulb:` **[!]** invisible non-solid block, emitting a good amount of light.
|
@ -1,11 +0,0 @@
|
||||
Map Tools
|
||||
=========
|
||||
|
||||
Map Tools for Minetest <http://minetest.net>, a free/libre infinite
|
||||
world block sandbox game.
|
||||
|
||||
To install, just clone this repository into your "mods" directory.
|
||||
|
||||
Map Tools code is licensed under the zlib license, textures are by Calinou and are licensed under CC BY-SA 3.0 Unported.
|
||||
|
||||
**Forum topic:** <https://forum.minetest.net/viewtopic.php?f=11&t=1882>
|
22
mods/maptools/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
mods/maptools/_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.
|
@ -1,9 +1,4 @@
|
||||
--[[
|
||||
Map Tools: alias definitions
|
||||
|
||||
Copyright (c) 2012-2015 Calinou and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
--]]
|
||||
-- Aliases
|
||||
|
||||
minetest.register_alias("adminpick", "maptools:pick_admin")
|
||||
minetest.register_alias("adminpickaxe", "maptools:pick_admin")
|
||||
@ -74,6 +69,8 @@ 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")
|
||||
|
@ -1,29 +0,0 @@
|
||||
--[[
|
||||
Map Tools: configuration handling
|
||||
|
||||
Copyright (c) 2012-2015 Calinou and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
--]]
|
||||
|
||||
maptools.config = {}
|
||||
|
||||
local function getbool_default(setting, default)
|
||||
local value = minetest.setting_getbool(setting)
|
||||
if value == nil then
|
||||
value = default
|
||||
end
|
||||
return value
|
||||
end
|
||||
|
||||
local function setting(settingtype, name, default)
|
||||
if settingtype == "bool" then
|
||||
maptools.config[name] =
|
||||
getbool_default("maptools." .. name, default)
|
||||
else
|
||||
maptools.config[name] =
|
||||
minetest.setting_get("maptools." .. name) or default
|
||||
end
|
||||
end
|
||||
|
||||
-- Show Map Tools stuff in creative inventory (1 or 0):
|
||||
setting("integer", "hide_from_creative_inventory", 1)
|
@ -1,47 +0,0 @@
|
||||
--[[
|
||||
Map Tools: item definitions
|
||||
|
||||
Copyright (c) 2012-2015 Calinou and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
--]]
|
||||
|
||||
local S = maptools.intllib
|
||||
|
||||
maptools.creative = maptools.config["hide_from_creative_inventory"]
|
||||
|
||||
minetest.register_craftitem("maptools:copper_coin", {
|
||||
description = S("Copper Coin"),
|
||||
inventory_image = "maptools_copper_coin.png",
|
||||
wield_scale = {x = 0.5, y = 0.5, z = 0.25},
|
||||
stack_max = 10000,
|
||||
groups = {not_in_creative_inventory = maptools.creative},
|
||||
})
|
||||
|
||||
minetest.register_craftitem("maptools:silver_coin", {
|
||||
description = S("Silver Coin"),
|
||||
inventory_image = "maptools_silver_coin.png",
|
||||
wield_scale = {x = 0.5, y = 0.5, z = 0.25},
|
||||
stack_max = 10000,
|
||||
groups = {not_in_creative_inventory = maptools.creative},
|
||||
})
|
||||
|
||||
minetest.register_craftitem("maptools:gold_coin", {
|
||||
description = S("Gold Coin"),
|
||||
inventory_image = "maptools_gold_coin.png",
|
||||
wield_scale = {x = 0.5, y = 0.5, z = 0.25},
|
||||
stack_max = 10000,
|
||||
groups = {not_in_creative_inventory = maptools.creative},
|
||||
})
|
||||
|
||||
minetest.register_craftitem("maptools:infinitefuel", {
|
||||
description = S("Infinite Fuel"),
|
||||
inventory_image = "maptools_infinitefuel.png",
|
||||
stack_max = 10000,
|
||||
groups = {not_in_creative_inventory = maptools.creative},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "maptools:infinitefuel",
|
||||
burntime = 1000000000,
|
||||
})
|
@ -1,13 +1,10 @@
|
||||
--[[
|
||||
Map Tools: unbreakable default nodes
|
||||
|
||||
Copyright (c) 2012-2015 Calinou and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
--]]
|
||||
|
||||
local S = maptools.intllib
|
||||
|
||||
maptools.creative = maptools.config["hide_from_creative_inventory"]
|
||||
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
|
||||
|
||||
minetest.register_node("maptools:stone", {
|
||||
description = S("Unbreakable Stone"),
|
||||
@ -15,7 +12,7 @@ minetest.register_node("maptools:stone", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_stone.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
@ -25,7 +22,7 @@ minetest.register_node("maptools:stonebrick", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_stone_brick.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
@ -35,7 +32,7 @@ minetest.register_node("maptools:tree", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_tree_top.png", "default_tree_top.png", "default_tree.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_place = minetest.rotate_node
|
||||
})
|
||||
@ -46,7 +43,7 @@ minetest.register_node("maptools:jungletree", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_jungletree_top.png", "default_jungletree_top.png", "default_jungletree.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_place = minetest.rotate_node
|
||||
})
|
||||
@ -57,7 +54,7 @@ minetest.register_node("maptools:cactus", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_cactus_top.png", "default_cactus_top.png", "default_cactus_side.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
on_place = minetest.rotate_node
|
||||
})
|
||||
@ -78,7 +75,7 @@ minetest.register_node("maptools:papyrus", {
|
||||
type = "fixed",
|
||||
fixed = {-0.375, -0.5, -0.375, 0.375, 0.5, 0.375}
|
||||
},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
||||
|
||||
@ -88,7 +85,7 @@ minetest.register_node("maptools:dirt", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_dirt.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
|
||||
@ -98,7 +95,7 @@ minetest.register_node("maptools:wood", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_wood.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
@ -108,7 +105,7 @@ minetest.register_node("maptools:junglewood", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_junglewood.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
@ -121,7 +118,7 @@ minetest.register_node("maptools:glass", {
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_glass_defaults(),
|
||||
})
|
||||
|
||||
@ -133,7 +130,7 @@ minetest.register_node("maptools:leaves", {
|
||||
tiles = {"default_leaves.png"},
|
||||
paramtype = "light",
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
})
|
||||
|
||||
@ -143,7 +140,7 @@ minetest.register_node("maptools:sand", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_sand.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
||||
@ -153,7 +150,7 @@ minetest.register_node("maptools:gravel", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_gravel.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_dirt_defaults({
|
||||
footstep = {name="default_gravel_footstep", gain=0.35},
|
||||
dug = {name="default_gravel_footstep", gain=0.6},
|
||||
@ -166,7 +163,7 @@ minetest.register_node("maptools:clay", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_clay.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
|
||||
@ -176,7 +173,7 @@ minetest.register_node("maptools:desert_sand", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_desert_sand.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
||||
@ -186,7 +183,7 @@ minetest.register_node("maptools:sandstone", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_sandstone.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
@ -196,7 +193,7 @@ minetest.register_node("maptools:sandstone_brick", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_sandstone_brick.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
@ -206,7 +203,7 @@ minetest.register_node("maptools:desert_stone", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_desert_stone.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
@ -216,7 +213,7 @@ minetest.register_node("maptools:desert_cobble", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_desert_cobble.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
@ -226,7 +223,7 @@ minetest.register_node("maptools:desert_stonebrick", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_desert_stone_brick.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
@ -237,7 +234,7 @@ minetest.register_node("maptools:grass", {
|
||||
tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"},
|
||||
paramtype2 = "facedir",
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_dirt_defaults({
|
||||
footstep = {name="default_grass_footstep", gain = 0.4},
|
||||
}),
|
||||
@ -249,7 +246,7 @@ minetest.register_node("maptools:fullgrass", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_grass.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_dirt_defaults({
|
||||
footstep = {name="default_grass_footstep", gain=0.4},
|
||||
}),
|
||||
@ -270,7 +267,7 @@ for slab_num = 1,3,1 do
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain = 0.4}}),
|
||||
})
|
||||
end
|
||||
@ -281,7 +278,7 @@ minetest.register_node("maptools:cobble", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_cobble.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
@ -291,7 +288,7 @@ minetest.register_node("maptools:mossycobble", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_mossycobble.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
@ -301,7 +298,7 @@ minetest.register_node("maptools:brick", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_brick.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
@ -311,7 +308,7 @@ minetest.register_node("maptools:coalblock", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_coal_block.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
@ -322,7 +319,7 @@ minetest.register_node("maptools:steelblock", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_steel_block.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
@ -332,7 +329,7 @@ minetest.register_node("maptools:goldblock", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_gold_block.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
@ -342,7 +339,7 @@ minetest.register_node("maptools:copperblock", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_copper_block.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
@ -352,7 +349,7 @@ minetest.register_node("maptools:bronzeblock", {
|
||||
stack_max = 10000,
|
||||
tiles = {"default_bronze_block.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
@ -360,9 +357,9 @@ minetest.register_node("maptools:diamondblock", {
|
||||
description = S("Unbreakable Diamond Block"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
tiles = {"default_steel_block.png"},
|
||||
tiles = {"default_diamond_block.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
@ -374,7 +371,7 @@ minetest.register_node("maptools:soil_wet", {
|
||||
stack_max = 10000,
|
||||
tiles = {"farming_soil_wet.png", "farming_soil_wet_side.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, soil = 3, wet = 1, grassland = 1},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative, soil = 3, wet = 1, grassland = 1},
|
||||
sounds = default.node_sound_dirt_defaults(),
|
||||
})
|
||||
|
||||
@ -384,6 +381,6 @@ minetest.register_node("maptools:desert_sand_soil_wet", {
|
||||
stack_max = 10000,
|
||||
drop = "",
|
||||
tiles = {"farming_desert_sand_soil_wet.png", "farming_desert_sand_soil_wet_side.png"},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, soil = 3, wet = 1, desert = 1},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools_creative, soil = 3, wet = 1, desert = 1},
|
||||
sounds = default.node_sound_sand_defaults(),
|
||||
})
|
||||
|
@ -1,32 +1,551 @@
|
||||
--[[
|
||||
=====================================================================
|
||||
** Map Tools **
|
||||
By Calinou.
|
||||
MAPTOOLS_CREATIVE = 1 -- Set this to 0 if you want Map Tools nodes and items to appear in the creative inventory.
|
||||
|
||||
Copyright (c) 2012-2015 Calinou and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
=====================================================================
|
||||
--]]
|
||||
|
||||
maptools = {}
|
||||
-- Load translation library if intllib is installed
|
||||
|
||||
local S
|
||||
if minetest.get_modpath("intllib") then
|
||||
S = intllib.Getter()
|
||||
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
|
||||
maptools.intllib = S
|
||||
|
||||
local modpath = minetest.get_modpath("maptools")
|
||||
dofile(minetest.get_modpath("maptools").."/aliases.lua")
|
||||
dofile(minetest.get_modpath("maptools").."/default_nodes.lua")
|
||||
|
||||
dofile(modpath .. "/config.lua")
|
||||
dofile(modpath .. "/aliases.lua")
|
||||
dofile(modpath .. "/craftitems.lua")
|
||||
dofile(modpath .. "/default_nodes.lua")
|
||||
dofile(modpath .. "/nodes.lua")
|
||||
dofile(modpath .. "/tools.lua")
|
||||
--[[
|
||||
Map Tools by Calinou
|
||||
Licensed under the zlib license for code and CC BY-SA 3.0 for textures, see LICENSE.txt for info.
|
||||
--]]
|
||||
|
||||
-- Redefine cloud so that the admin pickaxe can mine it.
|
||||
|
||||
minetest.register_node(":default:cloud", {
|
||||
description = S("Cloud"),
|
||||
tiles = {"default_cloud.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
sounds = default.node_sound_defaults(),
|
||||
})
|
||||
|
||||
-- Items
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "maptools:infinitefuel",
|
||||
burntime = 1000000000,
|
||||
})
|
||||
|
||||
-- Nodes
|
||||
|
||||
minetest.register_node("maptools:black", {
|
||||
description = S("Black"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
tiles = {"black.png"},
|
||||
drop = "",
|
||||
post_effect_color = {a=255, r=0, g=0, b=0},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:white", {
|
||||
description = S("White"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
tiles = {"white.png"},
|
||||
drop = "",
|
||||
post_effect_color = {a=255, r=128, g=128, b=128},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:playerclip", {
|
||||
description = S("Player Clip"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^dye_green.png",
|
||||
drawtype = "airlike",
|
||||
paramtype = "light",
|
||||
pointable = false,
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:fake_walkable", {
|
||||
description = S("Player Clip"),
|
||||
drawtype = "nodebox",
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^dye_green.png",
|
||||
drawtype = "airlike",
|
||||
paramtype = "light",
|
||||
pointable = false,
|
||||
sunlight_propagates = true,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
},
|
||||
},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:fullclip", {
|
||||
description = S("Full Clip"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^dye_blue.png",
|
||||
drawtype = "airlike",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:fake_walkable_pointable", {
|
||||
description = S("Player Clip"),
|
||||
drawtype = "nodebox",
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^dye_green.png",
|
||||
drawtype = "airlike",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
},
|
||||
},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:ignore_like", {
|
||||
description = S("Ignore-like"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^dye_pink.png",
|
||||
tiles = {"invisible.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:ignore_like_no_clip", {
|
||||
description = S("Ignore-like (no clip)"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^dye_purple.png",
|
||||
tiles = {"invisible.png"},
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
})
|
||||
|
||||
|
||||
minetest.register_node("maptools:ignore_like_no_point", {
|
||||
description = S("Ignore-like (no point)"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^dye_purple.png",
|
||||
tiles = {"invisible.png"},
|
||||
paramtype = "light",
|
||||
pointable = false,
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:ignore_like_no_clip_no_point", {
|
||||
description = S("Ignore-like (no clip, no point)"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^dye_pink.png",
|
||||
tiles = {"invisible.png"},
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:fullclip_face", {
|
||||
description = S("Full Clip Face"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^dye_white.png",
|
||||
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},
|
||||
},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, fall_damage_add_percent=-100},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:playerclip_bottom", {
|
||||
description = S("Player Clip Bottom Face"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^dye_orange.png",
|
||||
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},
|
||||
},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, fall_damage_add_percent=-100},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:playerclip_top", {
|
||||
description = S("Player Clip Top Face"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^dye_yellow.png",
|
||||
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},
|
||||
},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, 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),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^default_apple.png",
|
||||
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},
|
||||
},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE, fall_damage_add_percent=-100, bouncy=pusher_num*100},
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_node("maptools:lightbulb", {
|
||||
description = S("Light Bulb"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^default_mese_crystal_fragment.png",
|
||||
drawtype = "airlike",
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
light_source = 15,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:nobuild", {
|
||||
description = S("Build Prevention"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^bones_bones.png",
|
||||
drawtype = "airlike",
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:nointeract", {
|
||||
description = S("Interact Prevention"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^default_scorched_stuff.png",
|
||||
drawtype = "airlike",
|
||||
walkable = false,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:climb", {
|
||||
description = S("Climb Block"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^default_ladder.png",
|
||||
drawtype = "airlike",
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
pointable = false,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
})
|
||||
|
||||
for damage_num=1,5,1 do
|
||||
minetest.register_node("maptools:damage_" .. damage_num, {
|
||||
description = S("Damaging Block (%s)"):format(damage_num),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^farming_cotton_" .. damage_num .. ".png",
|
||||
drawtype = "airlike",
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
damage_per_second = damage_num,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_node("maptools:kill", {
|
||||
description = S("Kill Block"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^dye_black.png",
|
||||
drawtype = "airlike",
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
damage_per_second = 20,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:smoke", {
|
||||
description = S("Smoke Block"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
tiles = {"maptools_smoke.png"},
|
||||
drawtype = "allfaces_optional",
|
||||
walkable = false,
|
||||
paramtype = "light",
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
post_effect_color = {a=192, r=96, g=96, b=96},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:ladder", {
|
||||
description = S("Fake Ladder"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
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",
|
||||
},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:permanent_fire", {
|
||||
description = S("Permanent Fire"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
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,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
damage_per_second = 4,
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:fake_fire", {
|
||||
description = S("Fake Fire"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
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,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:igniter", {
|
||||
drawtype = "airlike",
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^crosshair.png",
|
||||
description = S("Igniter"),
|
||||
paramtype = "light",
|
||||
inventory_image = "fire_basic_flame.png",
|
||||
drop = "",
|
||||
groups = {igniter=2, unbreakable = 1, not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
sunlight_propagates = true,
|
||||
pointable = false,
|
||||
walkable = false,
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:superapple", {
|
||||
description = S("Super Apple"),
|
||||
range = 12,
|
||||
stack_max = 99,
|
||||
drawtype = "nodebox",
|
||||
visual_scale = 1.0,
|
||||
tiles = {"maptools_super_apple_top.png","maptools_super_apple_bottom.png","maptools_super_apple_side.png"},
|
||||
inventory_image = "maptools_superapple.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-3/16, -7/16, -3/16, 3/16, 1/16, 3/16},
|
||||
{-4/16, -6/16, -3/16, 4/16, 0, 3/16},
|
||||
{-3/16, -6/16, -4/16, 3/16, 0, 4/16},
|
||||
{-1/32, 1/16, -1/32, 1/32, 4/16, 1/32},
|
||||
{-1/16, 1.6/16, 0, 1/16, 1.8/16, 1/16},
|
||||
{-2/16, 1.4/16, 1/16, 1/16, 1.6/16, 2/16},
|
||||
{-2/16, 1.2/16, 2/16, 0, 1.4/16, 3/16},
|
||||
{-1.5/16, 1/16, .5/16, 0.5/16, 1.2/16, 2.5/16},
|
||||
}
|
||||
},
|
||||
is_ground_content = true,
|
||||
groups = {fleshy = 3, dig_immediate = 3, not_in_creative_inventory = 0, flammable = 2, leafdecay = 3, leafdecay_drop = 1},
|
||||
on_use = minetest.item_eat(20),
|
||||
sounds = default.node_sound_leaves_defaults(),
|
||||
after_place_node = function(pos, placer, itemstack)
|
||||
if placer:is_player() then
|
||||
minetest.set_node(pos, {name = "maptools:superapple", param2= 1})
|
||||
end
|
||||
end,
|
||||
})
|
||||
|
||||
-- Items
|
||||
|
||||
minetest.register_craftitem("maptools:copper_coin", {
|
||||
description = S("Copper Coin"),
|
||||
inventory_image = "maptools_copper_coin.png",
|
||||
wield_scale = {x = 0.5, y = 0.5, z = 0.25},
|
||||
stack_max = 10000,
|
||||
groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
})
|
||||
|
||||
minetest.register_craftitem("maptools:silver_coin", {
|
||||
description = S("Silver Coin"),
|
||||
inventory_image = "maptools_silver_coin.png",
|
||||
wield_scale = {x = 0.5, y = 0.5, z = 0.25},
|
||||
stack_max = 10000,
|
||||
groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
})
|
||||
|
||||
minetest.register_craftitem("maptools:gold_coin", {
|
||||
description = S("Gold Coin"),
|
||||
inventory_image = "maptools_gold_coin.png",
|
||||
wield_scale = {x = 0.5, y = 0.5, z = 0.25},
|
||||
stack_max = 10000,
|
||||
groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
})
|
||||
|
||||
minetest.register_craftitem("maptools:infinitefuel", {
|
||||
description = S("Infinite Fuel"),
|
||||
inventory_image = "maptools_infinitefuel.png",
|
||||
stack_max = 10000,
|
||||
groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
})
|
||||
|
||||
-- Tools
|
||||
|
||||
minetest.register_tool("maptools:pick_admin", {
|
||||
description = S("Admin Pickaxe"),
|
||||
range = 12,
|
||||
inventory_image = "maptools_adminpick.png",
|
||||
groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 0.1,
|
||||
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},
|
||||
},
|
||||
damage_groups = {fleshy = 1000},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_tool("maptools:pick_admin_with_drops", {
|
||||
description = S("Admin Pickaxe with Drops"),
|
||||
range = 12,
|
||||
inventory_image = "maptools_adminpick_with_drops.png",
|
||||
groups = {not_in_creative_inventory = MAPTOOLS_CREATIVE},
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 0.35,
|
||||
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},
|
||||
},
|
||||
damage_groups = {fleshy = 1000},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_on_punchnode(function(pos, node, puncher)
|
||||
if puncher:get_wielded_item():get_name() == "maptools:pick_admin"
|
||||
and minetest.get_node(pos).name ~= "air" then
|
||||
minetest.log("action", puncher:get_player_name() .. " digs " .. minetest.get_node(pos).name .. " at " .. minetest.pos_to_string(pos) .. " using an Admin Pickaxe.")
|
||||
minetest.remove_node(pos) -- The node is removed directly, which means it even works on non-empty containers and group-less nodes.
|
||||
nodeupdate(pos) -- Run node update actions like falling nodes.
|
||||
end
|
||||
end)
|
||||
|
||||
if minetest.setting_getbool("log_mods") then
|
||||
minetest.log("action", S("[maptools] loaded."))
|
||||
minetest.log("action", "Carbone: [maptools] loaded.")
|
||||
end
|
||||
|
@ -1,429 +0,0 @@
|
||||
--[[
|
||||
Map Tools: node definitions
|
||||
|
||||
Copyright (c) 2012-2015 Calinou and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
--]]
|
||||
|
||||
local S = maptools.intllib
|
||||
|
||||
maptools.creative = maptools.config["hide_from_creative_inventory"]
|
||||
|
||||
-- Redefine cloud so that the admin pickaxe can mine it:
|
||||
minetest.register_node(":default:cloud", {
|
||||
description = S("Cloud"),
|
||||
tiles = {"default_cloud.png"},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_defaults(),
|
||||
})
|
||||
|
||||
-- Nodes
|
||||
-- =====
|
||||
|
||||
minetest.register_node("maptools:black", {
|
||||
description = S("Black"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
tiles = {"black.png"},
|
||||
drop = "",
|
||||
post_effect_color = {a=255, r=0, g=0, b=0},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:white", {
|
||||
description = S("White"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
tiles = {"white.png"},
|
||||
drop = "",
|
||||
post_effect_color = {a=255, r=128, g=128, b=128},
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:playerclip", {
|
||||
description = S("Player Clip"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^dye_green.png",
|
||||
drawtype = "airlike",
|
||||
paramtype = "light",
|
||||
pointable = false,
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:fake_walkable", {
|
||||
description = S("Player Clip"),
|
||||
drawtype = "nodebox",
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^dye_green.png",
|
||||
drawtype = "airlike",
|
||||
paramtype = "light",
|
||||
pointable = false,
|
||||
sunlight_propagates = true,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
},
|
||||
},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:fullclip", {
|
||||
description = S("Full Clip"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^dye_blue.png",
|
||||
drawtype = "airlike",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:fake_walkable_pointable", {
|
||||
description = S("Player Clip"),
|
||||
drawtype = "nodebox",
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^dye_green.png",
|
||||
drawtype = "airlike",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
node_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
},
|
||||
},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:ignore_like", {
|
||||
description = S("Ignore-like"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^dye_pink.png",
|
||||
tiles = {"invisible.png"},
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:ignore_like_no_clip", {
|
||||
description = S("Ignore-like (no clip)"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^dye_purple.png",
|
||||
tiles = {"invisible.png"},
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
})
|
||||
|
||||
|
||||
minetest.register_node("maptools:ignore_like_no_point", {
|
||||
description = S("Ignore-like (no point)"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^dye_purple.png",
|
||||
tiles = {"invisible.png"},
|
||||
paramtype = "light",
|
||||
pointable = false,
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:ignore_like_no_clip_no_point", {
|
||||
description = S("Ignore-like (no clip, no point)"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^dye_pink.png",
|
||||
tiles = {"invisible.png"},
|
||||
paramtype = "light",
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:fullclip_face", {
|
||||
description = S("Full Clip Face"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^dye_white.png",
|
||||
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},
|
||||
},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:playerclip_bottom", {
|
||||
description = S("Player Clip Bottom Face"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^dye_orange.png",
|
||||
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},
|
||||
},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:playerclip_top", {
|
||||
description = S("Player Clip Top Face"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^dye_yellow.png",
|
||||
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},
|
||||
},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, 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),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^default_apple.png",
|
||||
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},
|
||||
},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative, fall_damage_add_percent=-100, bouncy=pusher_num*100},
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_node("maptools:lightbulb", {
|
||||
description = S("Light Bulb"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^default_mese_crystal_fragment.png",
|
||||
drawtype = "airlike",
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
light_source = 15,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:nobuild", {
|
||||
description = S("Build Prevention"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^bones_bones.png",
|
||||
drawtype = "airlike",
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:nointeract", {
|
||||
description = S("Interact Prevention"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^default_scorched_stuff.png",
|
||||
drawtype = "airlike",
|
||||
walkable = false,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:climb", {
|
||||
description = S("Climb Block"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^default_ladder.png",
|
||||
drawtype = "airlike",
|
||||
walkable = false,
|
||||
climbable = true,
|
||||
pointable = false,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
})
|
||||
|
||||
for damage_num=1,5,1 do
|
||||
minetest.register_node("maptools:damage_" .. damage_num, {
|
||||
description = S("Damaging Block (%s)"):format(damage_num),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^farming_cotton_" .. damage_num .. ".png",
|
||||
drawtype = "airlike",
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
damage_per_second = damage_num,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
})
|
||||
end
|
||||
|
||||
minetest.register_node("maptools:kill", {
|
||||
description = S("Kill Block"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^dye_black.png",
|
||||
drawtype = "airlike",
|
||||
walkable = false,
|
||||
pointable = false,
|
||||
damage_per_second = 20,
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:smoke", {
|
||||
description = S("Smoke Block"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
tiles = {"maptools_smoke.png"},
|
||||
drawtype = "allfaces_optional",
|
||||
walkable = false,
|
||||
paramtype = "light",
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
post_effect_color = {a=192, r=96, g=96, b=96},
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:ladder", {
|
||||
description = S("Fake Ladder"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
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",
|
||||
},
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sounds = default.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:permanent_fire", {
|
||||
description = S("Permanent Fire"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
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,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
damage_per_second = 4,
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:fake_fire", {
|
||||
description = S("Fake Fire"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
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,
|
||||
drop = "",
|
||||
groups = {unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sunlight_propagates = true,
|
||||
walkable = false,
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:igniter", {
|
||||
drawtype = "airlike",
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
inventory_image = "default_steel_block.png^crosshair.png",
|
||||
description = S("Igniter"),
|
||||
paramtype = "light",
|
||||
inventory_image = "fire_basic_flame.png",
|
||||
drop = "",
|
||||
groups = {igniter=2, unbreakable = 1, not_in_creative_inventory = maptools.creative},
|
||||
sunlight_propagates = true,
|
||||
pointable = false,
|
||||
walkable = false,
|
||||
})
|
||||
|
||||
minetest.register_node("maptools:superapple", {
|
||||
description = S("Super Apple"),
|
||||
range = 12,
|
||||
stack_max = 10000,
|
||||
drawtype = "plantlike",
|
||||
visual_scale = 1.0,
|
||||
tiles = {"maptools_superapple.png"},
|
||||
inventory_image = "maptools_superapple.png",
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2}
|
||||
},
|
||||
walkable = false,
|
||||
groups = {fleshy=3, dig_immediate=3, not_in_creative_inventory = maptools.creative},
|
||||
on_use = minetest.item_eat(20),
|
||||
sounds = default.node_sound_defaults(),
|
||||
})
|
BIN
mods/maptools/textures/maptools_super_apple_bottom.png
Normal file
After Width: | Height: | Size: 295 B |
BIN
mods/maptools/textures/maptools_super_apple_side.png
Normal file
After Width: | Height: | Size: 295 B |
BIN
mods/maptools/textures/maptools_super_apple_top.png
Normal file
After Width: | Height: | Size: 498 B |
@ -1,61 +0,0 @@
|
||||
--[[
|
||||
Map Tools: tool definitions
|
||||
|
||||
Copyright (c) 2012-2015 Calinou and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
--]]
|
||||
|
||||
local S = maptools.intllib
|
||||
|
||||
maptools.creative = maptools.config["hide_from_creative_inventory"]
|
||||
|
||||
minetest.register_tool("maptools:pick_admin", {
|
||||
description = S("Admin Pickaxe"),
|
||||
range = 12,
|
||||
inventory_image = "maptools_adminpick.png",
|
||||
groups = {not_in_creative_inventory = maptools.creative},
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 0.1,
|
||||
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},
|
||||
},
|
||||
damage_groups = {fleshy = 1000},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_tool("maptools:pick_admin_with_drops", {
|
||||
description = S("Admin Pickaxe with Drops"),
|
||||
range = 12,
|
||||
inventory_image = "maptools_adminpick_with_drops.png",
|
||||
groups = {not_in_creative_inventory = maptools.creative},
|
||||
tool_capabilities = {
|
||||
full_punch_interval = 0.35,
|
||||
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},
|
||||
},
|
||||
damage_groups = {fleshy = 1000},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_on_punchnode(function(pos, node, puncher)
|
||||
if puncher:get_wielded_item():get_name() == "maptools:pick_admin"
|
||||
and minetest.get_node(pos).name ~= "air" then
|
||||
minetest.log("action", puncher:get_player_name() .. " digs " .. minetest.get_node(pos).name .. " at " .. minetest.pos_to_string(pos) .. " using an Admin Pickaxe.")
|
||||
minetest.remove_node(pos) -- The node is removed directly, which means it even works on non-empty containers and group-less nodes.
|
||||
nodeupdate(pos) -- Run node update actions like falling nodes.
|
||||
end
|
||||
end)
|
7
mods/moreblocks/LICENSE.md → mods/moreblocks/LICENSE.txt
Normal file → Executable file
@ -1,9 +1,8 @@
|
||||
zlib license
|
||||
============
|
||||
+---- zlib/libpng license ----+
|
||||
|
||||
Copyright (c) 2011-2015 Calinou and contributors
|
||||
Copyright (c) 2013-2014 Calinou and contributors
|
||||
|
||||
**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.**
|
||||
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,11 +0,0 @@
|
||||
More Blocks
|
||||
===========
|
||||
|
||||
More Blocks for Minetest <http://minetest.net>, a free/libre infinite
|
||||
world block sandbox game.
|
||||
|
||||
To install, just clone this repository into your "mods" directory.
|
||||
|
||||
More Blocks code is licensed under the zlib license, textures are by Calinou and are licensed under CC BY-SA 3.0 Unported.
|
||||
|
||||
**Forum topic:** <https://forum.minetest.net/viewtopic.php?f=11&t=509>
|
12
mods/moreblocks/README.txt
Executable file
@ -0,0 +1,12 @@
|
||||
More Blocks
|
||||
==========
|
||||
|
||||
More Blocks for Minetest (http://minetest.net), a free and open source infinite
|
||||
world block sandbox game.
|
||||
|
||||
To install, just clone this repository into your "mods" directory.
|
||||
|
||||
More Blocks code is under the zlib license, textures are under CC BY-SA 3.0 unported.
|
||||
|
||||
Forum topic: http://forum.minetest.net/viewtopic.php?id=509
|
||||
|
17
mods/moreblocks/aliases.lua
Normal file → Executable file
@ -1,20 +1,16 @@
|
||||
--[[
|
||||
More Blocks: alias definitions
|
||||
-- More Blocks aliases
|
||||
|
||||
Copyright (c) 2011-2015 Calinou and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
--]]
|
||||
|
||||
-- More Blocks aliases:
|
||||
minetest.register_alias("sweeper", "moreblocks:sweeper")
|
||||
minetest.register_alias("circular_saw", "moreblocks:circular_saw")
|
||||
minetest.register_alias("jungle_stick", "moreblocks:jungle_stick")
|
||||
|
||||
-- Old block/item replacement:
|
||||
-- Old block/item replacement
|
||||
|
||||
minetest.register_alias("moreblocks:oerkkiblock", "default:mossycobble")
|
||||
minetest.register_alias("moreblocks:screwdriver", "screwdriver:screwdriver")
|
||||
|
||||
-- Node and item renaming:
|
||||
-- Node and item renaming
|
||||
|
||||
minetest.register_alias("moreblocks:stone_bricks", "default:stonebrick")
|
||||
minetest.register_alias("moreblocks:stonebrick", "default:stonebrick")
|
||||
minetest.register_alias("moreblocks:junglewood", "default:junglewood")
|
||||
@ -55,7 +51,8 @@ minetest.register_alias("moreblocks:junglestick", "moreblocks:jungle_stick")
|
||||
minetest.register_alias("moreblocks:splitstonesquare","moreblocks:split_stone_tile")
|
||||
minetest.register_alias("moreblocks:allfacestree","moreblocks:all_faces_tree")
|
||||
|
||||
-- ABM for horizontal trees (fix facedir):
|
||||
-- ABM for horizontal trees (fix facedir).
|
||||
|
||||
local horizontal_tree_convert_facedir = {7, 12, 9, 18}
|
||||
|
||||
minetest.register_abm({
|
||||
|
10
mods/moreblocks/circular_saw.lua
Normal file → Executable file
@ -1,12 +1,4 @@
|
||||
--[[
|
||||
More Blocks: circular saw
|
||||
|
||||
Copyright (c) 2011-2015 Calinou and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
--]]
|
||||
|
||||
local S = moreblocks.intllib
|
||||
|
||||
local S = moreblocks.gettext
|
||||
circular_saw = {}
|
||||
|
||||
circular_saw.known_stairs = setmetatable({}, {
|
||||
|
7
mods/moreblocks/config.lua
Normal file → Executable file
@ -1,10 +1,3 @@
|
||||
--[[
|
||||
More Blocks: configuration handling
|
||||
|
||||
Copyright (c) 2011-2015 Calinou and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
--]]
|
||||
|
||||
moreblocks.config = {}
|
||||
|
||||
local function getbool_default(setting, default)
|
||||
|
7
mods/moreblocks/crafting.lua
Normal file → Executable file
@ -1,9 +1,4 @@
|
||||
--[[
|
||||
More Blocks: crafting recipes
|
||||
|
||||
Copyright (c) 2011-2015 Calinou and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
--]]
|
||||
-- Crafting
|
||||
|
||||
minetest.register_craft({
|
||||
output = "default:stick",
|
||||
|
0
mods/moreblocks/depends.txt
Normal file → Executable file
23
mods/moreblocks/init.lua
Normal file → Executable file
@ -1,22 +1,20 @@
|
||||
--[[
|
||||
=====================================================================
|
||||
** More Blocks **
|
||||
By Calinou, with the help of ShadowNinja and VanessaE.
|
||||
|
||||
Copyright (c) 2011-2015 Calinou and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
=====================================================================
|
||||
-- More Blocks (moreblocks) by Calinou
|
||||
-- Licensed under the zlib/ license for code and CC BY-SA 3.0 for textures, see LICENSE.txt for info.
|
||||
--]]
|
||||
|
||||
moreblocks = {}
|
||||
|
||||
local S
|
||||
if minetest.get_modpath("intllib") then
|
||||
S = intllib.Getter()
|
||||
-- Load translation library if intllib is installed
|
||||
|
||||
local S -- Load translation library if intllib is installed:
|
||||
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
|
||||
moreblocks.intllib = S
|
||||
moreblocks.gettext = S
|
||||
|
||||
local modpath = minetest.get_modpath("moreblocks")
|
||||
|
||||
@ -29,5 +27,6 @@ dofile(modpath .. "/crafting.lua")
|
||||
dofile(modpath .. "/aliases.lua")
|
||||
|
||||
if minetest.setting_getbool("log_mods") then
|
||||
minetest.log("action", S("[moreblocks] loaded."))
|
||||
print(S("[moreblocks] loaded."))
|
||||
end
|
||||
|
||||
|
0
mods/moreblocks/locale/de.txt
Normal file → Executable file
0
mods/moreblocks/locale/es.txt
Normal file → Executable file
0
mods/moreblocks/locale/fr.txt
Normal file → Executable file
0
mods/moreblocks/locale/template.txt
Normal file → Executable file
@ -1,21 +0,0 @@
|
||||
# Blender v2.69 (sub 0) OBJ File: 'slope_test_slope_onetexture.blend'
|
||||
# www.blender.org
|
||||
mtllib slope_test_slope_onetexture.mtl
|
||||
o Cube_Cube.002
|
||||
v 0.500000 0.500000 0.500000
|
||||
v -0.500000 0.500000 0.500000
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 1.000000 0.000000
|
||||
usemtl None
|
||||
s off
|
||||
f 1/1 2/2 3/3 4/4
|
||||
f 4/3 3/4 5/1 6/2
|
||||
f 2/1 5/3 3/4
|
||||
f 1/2 4/3 6/4
|
||||
f 2/1 1/2 6/3 5/4
|
@ -1,23 +0,0 @@
|
||||
# Blender v2.69 (sub 0) OBJ File: 'slope_test_slope_long_fronthalf_onetexture.blend'
|
||||
# www.blender.org
|
||||
mtllib slope_test_slope_long_fronthalf_onetexture.mtl
|
||||
o Cube_Cube.002
|
||||
v 0.500000 -0.000000 0.500000
|
||||
v -0.500000 -0.000000 0.500000
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
vt 1.000000 0.500000
|
||||
vt 0.000000 0.500000
|
||||
vt 0.000000 0.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
usemtl None
|
||||
s off
|
||||
f 1/1 2/2 3/3 4/4
|
||||
f 4/3 3/4 5/5 6/6
|
||||
f 2/1 5/3 3/4
|
||||
f 1/2 4/3 6/4
|
||||
f 2/5 1/6 6/3 5/4
|
@ -1,26 +0,0 @@
|
||||
# Blender v2.69 (sub 0) OBJ File: 'slope_test_slope_long_backhalf_onetexture.blend'
|
||||
# www.blender.org
|
||||
mtllib slope_test_slope_long_backhalf_onetexture.mtl
|
||||
o Cube
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v -0.500000 0.500000 0.500000
|
||||
v -0.500000 0.000000 -0.500000
|
||||
v 0.500000 0.000000 -0.500000
|
||||
v 0.500000 0.500000 0.500000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 0.500000
|
||||
vt 0.000000 0.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 1.000000 0.500000
|
||||
vt 0.000000 1.000000
|
||||
usemtl None
|
||||
s off
|
||||
f 5/1 6/2 2/3 1/4
|
||||
f 6/5 7/2 3/3 2/4
|
||||
f 7/5 8/6 4/3 3/4
|
||||
f 8/1 5/6 1/3 4/4
|
||||
f 1/4 2/1 3/6 4/3
|
||||
f 8/6 7/3 6/4 5/1
|
@ -1,26 +0,0 @@
|
||||
# Blender v2.69 (sub 0) OBJ File: 'slope_test_icorner_onetexture.blend'
|
||||
# www.blender.org
|
||||
o Cube_Cube.000
|
||||
v 0.500000 0.500000 0.500000
|
||||
v -0.500000 0.500000 0.500000
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
v 0.500000 0.500000 -0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 1.000000 0.000000
|
||||
s off
|
||||
f 6/1 1/2 7/3 8/4
|
||||
f 2/1 5/3 3/4
|
||||
f 2/1 1/2 5/4
|
||||
f 6/2 8/3 9/4
|
||||
f 9/1 8/2 7/3 3/4
|
||||
f 3/3 7/4 1/1 2/2
|
||||
f 1/1 6/2 9/3
|
||||
l 1 4
|
||||
l 3 4
|
@ -1,28 +0,0 @@
|
||||
# Blender v2.69 (sub 0) OBJ File: 'slope_test_icorner_half_short_onetexture.blend'
|
||||
# www.blender.org
|
||||
mtllib slope_test_icorner_half_short_onetexture.mtl
|
||||
o Cube_Cube.000
|
||||
v 0.500000 -0.000000 0.500000
|
||||
v -0.500000 -0.000000 0.500000
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
v 0.500000 -0.000000 -0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 1.000000 0.000000
|
||||
usemtl None
|
||||
s off
|
||||
f 6/1 1/2 7/3 8/4
|
||||
f 2/1 5/3 3/4
|
||||
f 2/1 1/2 5/4
|
||||
f 6/2 8/3 9/4
|
||||
f 9/1 8/2 7/3 3/4
|
||||
f 3/3 7/4 1/1 2/2
|
||||
f 1/1 6/2 9/3
|
||||
l 1 4
|
||||
l 3 4
|
@ -1,31 +0,0 @@
|
||||
# Blender v2.69 (sub 0) OBJ File: 'slope_test_icorner_half_tall_onetexture.blend'
|
||||
# www.blender.org
|
||||
mtllib slope_test_icorner_half_tall_onetexture.mtl
|
||||
o Cube_Cube.000
|
||||
v 0.500000 0.500000 0.500000
|
||||
v -0.500000 0.500000 0.500000
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v -0.500000 0.000000 -0.500000
|
||||
v 0.500000 0.500000 -0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
v -0.500000 0.000000 -0.500000
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 1.000000 0.500000
|
||||
vt 0.000000 0.500000
|
||||
usemtl None
|
||||
s off
|
||||
f 6/1 1/2 7/3 8/4
|
||||
f 2/1 1/2 5/4
|
||||
f 3/3 7/4 1/1 2/2
|
||||
f 1/2 6/3 9/4
|
||||
f 3/1 10/2 8/3 7/4
|
||||
f 8/3 10/4 5/5 6/2
|
||||
f 3/4 2/1 5/6 10/3
|
||||
l 1 4
|
||||
l 3 4
|
@ -1,18 +0,0 @@
|
||||
# Blender v2.69 (sub 0) OBJ File: 'slope_test_ocorner_onetexture.blend'
|
||||
# www.blender.org
|
||||
o Cube_Cube.002
|
||||
v 0.500000 0.500000 0.500000
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 1.000000 0.000000
|
||||
s off
|
||||
f 3/1 2/2 4/3 5/4
|
||||
f 1/2 3/3 5/4
|
||||
f 1/1 2/3 3/4
|
||||
f 1/1 4/3 2/4
|
||||
f 1/2 5/3 4/4
|
@ -1,19 +0,0 @@
|
||||
# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_tall_2_onetexture.blend'
|
||||
# www.blender.org
|
||||
mtllib slope_test_corner_pyramid_tall_2_onetexture.mtl
|
||||
o Cube
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v 0.500000 0.500000 0.500000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.500000 1.000000
|
||||
usemtl None
|
||||
s off
|
||||
f 4/1 1/2 3/3
|
||||
f 2/3 4/4 3/2
|
||||
f 3/2 1/3 2/4
|
||||
f 1/3 4/5 2/2
|
@ -1,20 +0,0 @@
|
||||
# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_short_2_onetexture.blend'
|
||||
# www.blender.org
|
||||
mtllib slope_test_corner_pyramid_short_2_onetexture.mtl
|
||||
o Cube
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v 0.500000 0.000000 0.500000
|
||||
vt 1.000000 0.500000
|
||||
vt 0.000000 0.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 0.000000 0.500000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.500000 1.000000
|
||||
usemtl None
|
||||
s off
|
||||
f 4/1 1/2 3/3
|
||||
f 2/3 4/4 3/2
|
||||
f 3/2 1/3 2/5
|
||||
f 1/3 4/6 2/2
|
@ -1,23 +0,0 @@
|
||||
# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_short_3_onetexture.blend'
|
||||
# www.blender.org
|
||||
mtllib slope_test_corner_pyramid_short_3_onetexture.mtl
|
||||
o Cube_Cube.002
|
||||
v -0.500000 -0.000000 0.500000
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v 0.500000 0.500000 0.500000
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
v 0.500000 -0.000000 -0.500000
|
||||
vt 0.000000 0.500000
|
||||
vt 0.000000 0.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 1.000000 0.500000
|
||||
usemtl None
|
||||
s off
|
||||
f 1/1 2/2 3/3 4/4
|
||||
f 4/5 3/2 5/3 6/6
|
||||
f 2/5 5/3 3/4
|
||||
f 1/2 4/3 6/4
|
||||
f 2/3 1/6 6/1 5/2
|
@ -1,22 +0,0 @@
|
||||
# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_short_1_onetexture.blend'
|
||||
# www.blender.org
|
||||
mtllib slope_test_corner_pyramid_short_1_onetexture.mtl
|
||||
o Cube
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v 0.500000 0.000000 0.500000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 0.000000 0.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 1.000000 0.500000
|
||||
vt 0.000000 0.500000
|
||||
usemtl None
|
||||
s off
|
||||
f 1/1 2/2 3/3 4/4
|
||||
f 5/5 1/3 4/4
|
||||
f 3/4 5/6 4/3
|
||||
f 2/4 5/2 3/3
|
||||
f 1/4 5/1 2/3
|
@ -1,27 +0,0 @@
|
||||
# Blender v2.69 (sub 0) OBJ File: 'slope_test_corner_pyramid_tall_3_onetexture.blend'
|
||||
# www.blender.org
|
||||
mtllib slope_test_corner_pyramid_tall_3_onetexture.mtl
|
||||
o Cube_Cube.002
|
||||
v -0.500000 -0.000000 0.500000
|
||||
v -0.500000 -0.500000 0.500000
|
||||
v 0.500000 -0.500000 0.500000
|
||||
v 0.500000 0.500000 0.500000
|
||||
v 0.500000 -0.500000 -0.500000
|
||||
v 0.500000 -0.000000 -0.500000
|
||||
v -0.500000 -0.500000 -0.500000
|
||||
v -0.500000 -0.000000 -0.500000
|
||||
vt 0.000000 0.500000
|
||||
vt 0.000000 0.000000
|
||||
vt 1.000000 0.000000
|
||||
vt 1.000000 1.000000
|
||||
vt 0.000000 1.000000
|
||||
vt 1.000000 0.500000
|
||||
usemtl None
|
||||
s off
|
||||
f 1/1 2/2 3/3 4/4
|
||||
f 4/5 3/2 5/3 6/6
|
||||
f 8/3 4/5 6/2
|
||||
f 1/6 8/1 7/2 2/3
|
||||
f 4/5 8/3 1/4
|
||||
f 6/1 5/2 7/3 8/6
|
||||
f 5/5 3/2 2/3 7/4
|
14
mods/moreblocks/nodes.lua
Normal file → Executable file
@ -1,11 +1,4 @@
|
||||
--[[
|
||||
More Blocks: node definitions
|
||||
|
||||
Copyright (c) 2011-2015 Calinou and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
--]]
|
||||
|
||||
local S = moreblocks.intllib
|
||||
local S = moreblocks.gettext
|
||||
|
||||
local sound_wood = default.node_sound_wood_defaults()
|
||||
local sound_stone = default.node_sound_stone_defaults()
|
||||
@ -123,11 +116,6 @@ local nodes = {
|
||||
groups = {cracky = 2},
|
||||
sounds = sound_stone,
|
||||
},
|
||||
["cobble_compressed"] = {
|
||||
description = S("Compressed Cobblestone"),
|
||||
groups = {cracky = 1},
|
||||
sounds = sound_stone,
|
||||
},
|
||||
["plankstone"] = {
|
||||
description = S("Plankstone"),
|
||||
groups = {cracky = 3},
|
||||
|
6
mods/moreblocks/ownership.lua
Normal file → Executable file
@ -1,9 +1,3 @@
|
||||
--[[
|
||||
More Blocks: ownership handling
|
||||
|
||||
Copyright (c) 2011-2015 Calinou and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
--]]
|
||||
|
||||
local S = moreblocks.gettext
|
||||
|
||||
|
12
mods/moreblocks/redefinitions.lua
Normal file → Executable file
@ -1,10 +1,3 @@
|
||||
--[[
|
||||
More Blocks: redefinitions of default stuff
|
||||
|
||||
Copyright (c) 2011-2015 Calinou and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
--]]
|
||||
|
||||
-- Redefinitions of some default crafting recipes:
|
||||
|
||||
minetest.register_craft({
|
||||
@ -78,11 +71,6 @@ minetest.override_item("default:papyrus", {
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
minetest.override_item("default:fence_wood", {
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
})
|
||||
|
||||
minetest.override_item("default:junglegrass", {
|
||||
paramtype = "light",
|
||||
sunlight_propagates = true,
|
||||
|
3
mods/moreblocks/stairsplus/API.md
Normal file → Executable file
@ -1,5 +1,6 @@
|
||||
API documentation for Stairs+
|
||||
=============================
|
||||
================================
|
||||
- - - - - - - - - - - - - - - -
|
||||
|
||||
* `stairsplus:register_all(modname, subname, recipeitem, fields)`
|
||||
Registers a stair, slab, panel, microblock, and any other types of
|
||||
|
8
mods/moreblocks/stairsplus/aliases.lua
Normal file → Executable file
@ -1,9 +1,3 @@
|
||||
--[[
|
||||
More Blocks: alias definitions
|
||||
|
||||
Copyright (c) 2011-2015 Calinou and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
--]]
|
||||
|
||||
local function register_stairsplus_alias(modname, origname, newname)
|
||||
minetest.register_alias(modname.. ":slab_" ..origname, "moreblocks:slab_" ..newname)
|
||||
@ -39,14 +33,12 @@ end
|
||||
|
||||
register_stairsplus_alias("stairsplus", "stone", "stone")
|
||||
register_stairsplus_alias("stairsplus", "wood", "wood")
|
||||
register_stairsplus_alias("stairsplus", "pinewood", "pinewood")
|
||||
register_stairsplus_alias("stairsplus", "cobble", "cobble")
|
||||
register_stairsplus_alias("stairsplus", "brick", "brick")
|
||||
register_stairsplus_alias("stairsplus", "sandstone", "sandstone")
|
||||
register_stairsplus_alias("stairsplus", "glass", "glass")
|
||||
register_stairsplus_alias("stairsplus", "tree", "tree")
|
||||
register_stairsplus_alias("stairsplus", "jungletree", "jungletree")
|
||||
register_stairsplus_alias("stairsplus", "pinetree", "pinetree")
|
||||
register_stairsplus_alias("stairsplus", "desert_stone", "desert_stone")
|
||||
register_stairsplus_alias("stairsplus", "steelblock", "steelblock")
|
||||
register_stairsplus_alias("stairsplus", "mossycobble", "mossycobble")
|
||||
|
7
mods/moreblocks/stairsplus/conversion.lua
Normal file → Executable file
@ -1,10 +1,3 @@
|
||||
--[[
|
||||
More Blocks: conversion
|
||||
|
||||
Copyright (c) 2011-2015 Calinou and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
--]]
|
||||
|
||||
-- Function to convert all stairs/slabs/etc nodes from
|
||||
-- inverted, wall, etc to regular + 6d facedir
|
||||
|
||||
|
9
mods/moreblocks/stairsplus/init.lua
Normal file → Executable file
@ -1,10 +1,3 @@
|
||||
--[[
|
||||
More Blocks: Stairs+
|
||||
|
||||
Copyright (c) 2011-2015 Calinou and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
--]]
|
||||
|
||||
-- Nodes will be called <modname>:{stair,slab,panel,micro}_<subname>
|
||||
|
||||
local modpath = minetest.get_modpath("moreblocks").. "/stairsplus"
|
||||
@ -25,7 +18,6 @@ function stairsplus:register_all(modname, subname, recipeitem, fields)
|
||||
end
|
||||
self:register_stair(modname, subname, recipeitem, fields)
|
||||
self:register_slab (modname, subname, recipeitem, fields)
|
||||
self:register_slope(modname, subname, recipeitem, fields)
|
||||
self:register_panel(modname, subname, recipeitem, fields)
|
||||
self:register_micro(modname, subname, recipeitem, fields)
|
||||
-- self:register_6dfacedir_conversion(modname, subname) -- Not needed as of Q3 2013, uncomment to fix old maps.
|
||||
@ -46,7 +38,6 @@ end
|
||||
-- dofile(modpath.. "/conversion.lua") -- Not needed as of Q2 2013, uncomment to fix old maps.
|
||||
dofile(modpath.. "/stairs.lua")
|
||||
dofile(modpath.. "/slabs.lua")
|
||||
dofile(modpath .. "/slopes.lua")
|
||||
dofile(modpath.. "/panels.lua")
|
||||
dofile(modpath.. "/microblocks.lua")
|
||||
dofile(modpath.. "/registrations.lua")
|
||||
|
15
mods/moreblocks/stairsplus/microblocks.lua
Normal file → Executable file
@ -1,11 +1,10 @@
|
||||
--[[
|
||||
More Blocks: microblock definitions
|
||||
|
||||
Copyright (c) 2011-2015 Calinou and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
--]]
|
||||
|
||||
local S = moreblocks.intllib
|
||||
local S -- Load translation library if intllib is installed:
|
||||
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
|
||||
|
||||
-- Node will be called <modname>:micro_<subname>
|
||||
|
||||
|
15
mods/moreblocks/stairsplus/panels.lua
Normal file → Executable file
@ -1,11 +1,10 @@
|
||||
--[[
|
||||
More Blocks: panel definitions
|
||||
|
||||
Copyright (c) 2011-2015 Calinou and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
--]]
|
||||
|
||||
local S = moreblocks.intllib
|
||||
local S -- Load translation library if intllib is installed:
|
||||
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
|
||||
|
||||
-- Node will be called <modname>:panel_<subname>
|
||||
|
||||
|
11
mods/moreblocks/stairsplus/registrations.lua
Normal file → Executable file
@ -1,10 +1,3 @@
|
||||
--[[
|
||||
More Blocks: registrations
|
||||
|
||||
Copyright (c) 2011-2015 Calinou and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
--]]
|
||||
|
||||
local default_nodes = { -- Default stairs/slabs/panels/microblocks:
|
||||
"stone",
|
||||
"cobble",
|
||||
@ -17,14 +10,12 @@ local default_nodes = { -- Default stairs/slabs/panels/microblocks:
|
||||
"bronzeblock",
|
||||
"diamondblock",
|
||||
"desert_stone",
|
||||
"desert_cobble",
|
||||
-- "desert_cobble",
|
||||
"glass",
|
||||
"tree",
|
||||
"wood",
|
||||
"jungletree",
|
||||
"junglewood",
|
||||
"pinetree",
|
||||
"pinewood",
|
||||
"obsidian",
|
||||
"obsidian_glass",
|
||||
"stonebrick",
|
||||
|
15
mods/moreblocks/stairsplus/slabs.lua
Normal file → Executable file
@ -1,11 +1,10 @@
|
||||
--[[
|
||||
More Blocks: slab definitions
|
||||
|
||||
Copyright (c) 2011-2015 Calinou and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
--]]
|
||||
|
||||
local S = moreblocks.intllib
|
||||
local S -- Load translation library if intllib is installed:
|
||||
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
|
||||
|
||||
-- Node will be called <modname>:slab_<subname>
|
||||
|
||||
|
@ -1,459 +0,0 @@
|
||||
--[[
|
||||
More Blocks: slope definitions
|
||||
|
||||
Copyright (c) 2011-2015 Calinou and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
--]]
|
||||
|
||||
local S = moreblocks.intllib
|
||||
|
||||
local box_slope = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, -0.25, 0.5},
|
||||
{-0.5, -0.25, -0.25, 0.5, 0, 0.5},
|
||||
{-0.5, 0, 0, 0.5, 0.25, 0.5},
|
||||
{-0.5, 0.25, 0.25, 0.5, 0.5, 0.5}
|
||||
}
|
||||
}
|
||||
|
||||
local box_slope_half = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, -0.375, 0.5},
|
||||
{-0.5, -0.375, -0.25, 0.5, -0.25, 0.5},
|
||||
{-0.5, -0.25, 0, 0.5, -0.125, 0.5},
|
||||
{-0.5, -0.125, 0.25, 0.5, 0, 0.5},
|
||||
}
|
||||
}
|
||||
|
||||
local box_slope_half_raised = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.125, 0.5},
|
||||
{-0.5, 0.125, -0.25, 0.5, 0.25, 0.5},
|
||||
{-0.5, 0.25, 0, 0.5, 0.375, 0.5},
|
||||
{-0.5, 0.375, 0.25, 0.5, 0.5, 0.5},
|
||||
}
|
||||
}
|
||||
|
||||
--==============================================================
|
||||
|
||||
local box_slope_inner = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, -0.25, 0.5},
|
||||
{-0.5, -0.5, -0.25, 0.5, 0, 0.5},
|
||||
{-0.5, -0.5, -0.5, 0.25, 0, 0.5},
|
||||
{-0.5, 0, -0.5, 0, 0.25, 0.5},
|
||||
{-0.5, 0, 0, 0.5, 0.25, 0.5},
|
||||
{-0.5, 0.25, 0.25, 0.5, 0.5, 0.5},
|
||||
{-0.5, 0.25, -0.5, -0.25, 0.5, 0.5},
|
||||
}
|
||||
}
|
||||
|
||||
local box_slope_inner_half = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, -0.375, 0.5},
|
||||
{-0.5, -0.375, -0.25, 0.5, -0.25, 0.5},
|
||||
{-0.5, -0.375, -0.5, 0.25, -0.25, 0.5},
|
||||
{-0.5, -0.25, -0.5, 0, -0.125, 0.5},
|
||||
{-0.5, -0.25, 0, 0.5, -0.125, 0.5},
|
||||
{-0.5, -0.125, 0.25, 0.5, 0, 0.5},
|
||||
{-0.5, -0.125, -0.5, -0.25, 0, 0.5},
|
||||
}
|
||||
}
|
||||
|
||||
local box_slope_inner_half_raised = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.125, 0.5},
|
||||
{-0.5, 0.125, -0.25, 0.5, 0.25, 0.5},
|
||||
{-0.5, 0.125, -0.5, 0.25, 0.25, 0.5},
|
||||
{-0.5, 0.25, -0.5, 0, 0.375, 0.5},
|
||||
{-0.5, 0.25, 0, 0.5, 0.375, 0.5},
|
||||
{-0.5, 0.375, 0.25, 0.5, 0.5, 0.5},
|
||||
{-0.5, 0.375, -0.5, -0.25, 0.5, 0.5},
|
||||
}
|
||||
}
|
||||
|
||||
--==============================================================
|
||||
|
||||
local box_slope_outer = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, -0.25, 0.5},
|
||||
{-0.5, -0.25, -0.25, 0.25, 0, 0.5},
|
||||
{-0.5, 0, 0, 0, 0.25, 0.5},
|
||||
{-0.5, 0.25, 0.25, -0.25, 0.5, 0.5}
|
||||
}
|
||||
}
|
||||
|
||||
local box_slope_outer_half = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, -0.375, 0.5},
|
||||
{-0.5, -0.375, -0.25, 0.25, -0.25, 0.5},
|
||||
{-0.5, -0.25, 0, 0, -0.125, 0.5},
|
||||
{-0.5, -0.125, 0.25, -0.25, 0, 0.5}
|
||||
}
|
||||
}
|
||||
|
||||
local box_slope_outer_half_raised = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.125, 0.5},
|
||||
{-0.5, 0.125, -0.25, 0.25, 0.25, 0.5},
|
||||
{-0.5, 0.25, 0, 0, 0.375, 0.5},
|
||||
{-0.5, 0.375, 0.25, -0.25, 0.5, 0.5}
|
||||
}
|
||||
}
|
||||
|
||||
-- Node will be called <modname>:slope_<subname>
|
||||
|
||||
function register_slope(modname, subname, recipeitem, groups, images, description, drop, light)
|
||||
return stairsplus:register_slope(modname, subname, recipeitem, {
|
||||
groups = groups,
|
||||
tiles = images,
|
||||
description = description,
|
||||
drop = drop,
|
||||
light_source = light,
|
||||
sounds = default.node_sound_stone_defaults(),
|
||||
})
|
||||
end
|
||||
|
||||
function stairsplus:register_slope(modname, subname, recipeitem, fields)
|
||||
local defs = {
|
||||
[""] = {
|
||||
mesh = "moreblocks_slope.obj",
|
||||
collision_box = box_slope,
|
||||
selection_box = box_slope,
|
||||
|
||||
},
|
||||
["_half"] = {
|
||||
mesh = "moreblocks_slope_half.obj",
|
||||
collision_box = box_slope_half,
|
||||
selection_box = box_slope_half,
|
||||
},
|
||||
["_half_raised"] = {
|
||||
mesh = "moreblocks_slope_half_raised.obj",
|
||||
collision_box = box_slope_half_raised,
|
||||
selection_box = box_slope_half_raised,
|
||||
},
|
||||
|
||||
--==============================================================
|
||||
|
||||
["_inner"] = {
|
||||
mesh = "moreblocks_slope_inner.obj",
|
||||
collision_box = box_slope_inner,
|
||||
selection_box = box_slope_inner,
|
||||
},
|
||||
["_inner_half"] = {
|
||||
mesh = "moreblocks_slope_inner_half.obj",
|
||||
collision_box = box_slope_inner_half,
|
||||
selection_box = box_slope_inner_half,
|
||||
},
|
||||
["_inner_half_raised"] = {
|
||||
mesh = "moreblocks_slope_inner_half_raised.obj",
|
||||
collision_box = box_slope_inner_half_raised,
|
||||
selection_box = box_slope_inner_half_raised,
|
||||
},
|
||||
|
||||
--==============================================================
|
||||
|
||||
["_outer"] = {
|
||||
mesh = "moreblocks_slope_outer.obj",
|
||||
collision_box = box_slope_outer,
|
||||
selection_box = box_slope_outer,
|
||||
},
|
||||
["_outer_half"] = {
|
||||
mesh = "moreblocks_slope_outer_half.obj",
|
||||
collision_box = box_slope_outer_half,
|
||||
selection_box = box_slope_outer_half,
|
||||
},
|
||||
["_outer_half_raised"] = {
|
||||
mesh = "moreblocks_slope_outer_half_raised.obj",
|
||||
collision_box = box_slope_outer_half_raised,
|
||||
selection_box = box_slope_outer_half_raised,
|
||||
},
|
||||
|
||||
--==============================================================
|
||||
|
||||
["_outer_cut"] = {
|
||||
mesh = "moreblocks_slope_outer_cut.obj",
|
||||
collision_box = box_slope_outer,
|
||||
selection_box = box_slope_outer,
|
||||
},
|
||||
["_outer_cut_half"] = {
|
||||
mesh = "moreblocks_slope_outer_cut_half.obj",
|
||||
collision_box = box_slope_outer_half,
|
||||
selection_box = box_slope_outer_half,
|
||||
},
|
||||
["_outer_cut_half_raised"] = {
|
||||
mesh = "moreblocks_slope_outer_cut_half_raised.obj",
|
||||
collision_box = box_slope_outer_half_raised,
|
||||
selection_box = box_slope_outer_half_raised,
|
||||
},
|
||||
}
|
||||
|
||||
local desc = S("%s Slope"):format(fields.description)
|
||||
for alternate, def in pairs(defs) do
|
||||
def.drawtype = "mesh"
|
||||
def.paramtype = "light"
|
||||
def.paramtype2 = "facedir"
|
||||
def.on_place = minetest.rotate_node
|
||||
for k, v in pairs(fields) do
|
||||
def[k] = v
|
||||
end
|
||||
def.description = desc
|
||||
if fields.drop then
|
||||
def.drop = modname.. ":slope_" ..fields.drop..alternate
|
||||
end
|
||||
minetest.register_node(":" ..modname.. ":slope_" ..subname..alternate, def)
|
||||
end
|
||||
|
||||
-- Some saw-less recipes:
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ":slope_" .. subname .. " 7",
|
||||
recipe = {
|
||||
{modname .. ":panel_" .. subname, "", ""},
|
||||
{recipeitem, modname .. ":panel_" .. subname, ""},
|
||||
{recipeitem, recipeitem, modname .. ":panel_" .. subname},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ":slope_" .. subname .. " 7",
|
||||
recipe = {
|
||||
{"", "", modname .. ":panel_" .. subname},
|
||||
{"", modname .. ":panel_" .. subname, recipeitem},
|
||||
{modname .. ":panel_" .. subname, recipeitem, recipeitem},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ":slope_" .. subname .. "_half 10",
|
||||
recipe = {
|
||||
{modname .. ":panel_" .. subname, "", ""},
|
||||
{recipeitem, recipeitem, modname .. ":panel_" .. subname},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ":slope_" .. subname .. "_half 10",
|
||||
recipe = {
|
||||
{"", "", modname .. ":panel_" .. subname},
|
||||
{modname .. ":panel_" .. subname, recipeitem, recipeitem},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ":slope_" .. subname .. "_half_raised 7",
|
||||
recipe = {
|
||||
{modname .. ":panel_" .. subname, "", ""},
|
||||
{recipeitem, recipeitem, modname .. ":panel_" .. subname},
|
||||
{recipeitem, recipeitem, recipeitem},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ":slope_" .. subname .. "_half_raised 7",
|
||||
recipe = {
|
||||
{"", "", modname .. ":panel_" .. subname},
|
||||
{modname .. ":panel_" .. subname, recipeitem, recipeitem},
|
||||
{recipeitem, recipeitem, recipeitem},
|
||||
},
|
||||
})
|
||||
|
||||
--===================================================== Inner ==
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ":slope_" .. subname .. "_inner 7",
|
||||
recipe = {
|
||||
{modname .. ":stair_" .. subname .. "_half", "", ""},
|
||||
{recipeitem, modname .. ":stair_" .. subname .. "_half", ""},
|
||||
{recipeitem, recipeitem, modname .. ":stair_" .. subname .. "_half"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ":slope_" .. subname .. "_inner 7",
|
||||
recipe = {
|
||||
{"", "", modname .. ":stair_" .. subname .. "_half"},
|
||||
{"", modname .. ":stair_" .. subname .. "_half", recipeitem},
|
||||
{modname .. ":stair_" .. subname .. "_half", recipeitem, recipeitem},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ":slope_" .. subname .. "_inner_half 10",
|
||||
recipe = {
|
||||
{modname .. ":stair_" .. subname .. "_half", "", ""},
|
||||
{recipeitem, recipeitem, modname .. ":stair_" .. subname .. "_half"},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ":slope_" .. subname .. "_inner_half 10",
|
||||
recipe = {
|
||||
{"", "", modname .. ":stair_" .. subname .. "_half"},
|
||||
{modname .. ":stair_" .. subname .. "_half", recipeitem, recipeitem},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ":slope_" .. subname .. "_inner_half_raised 7",
|
||||
recipe = {
|
||||
{modname .. ":stair_" .. subname .. "_half", "", ""},
|
||||
{recipeitem, recipeitem, modname .. ":stair_" .. subname .. "_half"},
|
||||
{recipeitem, recipeitem, recipeitem},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ":slope_" .. subname .. "_inner_half_raised 7",
|
||||
recipe = {
|
||||
{"", "", modname .. ":stair_" .. subname .. "_half"},
|
||||
{modname .. ":stair_" .. subname .. "_half", recipeitem, recipeitem},
|
||||
{recipeitem, recipeitem, recipeitem},
|
||||
},
|
||||
})
|
||||
|
||||
--===================================================== Outer ==
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ":slope_" .. subname .. "_outer 7",
|
||||
recipe = {
|
||||
{modname .. ":micro_" .. subname, "", ""},
|
||||
{recipeitem, modname .. ":micro_" .. subname, ""},
|
||||
{recipeitem, recipeitem, modname .. ":micro_" .. subname},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ":slope_" .. subname .. "_outer 7",
|
||||
recipe = {
|
||||
{"", "", modname .. ":micro_" .. subname},
|
||||
{"", modname .. ":micro_" .. subname, recipeitem},
|
||||
{modname .. ":micro_" .. subname, recipeitem, recipeitem},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ":slope_" .. subname .. "_outer_half 10",
|
||||
recipe = {
|
||||
{modname .. ":micro_" .. subname, "", ""},
|
||||
{recipeitem, recipeitem, modname .. ":micro_" .. subname},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ":slope_" .. subname .. "_outer_half 10",
|
||||
recipe = {
|
||||
{"", "", modname .. ":micro_" .. subname},
|
||||
{modname .. ":micro_" .. subname, recipeitem, recipeitem},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ":slope_" .. subname .. "_outer_half_raised 7",
|
||||
recipe = {
|
||||
{modname .. ":micro_" .. subname, "", ""},
|
||||
{recipeitem, recipeitem, modname .. ":micro_" .. subname},
|
||||
{recipeitem, recipeitem, recipeitem},
|
||||
},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = modname .. ":slope_" .. subname .. "_outer_half_raised 7",
|
||||
recipe = {
|
||||
{"", "", modname .. ":micro_" .. subname},
|
||||
{modname .. ":micro_" .. subname, recipeitem, recipeitem},
|
||||
{recipeitem, recipeitem, recipeitem},
|
||||
},
|
||||
})
|
||||
|
||||
--================================================= Shapeless ==
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = recipeitem,
|
||||
recipe = {modname .. ":slope_" .. subname, modname .. ":slope_" .. subname},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = recipeitem,
|
||||
recipe = {modname .. ":slope_" .. subname .. "_outer_cut", modname .. ":slope_" .. subname .. "_outer_cut"},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = recipeitem,
|
||||
recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half_raised"},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = recipeitem,
|
||||
recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half",
|
||||
modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half"},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = modname .. ":slab_" .. subname,
|
||||
recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half"},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = modname .. ":slope_" .. subname .. "_half_raised",
|
||||
recipe = {modname .. ":slope_" .. subname .. "_half", modname .. ":slope_" .. subname .. "_half",
|
||||
modname .. ":slope_" .. subname .. "_half"},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = modname .. ":slope_" .. subname .. "_half_raised",
|
||||
recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_half"},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = modname .. ":slope_" .. subname .. "_inner_half_raised",
|
||||
recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_inner_half"},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = modname .. ":slope_" .. subname .. "_outer_half_raised",
|
||||
recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_outer_half"},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = modname .. ":slope_" .. subname .. "_outer_cut_half_raised",
|
||||
recipe = {modname .. ":slab_" .. subname, modname .. ":slope_" .. subname .. "_outer_cut_half"},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = modname .. ":slope_" .. subname .. "_outer_cut",
|
||||
recipe = {modname .. ":slope_" .. subname .. "_outer"},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = modname .. ":slope_" .. subname .. "_outer_cut_half",
|
||||
recipe = {modname .. ":slope_" .. subname .. "_outer_half"},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "shapeless",
|
||||
output = modname .. ":slope_" .. subname .. "_outer_cut_half_raised",
|
||||
recipe = {modname .. ":slope_" .. subname .. "_outer_half_raised"},
|
||||
})
|
||||
end
|
17
mods/moreblocks/stairsplus/stairs.lua
Normal file → Executable file
@ -1,11 +1,10 @@
|
||||
--[[
|
||||
More Blocks: stair definitions
|
||||
|
||||
Copyright (c) 2011-2015 Calinou and contributors.
|
||||
Licensed under the zlib license. See LICENSE.md for more information.
|
||||
--]]
|
||||
|
||||
local S = moreblocks.intllib
|
||||
local S -- Load translation library if intllib is installed:
|
||||
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
|
||||
|
||||
-- Node will be called <modname>:stair_<subname>
|
||||
|
||||
@ -121,7 +120,7 @@ function stairsplus:register_stair(modname, subname, recipeitem, fields)
|
||||
end
|
||||
minetest.register_node(":" ..modname.. ":stair_" ..subname..alternate, def)
|
||||
end
|
||||
minetest.register_alias("stairs:stair_" .. subname, modname .. ":stair_" .. subname)
|
||||
minetest.register_alias(":stairs:stair_" ..subname, modname.. ":stair_" ..subname)
|
||||
|
||||
-- Some saw-less recipes:
|
||||
|
||||
|
0
mods/moreblocks/textures/default_brick.png
Normal file → Executable file
Before Width: | Height: | Size: 716 B After Width: | Height: | Size: 716 B |
0
mods/moreblocks/textures/default_fence_overlay.png
Normal file → Executable file
Before Width: | Height: | Size: 285 B After Width: | Height: | Size: 285 B |
0
mods/moreblocks/textures/invisible.png
Normal file → Executable file
Before Width: | Height: | Size: 68 B After Width: | Height: | Size: 68 B |
0
mods/moreblocks/textures/moreblocks_cactus_brick.png
Normal file → Executable file
Before Width: | Height: | Size: 718 B After Width: | Height: | Size: 718 B |
0
mods/moreblocks/textures/moreblocks_cactus_checker.png
Normal file → Executable file
Before Width: | Height: | Size: 693 B After Width: | Height: | Size: 693 B |
0
mods/moreblocks/textures/moreblocks_circle_stone_bricks.png
Normal file → Executable file
Before Width: | Height: | Size: 448 B After Width: | Height: | Size: 448 B |
0
mods/moreblocks/textures/moreblocks_circular_saw_bottom.png
Normal file → Executable file
Before Width: | Height: | Size: 579 B After Width: | Height: | Size: 579 B |
0
mods/moreblocks/textures/moreblocks_circular_saw_side.png
Normal file → Executable file
Before Width: | Height: | Size: 478 B After Width: | Height: | Size: 478 B |
0
mods/moreblocks/textures/moreblocks_circular_saw_top.png
Normal file → Executable file
Before Width: | Height: | Size: 441 B After Width: | Height: | Size: 441 B |
0
mods/moreblocks/textures/moreblocks_clean_glass.png
Normal file → Executable file
Before Width: | Height: | Size: 177 B After Width: | Height: | Size: 177 B |
0
mods/moreblocks/textures/moreblocks_coal_checker.png
Normal file → Executable file
Before Width: | Height: | Size: 744 B After Width: | Height: | Size: 744 B |
0
mods/moreblocks/textures/moreblocks_coal_glass.png
Normal file → Executable file
Before Width: | Height: | Size: 155 B After Width: | Height: | Size: 155 B |
0
mods/moreblocks/textures/moreblocks_coal_glass_stairsplus.png
Normal file → Executable file
Before Width: | Height: | Size: 166 B After Width: | Height: | Size: 166 B |
0
mods/moreblocks/textures/moreblocks_coal_stone.png
Normal file → Executable file
Before Width: | Height: | Size: 229 B After Width: | Height: | Size: 229 B |
0
mods/moreblocks/textures/moreblocks_coal_stone_bricks.png
Normal file → Executable file
Before Width: | Height: | Size: 484 B After Width: | Height: | Size: 484 B |
0
mods/moreblocks/textures/moreblocks_empty_bookshelf.png
Normal file → Executable file
Before Width: | Height: | Size: 585 B After Width: | Height: | Size: 585 B |
0
mods/moreblocks/textures/moreblocks_fence_jungle_wood.png
Normal file → Executable file
Before Width: | Height: | Size: 204 B After Width: | Height: | Size: 204 B |
0
mods/moreblocks/textures/moreblocks_fence_wood.png
Normal file → Executable file
Before Width: | Height: | Size: 480 B After Width: | Height: | Size: 480 B |
0
mods/moreblocks/textures/moreblocks_glass.png
Normal file → Executable file
Before Width: | Height: | Size: 210 B After Width: | Height: | Size: 210 B |
0
mods/moreblocks/textures/moreblocks_glass_stairsplus.png
Normal file → Executable file
Before Width: | Height: | Size: 215 B After Width: | Height: | Size: 215 B |
0
mods/moreblocks/textures/moreblocks_glow_glass.png
Normal file → Executable file
Before Width: | Height: | Size: 157 B After Width: | Height: | Size: 157 B |
0
mods/moreblocks/textures/moreblocks_glow_glass_stairsplus.png
Normal file → Executable file
Before Width: | Height: | Size: 169 B After Width: | Height: | Size: 169 B |
0
mods/moreblocks/textures/moreblocks_grey_bricks.png
Normal file → Executable file
Before Width: | Height: | Size: 725 B After Width: | Height: | Size: 725 B |
0
mods/moreblocks/textures/moreblocks_iron_checker.png
Normal file → Executable file
Before Width: | Height: | Size: 850 B After Width: | Height: | Size: 850 B |
0
mods/moreblocks/textures/moreblocks_iron_glass.png
Normal file → Executable file
Before Width: | Height: | Size: 158 B After Width: | Height: | Size: 158 B |
0
mods/moreblocks/textures/moreblocks_iron_glass_stairsplus.png
Normal file → Executable file
Before Width: | Height: | Size: 169 B After Width: | Height: | Size: 169 B |
0
mods/moreblocks/textures/moreblocks_iron_stone.png
Normal file → Executable file
Before Width: | Height: | Size: 230 B After Width: | Height: | Size: 230 B |
0
mods/moreblocks/textures/moreblocks_iron_stone_bricks.png
Normal file → Executable file
Before Width: | Height: | Size: 485 B After Width: | Height: | Size: 485 B |
0
mods/moreblocks/textures/moreblocks_junglestick.png
Normal file → Executable file
Before Width: | Height: | Size: 122 B After Width: | Height: | Size: 122 B |
0
mods/moreblocks/textures/moreblocks_obsidian_glass_stairsplus.png
Normal file → Executable file
Before Width: | Height: | Size: 144 B After Width: | Height: | Size: 144 B |
0
mods/moreblocks/textures/moreblocks_plankstone.png
Normal file → Executable file
Before Width: | Height: | Size: 335 B After Width: | Height: | Size: 335 B |
0
mods/moreblocks/textures/moreblocks_plankstone_2.png
Normal file → Executable file
Before Width: | Height: | Size: 354 B After Width: | Height: | Size: 354 B |
0
mods/moreblocks/textures/moreblocks_rope.png
Normal file → Executable file
Before Width: | Height: | Size: 356 B After Width: | Height: | Size: 356 B |
0
mods/moreblocks/textures/moreblocks_split_stone_tile.png
Normal file → Executable file
Before Width: | Height: | Size: 273 B After Width: | Height: | Size: 273 B |
0
mods/moreblocks/textures/moreblocks_split_stone_tile_alt.png
Normal file → Executable file
Before Width: | Height: | Size: 306 B After Width: | Height: | Size: 306 B |
0
mods/moreblocks/textures/moreblocks_split_stone_tile_top.png
Normal file → Executable file
Before Width: | Height: | Size: 279 B After Width: | Height: | Size: 279 B |
0
mods/moreblocks/textures/moreblocks_stone_tile.png
Normal file → Executable file
Before Width: | Height: | Size: 271 B After Width: | Height: | Size: 271 B |
0
mods/moreblocks/textures/moreblocks_super_glow_glass.png
Normal file → Executable file
Before Width: | Height: | Size: 154 B After Width: | Height: | Size: 154 B |
0
mods/moreblocks/textures/moreblocks_super_glow_glass_stairsplus.png
Normal file → Executable file
Before Width: | Height: | Size: 171 B After Width: | Height: | Size: 171 B |
0
mods/moreblocks/textures/moreblocks_sweeper.png
Normal file → Executable file
Before Width: | Height: | Size: 310 B After Width: | Height: | Size: 310 B |
0
mods/moreblocks/textures/moreblocks_tar.png
Normal file → Executable file
Before Width: | Height: | Size: 270 B After Width: | Height: | Size: 270 B |
0
mods/moreblocks/textures/moreblocks_trap_glass.png
Normal file → Executable file
Before Width: | Height: | Size: 170 B After Width: | Height: | Size: 170 B |
0
mods/moreblocks/textures/moreblocks_trap_glow_glass.png
Normal file → Executable file
Before Width: | Height: | Size: 170 B After Width: | Height: | Size: 170 B |
0
mods/moreblocks/textures/moreblocks_trap_stone.png
Normal file → Executable file
Before Width: | Height: | Size: 333 B After Width: | Height: | Size: 333 B |
0
mods/moreblocks/textures/moreblocks_trap_super_glow_glass.png
Normal file → Executable file
Before Width: | Height: | Size: 170 B After Width: | Height: | Size: 170 B |
0
mods/moreblocks/textures/moreblocks_tree_stairsplus.png
Normal file → Executable file
Before Width: | Height: | Size: 311 B After Width: | Height: | Size: 311 B |
0
mods/moreblocks/textures/moreblocks_wood_tile.png
Normal file → Executable file
Before Width: | Height: | Size: 396 B After Width: | Height: | Size: 396 B |