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: | 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 @@ | |||||||
| --[[ | -- Aliases | ||||||
| Map Tools: alias definitions |  | ||||||
|  |  | ||||||
| Copyright (c) 2012-2015 Calinou and contributors. |  | ||||||
| Licensed under the zlib license. See LICENSE.md for more information. |  | ||||||
| --]] |  | ||||||
|  |  | ||||||
| minetest.register_alias("adminpick", "maptools:pick_admin") | minetest.register_alias("adminpick", "maptools:pick_admin") | ||||||
| minetest.register_alias("adminpickaxe", "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("ffire", "maptools:fake_fire") | ||||||
| minetest.register_alias("igniter", "maptools:igniter") | minetest.register_alias("igniter", "maptools:igniter") | ||||||
|  |  | ||||||
|  | -- Unbreakable block aliases | ||||||
|  |  | ||||||
| minetest.register_alias("stone_u", "maptools:stone") | minetest.register_alias("stone_u", "maptools:stone") | ||||||
| minetest.register_alias("tree_u", "maptools:tree") | minetest.register_alias("tree_u", "maptools:tree") | ||||||
| minetest.register_alias("cobble_u", "maptools:cobble") | 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 @@ | |||||||
| --[[ | local S | ||||||
| Map Tools: unbreakable default nodes | if (minetest.get_modpath("intllib")) then | ||||||
|  | 	dofile(minetest.get_modpath("intllib").."/intllib.lua") | ||||||
| Copyright (c) 2012-2015 Calinou and contributors. | 	S = intllib.Getter(minetest.get_current_modname()) | ||||||
| Licensed under the zlib license. See LICENSE.md for more information. | 	else | ||||||
| --]] | 	S = function ( s ) return s end | ||||||
|  | end | ||||||
| local S = maptools.intllib |  | ||||||
|  |  | ||||||
| maptools.creative = maptools.config["hide_from_creative_inventory"] |  | ||||||
|  |  | ||||||
| minetest.register_node("maptools:stone", { | minetest.register_node("maptools:stone", { | ||||||
| 	description = S("Unbreakable Stone"), | 	description = S("Unbreakable Stone"), | ||||||
| @@ -15,7 +12,7 @@ minetest.register_node("maptools:stone", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_stone.png"}, | 	tiles = {"default_stone.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_stone_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -25,7 +22,7 @@ minetest.register_node("maptools:stonebrick", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_stone_brick.png"}, | 	tiles = {"default_stone_brick.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_stone_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -35,7 +32,7 @@ minetest.register_node("maptools:tree", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_tree_top.png", "default_tree_top.png", "default_tree.png"}, | 	tiles = {"default_tree_top.png", "default_tree_top.png", "default_tree.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_wood_defaults(), | ||||||
| 	on_place = minetest.rotate_node | 	on_place = minetest.rotate_node | ||||||
| }) | }) | ||||||
| @@ -46,7 +43,7 @@ minetest.register_node("maptools:jungletree", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_jungletree_top.png", "default_jungletree_top.png", "default_jungletree.png"}, | 	tiles = {"default_jungletree_top.png", "default_jungletree_top.png", "default_jungletree.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_wood_defaults(), | ||||||
| 	on_place = minetest.rotate_node | 	on_place = minetest.rotate_node | ||||||
| }) | }) | ||||||
| @@ -57,7 +54,7 @@ minetest.register_node("maptools:cactus", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_cactus_top.png", "default_cactus_top.png", "default_cactus_side.png"}, | 	tiles = {"default_cactus_top.png", "default_cactus_top.png", "default_cactus_side.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_wood_defaults(), | ||||||
| 	on_place = minetest.rotate_node | 	on_place = minetest.rotate_node | ||||||
| }) | }) | ||||||
| @@ -78,7 +75,7 @@ minetest.register_node("maptools:papyrus", { | |||||||
| 		type = "fixed", | 		type = "fixed", | ||||||
| 		fixed = {-0.375, -0.5, -0.375, 0.375, 0.5, 0.375} | 		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(), | 	sounds = default.node_sound_leaves_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -88,7 +85,7 @@ minetest.register_node("maptools:dirt", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_dirt.png"}, | 	tiles = {"default_dirt.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_dirt_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -98,7 +95,7 @@ minetest.register_node("maptools:wood", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_wood.png"}, | 	tiles = {"default_wood.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_wood_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -108,7 +105,7 @@ minetest.register_node("maptools:junglewood", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_junglewood.png"}, | 	tiles = {"default_junglewood.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_wood_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -121,7 +118,7 @@ minetest.register_node("maptools:glass", { | |||||||
| 	paramtype = "light", | 	paramtype = "light", | ||||||
| 	sunlight_propagates = true, | 	sunlight_propagates = true, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_glass_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -133,7 +130,7 @@ minetest.register_node("maptools:leaves", { | |||||||
| 	tiles = {"default_leaves.png"}, | 	tiles = {"default_leaves.png"}, | ||||||
| 	paramtype = "light", | 	paramtype = "light", | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_leaves_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -143,7 +140,7 @@ minetest.register_node("maptools:sand", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_sand.png"}, | 	tiles = {"default_sand.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_sand_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -153,7 +150,7 @@ minetest.register_node("maptools:gravel", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_gravel.png"}, | 	tiles = {"default_gravel.png"}, | ||||||
| 	drop = "", | 	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({ | 	sounds = default.node_sound_dirt_defaults({ | ||||||
| 		footstep = {name="default_gravel_footstep", gain=0.35}, | 		footstep = {name="default_gravel_footstep", gain=0.35}, | ||||||
| 		dug = {name="default_gravel_footstep", gain=0.6}, | 		dug = {name="default_gravel_footstep", gain=0.6}, | ||||||
| @@ -166,7 +163,7 @@ minetest.register_node("maptools:clay", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_clay.png"}, | 	tiles = {"default_clay.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_dirt_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -176,7 +173,7 @@ minetest.register_node("maptools:desert_sand", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_desert_sand.png"}, | 	tiles = {"default_desert_sand.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_sand_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -186,7 +183,7 @@ minetest.register_node("maptools:sandstone", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_sandstone.png"}, | 	tiles = {"default_sandstone.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_stone_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -196,7 +193,7 @@ minetest.register_node("maptools:sandstone_brick", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_sandstone_brick.png"}, | 	tiles = {"default_sandstone_brick.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_stone_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -206,7 +203,7 @@ minetest.register_node("maptools:desert_stone", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_desert_stone.png"}, | 	tiles = {"default_desert_stone.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_stone_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -216,7 +213,7 @@ minetest.register_node("maptools:desert_cobble", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_desert_cobble.png"}, | 	tiles = {"default_desert_cobble.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_stone_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -226,7 +223,7 @@ minetest.register_node("maptools:desert_stonebrick", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_desert_stone_brick.png"}, | 	tiles = {"default_desert_stone_brick.png"}, | ||||||
| 	drop = "", | 	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(), | 	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"}, | 	tiles = {"default_grass.png", "default_dirt.png", "default_dirt.png^default_grass_side.png"}, | ||||||
| 	paramtype2 = "facedir", | 	paramtype2 = "facedir", | ||||||
| 	drop = "", | 	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({ | 	sounds = default.node_sound_dirt_defaults({ | ||||||
| 		footstep = {name="default_grass_footstep", gain = 0.4}, | 		footstep = {name="default_grass_footstep", gain = 0.4}, | ||||||
| 	}), | 	}), | ||||||
| @@ -249,7 +246,7 @@ minetest.register_node("maptools:fullgrass", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_grass.png"}, | 	tiles = {"default_grass.png"}, | ||||||
| 	drop = "", | 	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({ | 	sounds = default.node_sound_dirt_defaults({ | ||||||
| 		footstep = {name="default_grass_footstep", gain=0.4}, | 		footstep = {name="default_grass_footstep", gain=0.4}, | ||||||
| 	}), | 	}), | ||||||
| @@ -270,7 +267,7 @@ for slab_num = 1,3,1 do | |||||||
| 		paramtype = "light", | 		paramtype = "light", | ||||||
| 		paramtype2 = "facedir", | 		paramtype2 = "facedir", | ||||||
| 		drop = "", | 		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}}), | 		sounds = default.node_sound_dirt_defaults({footstep = {name="default_grass_footstep", gain = 0.4}}), | ||||||
| 	}) | 	}) | ||||||
| end | end | ||||||
| @@ -281,7 +278,7 @@ minetest.register_node("maptools:cobble", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_cobble.png"}, | 	tiles = {"default_cobble.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_stone_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -291,7 +288,7 @@ minetest.register_node("maptools:mossycobble", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_mossycobble.png"}, | 	tiles = {"default_mossycobble.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_stone_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -301,7 +298,7 @@ minetest.register_node("maptools:brick", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_brick.png"}, | 	tiles = {"default_brick.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_stone_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -311,7 +308,7 @@ minetest.register_node("maptools:coalblock", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_coal_block.png"}, | 	tiles = {"default_coal_block.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_stone_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -322,7 +319,7 @@ minetest.register_node("maptools:steelblock", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_steel_block.png"}, | 	tiles = {"default_steel_block.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_stone_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -332,7 +329,7 @@ minetest.register_node("maptools:goldblock", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_gold_block.png"}, | 	tiles = {"default_gold_block.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_stone_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -342,7 +339,7 @@ minetest.register_node("maptools:copperblock", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_copper_block.png"}, | 	tiles = {"default_copper_block.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_stone_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -352,7 +349,7 @@ minetest.register_node("maptools:bronzeblock", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_bronze_block.png"}, | 	tiles = {"default_bronze_block.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_stone_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -360,9 +357,9 @@ minetest.register_node("maptools:diamondblock", { | |||||||
| 	description = S("Unbreakable Diamond Block"), | 	description = S("Unbreakable Diamond Block"), | ||||||
| 	range = 12, | 	range = 12, | ||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"default_steel_block.png"}, | 	tiles = {"default_diamond_block.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_stone_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -374,7 +371,7 @@ minetest.register_node("maptools:soil_wet", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	tiles = {"farming_soil_wet.png", "farming_soil_wet_side.png"}, | 	tiles = {"farming_soil_wet.png", "farming_soil_wet_side.png"}, | ||||||
| 	drop = "", | 	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(), | 	sounds = default.node_sound_dirt_defaults(), | ||||||
| }) | }) | ||||||
|  |  | ||||||
| @@ -384,6 +381,6 @@ minetest.register_node("maptools:desert_sand_soil_wet", { | |||||||
| 	stack_max = 10000, | 	stack_max = 10000, | ||||||
| 	drop = "", | 	drop = "", | ||||||
| 	tiles = {"farming_desert_sand_soil_wet.png", "farming_desert_sand_soil_wet_side.png"}, | 	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(), | 	sounds = default.node_sound_sand_defaults(), | ||||||
| }) | }) | ||||||
|   | |||||||
| @@ -1,32 +1,551 @@ | |||||||
| --[[ | MAPTOOLS_CREATIVE = 1 -- Set this to 0 if you want Map Tools nodes and items to appear in the creative inventory. | ||||||
| ===================================================================== |  | ||||||
| ** Map Tools ** |  | ||||||
| By Calinou. |  | ||||||
|  |  | ||||||
| Copyright (c) 2012-2015 Calinou and contributors. | -- Load translation library if intllib is installed | ||||||
| Licensed under the zlib license. See LICENSE.md for more information. |  | ||||||
| ===================================================================== |  | ||||||
| --]] |  | ||||||
|  |  | ||||||
| maptools = {} |  | ||||||
|  |  | ||||||
| local S | local S | ||||||
| if minetest.get_modpath("intllib") then | if (minetest.get_modpath("intllib")) then | ||||||
| 	S = intllib.Getter() | 	dofile(minetest.get_modpath("intllib").."/intllib.lua") | ||||||
| else | 	S = intllib.Getter(minetest.get_current_modname()) | ||||||
| 	S = function(s) return s end | 	else | ||||||
|  | 	S = function ( s ) return s end | ||||||
| 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") | Map Tools by Calinou | ||||||
| dofile(modpath .. "/craftitems.lua") | Licensed under the zlib license for code and CC BY-SA 3.0 for textures, see LICENSE.txt for info. | ||||||
| dofile(modpath .. "/default_nodes.lua") | --]] | ||||||
| dofile(modpath .. "/nodes.lua") |  | ||||||
| dofile(modpath .. "/tools.lua") | -- 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 | if minetest.setting_getbool("log_mods") then | ||||||
| 	minetest.log("action", S("[maptools] loaded.")) | 	minetest.log("action", "Carbone: [maptools] loaded.") | ||||||
| end | 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: | 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 | ||||||
|  |  | ||||||
							
								
								
									
										21
									
								
								mods/moreblocks/aliases.lua
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| @@ -1,28 +1,24 @@ | |||||||
| --[[ | -- More Blocks aliases | ||||||
| More Blocks: alias definitions |  | ||||||
|  |  | ||||||
| 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("sweeper", "moreblocks:sweeper") | ||||||
| minetest.register_alias("circular_saw", "moreblocks:circular_saw") | minetest.register_alias("circular_saw", "moreblocks:circular_saw") | ||||||
| minetest.register_alias("jungle_stick", "moreblocks:jungle_stick") | 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:oerkkiblock", "default:mossycobble") | ||||||
| minetest.register_alias("moreblocks:screwdriver", "screwdriver:screwdriver") | 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:stone_bricks", "default:stonebrick") | ||||||
| minetest.register_alias("moreblocks:stonebrick", "default:stonebrick") | minetest.register_alias("moreblocks:stonebrick", "default:stonebrick") | ||||||
| minetest.register_alias("moreblocks:junglewood", "default:junglewood") | minetest.register_alias("moreblocks:junglewood", "default:junglewood") | ||||||
| minetest.register_alias("moreblocks:jungle_wood", "default:junglewood") | minetest.register_alias("moreblocks:jungle_wood", "default:junglewood") | ||||||
|  |  | ||||||
| for _, t in pairs(circular_saw.names) do | for _, t in pairs(circular_saw.names) do | ||||||
| 	minetest.register_alias("moreblocks:" .. t[1] .. "_jungle_wood" .. t[2], | 	minetest.register_alias("moreblocks:" ..t[1].. "_jungle_wood" ..t[2], | ||||||
| 			"moreblocks:" .. t[1] .. "_junglewood" .. t[2]) | 			"moreblocks:" ..t[1].. "_junglewood" ..t[2]) | ||||||
| end | end | ||||||
| minetest.register_alias("moreblocks:horizontaltree", "moreblocks:horizontal_tree") | minetest.register_alias("moreblocks:horizontaltree", "moreblocks:horizontal_tree") | ||||||
| minetest.register_alias("moreblocks:horizontaljungletree", "moreblocks:horizontal_jungle_tree") | minetest.register_alias("moreblocks:horizontaljungletree", "moreblocks:horizontal_jungle_tree") | ||||||
| @@ -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:splitstonesquare","moreblocks:split_stone_tile") | ||||||
| minetest.register_alias("moreblocks:allfacestree","moreblocks:all_faces_tree") | 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} | local horizontal_tree_convert_facedir = {7, 12, 9, 18} | ||||||
|  |  | ||||||
| minetest.register_abm({ | minetest.register_abm({ | ||||||
|   | |||||||
							
								
								
									
										10
									
								
								mods/moreblocks/circular_saw.lua
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| @@ -1,12 +1,4 @@ | |||||||
| --[[ | local S = moreblocks.gettext | ||||||
| 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 |  | ||||||
|  |  | ||||||
| circular_saw = {} | circular_saw = {} | ||||||
|  |  | ||||||
| circular_saw.known_stairs = setmetatable({}, { | 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 = {} | moreblocks.config = {} | ||||||
|  |  | ||||||
| local function getbool_default(setting, default) | local function getbool_default(setting, default) | ||||||
|   | |||||||
							
								
								
									
										7
									
								
								mods/moreblocks/crafting.lua
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| @@ -1,9 +1,4 @@ | |||||||
| --[[ | -- Crafting | ||||||
| More Blocks: crafting recipes |  | ||||||
|  |  | ||||||
| Copyright (c) 2011-2015 Calinou and contributors. |  | ||||||
| Licensed under the zlib license. See LICENSE.md for more information. |  | ||||||
| --]] |  | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft({ | ||||||
| 	output = "default:stick", | 	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 (moreblocks) by Calinou | ||||||
| ** More Blocks ** | -- Licensed under the zlib/ license for code and CC BY-SA 3.0 for textures, see LICENSE.txt for info. | ||||||
| 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. |  | ||||||
| ===================================================================== |  | ||||||
| --]] | --]] | ||||||
|  |  | ||||||
| moreblocks = {} | moreblocks = {} | ||||||
|  |  | ||||||
| local S | -- Load translation library if intllib is installed | ||||||
| if minetest.get_modpath("intllib") then |  | ||||||
| 	S = intllib.Getter() | 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 | else | ||||||
| 	S = function(s) return s end | 	S = function(s) return s end | ||||||
| end | end | ||||||
| moreblocks.intllib = S | moreblocks.gettext = S | ||||||
|  |  | ||||||
| local modpath = minetest.get_modpath("moreblocks") | local modpath = minetest.get_modpath("moreblocks") | ||||||
|  |  | ||||||
| @@ -29,5 +27,6 @@ dofile(modpath .. "/crafting.lua") | |||||||
| dofile(modpath .. "/aliases.lua") | dofile(modpath .. "/aliases.lua") | ||||||
|  |  | ||||||
| if minetest.setting_getbool("log_mods") then | if minetest.setting_getbool("log_mods") then | ||||||
| 	minetest.log("action", S("[moreblocks] loaded.")) | 	print(S("[moreblocks] loaded.")) | ||||||
| end | 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 @@ | |||||||
| --[[ | local S = moreblocks.gettext | ||||||
| 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 sound_wood = default.node_sound_wood_defaults() | local sound_wood = default.node_sound_wood_defaults() | ||||||
| local sound_stone = default.node_sound_stone_defaults() | local sound_stone = default.node_sound_stone_defaults() | ||||||
| @@ -123,11 +116,6 @@ local nodes = { | |||||||
| 		groups = {cracky = 2}, | 		groups = {cracky = 2}, | ||||||
| 		sounds = sound_stone, | 		sounds = sound_stone, | ||||||
| 	}, | 	}, | ||||||
| 	["cobble_compressed"] = { |  | ||||||
| 		description = S("Compressed Cobblestone"), |  | ||||||
| 		groups = {cracky = 1}, |  | ||||||
| 		sounds = sound_stone, |  | ||||||
| 	}, |  | ||||||
| 	["plankstone"] = { | 	["plankstone"] = { | ||||||
| 		description = S("Plankstone"), | 		description = S("Plankstone"), | ||||||
| 		groups = {cracky = 3}, | 		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 | 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: | -- Redefinitions of some default crafting recipes: | ||||||
|  |  | ||||||
| minetest.register_craft({ | minetest.register_craft({ | ||||||
| @@ -78,11 +71,6 @@ minetest.override_item("default:papyrus", { | |||||||
| 	sunlight_propagates = true, | 	sunlight_propagates = true, | ||||||
| }) | }) | ||||||
|  |  | ||||||
| minetest.override_item("default:fence_wood", { |  | ||||||
| 	paramtype = "light", |  | ||||||
| 	sunlight_propagates = true, |  | ||||||
| }) |  | ||||||
|  |  | ||||||
| minetest.override_item("default:junglegrass", { | minetest.override_item("default:junglegrass", { | ||||||
| 	paramtype = "light", | 	paramtype = "light", | ||||||
| 	sunlight_propagates = true, | 	sunlight_propagates = true, | ||||||
|   | |||||||
							
								
								
									
										3
									
								
								mods/moreblocks/stairsplus/API.md
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| @@ -1,5 +1,6 @@ | |||||||
| API documentation for Stairs+ | API documentation for Stairs+ | ||||||
| ============================= | ================================ | ||||||
|  | - - - - - - - - - - - - - - - - | ||||||
|  |  | ||||||
| * `stairsplus:register_all(modname, subname, recipeitem, fields)` | * `stairsplus:register_all(modname, subname, recipeitem, fields)` | ||||||
| 	Registers a stair, slab, panel, microblock, and any other types of | 	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) | local function register_stairsplus_alias(modname, origname, newname) | ||||||
| 	minetest.register_alias(modname.. ":slab_" ..origname, "moreblocks:slab_" ..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", "stone", "stone") | ||||||
| register_stairsplus_alias("stairsplus", "wood", "wood") | register_stairsplus_alias("stairsplus", "wood", "wood") | ||||||
| register_stairsplus_alias("stairsplus", "pinewood", "pinewood") |  | ||||||
| register_stairsplus_alias("stairsplus", "cobble", "cobble") | register_stairsplus_alias("stairsplus", "cobble", "cobble") | ||||||
| register_stairsplus_alias("stairsplus", "brick", "brick") | register_stairsplus_alias("stairsplus", "brick", "brick") | ||||||
| register_stairsplus_alias("stairsplus", "sandstone", "sandstone") | register_stairsplus_alias("stairsplus", "sandstone", "sandstone") | ||||||
| register_stairsplus_alias("stairsplus", "glass", "glass") | register_stairsplus_alias("stairsplus", "glass", "glass") | ||||||
| register_stairsplus_alias("stairsplus", "tree", "tree") | register_stairsplus_alias("stairsplus", "tree", "tree") | ||||||
| register_stairsplus_alias("stairsplus", "jungletree", "jungletree") | register_stairsplus_alias("stairsplus", "jungletree", "jungletree") | ||||||
| register_stairsplus_alias("stairsplus", "pinetree", "pinetree") |  | ||||||
| register_stairsplus_alias("stairsplus", "desert_stone", "desert_stone") | register_stairsplus_alias("stairsplus", "desert_stone", "desert_stone") | ||||||
| register_stairsplus_alias("stairsplus", "steelblock", "steelblock") | register_stairsplus_alias("stairsplus", "steelblock", "steelblock") | ||||||
| register_stairsplus_alias("stairsplus", "mossycobble", "mossycobble") | 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 | -- Function to convert all stairs/slabs/etc nodes from | ||||||
| -- inverted, wall, etc to regular + 6d facedir | -- inverted, wall, etc to regular + 6d facedir | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										19
									
								
								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> | -- Nodes will be called <modname>:{stair,slab,panel,micro}_<subname> | ||||||
|  |  | ||||||
| local modpath = minetest.get_modpath("moreblocks").. "/stairsplus" | local modpath = minetest.get_modpath("moreblocks").. "/stairsplus" | ||||||
| @@ -25,7 +18,6 @@ function stairsplus:register_all(modname, subname, recipeitem, fields) | |||||||
| 	end | 	end | ||||||
| 	self:register_stair(modname, subname, recipeitem, fields) | 	self:register_stair(modname, subname, recipeitem, fields) | ||||||
| 	self:register_slab (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_panel(modname, subname, recipeitem, fields) | ||||||
| 	self:register_micro(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. | 	-- self:register_6dfacedir_conversion(modname, subname) -- Not needed as of Q3 2013, uncomment to fix old maps. | ||||||
| @@ -44,9 +36,8 @@ end | |||||||
|  |  | ||||||
| -- dofile(modpath.. "/aliases.lua") -- Not needed as of Q2 2013, uncomment to fix old maps. | -- dofile(modpath.. "/aliases.lua") -- Not needed as of Q2 2013, uncomment to fix old maps. | ||||||
| -- dofile(modpath.. "/conversion.lua") -- Not needed as of Q2 2013, uncomment to fix old maps. | -- dofile(modpath.. "/conversion.lua") -- Not needed as of Q2 2013, uncomment to fix old maps. | ||||||
| dofile(modpath .. "/stairs.lua") | dofile(modpath.. "/stairs.lua") | ||||||
| dofile(modpath .. "/slabs.lua") | dofile(modpath.. "/slabs.lua") | ||||||
| dofile(modpath .. "/slopes.lua") | dofile(modpath.. "/panels.lua") | ||||||
| dofile(modpath .. "/panels.lua") | dofile(modpath.. "/microblocks.lua") | ||||||
| dofile(modpath .. "/microblocks.lua") | dofile(modpath.. "/registrations.lua") | ||||||
| dofile(modpath .. "/registrations.lua") |  | ||||||
|   | |||||||
							
								
								
									
										15
									
								
								mods/moreblocks/stairsplus/microblocks.lua
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| @@ -1,11 +1,10 @@ | |||||||
| --[[ | local S -- Load translation library if intllib is installed: | ||||||
| More Blocks: microblock definitions | if (minetest.get_modpath("intllib")) then | ||||||
|  | 	dofile(minetest.get_modpath("intllib").."/intllib.lua") | ||||||
| Copyright (c) 2011-2015 Calinou and contributors. | 	S = intllib.Getter(minetest.get_current_modname()) | ||||||
| Licensed under the zlib license. See LICENSE.md for more information. | else | ||||||
| --]] | 	S = function(s) return s end | ||||||
|  | end | ||||||
| local S = moreblocks.intllib |  | ||||||
|  |  | ||||||
| -- Node will be called <modname>:micro_<subname> | -- Node will be called <modname>:micro_<subname> | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										15
									
								
								mods/moreblocks/stairsplus/panels.lua
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| @@ -1,11 +1,10 @@ | |||||||
| --[[ | local S -- Load translation library if intllib is installed: | ||||||
| More Blocks: panel definitions | if (minetest.get_modpath("intllib")) then | ||||||
|  | 	dofile(minetest.get_modpath("intllib").."/intllib.lua") | ||||||
| Copyright (c) 2011-2015 Calinou and contributors. | 	S = intllib.Getter(minetest.get_current_modname()) | ||||||
| Licensed under the zlib license. See LICENSE.md for more information. | else | ||||||
| --]] | 	S = function(s) return s end | ||||||
|  | end | ||||||
| local S = moreblocks.intllib |  | ||||||
|  |  | ||||||
| -- Node will be called <modname>:panel_<subname> | -- 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: | local default_nodes = { -- Default stairs/slabs/panels/microblocks: | ||||||
| 	"stone", | 	"stone", | ||||||
| 	"cobble", | 	"cobble", | ||||||
| @@ -17,14 +10,12 @@ local default_nodes = { -- Default stairs/slabs/panels/microblocks: | |||||||
| 	"bronzeblock", | 	"bronzeblock", | ||||||
| 	"diamondblock", | 	"diamondblock", | ||||||
| 	"desert_stone", | 	"desert_stone", | ||||||
| 	"desert_cobble", | --	"desert_cobble", | ||||||
| 	"glass", | 	"glass", | ||||||
| 	"tree", | 	"tree", | ||||||
| 	"wood", | 	"wood", | ||||||
| 	"jungletree", | 	"jungletree", | ||||||
| 	"junglewood", | 	"junglewood", | ||||||
| 	"pinetree", |  | ||||||
| 	"pinewood", |  | ||||||
| 	"obsidian", | 	"obsidian", | ||||||
| 	"obsidian_glass", | 	"obsidian_glass", | ||||||
| 	"stonebrick", | 	"stonebrick", | ||||||
|   | |||||||
							
								
								
									
										21
									
								
								mods/moreblocks/stairsplus/slabs.lua
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| @@ -1,11 +1,10 @@ | |||||||
| --[[ | local S -- Load translation library if intllib is installed: | ||||||
| More Blocks: slab definitions | if (minetest.get_modpath("intllib")) then | ||||||
|  | 	dofile(minetest.get_modpath("intllib").."/intllib.lua") | ||||||
| Copyright (c) 2011-2015 Calinou and contributors. | 	S = intllib.Getter(minetest.get_current_modname()) | ||||||
| Licensed under the zlib license. See LICENSE.md for more information. | else | ||||||
| --]] | 	S = function(s) return s end | ||||||
|  | end | ||||||
| local S = moreblocks.intllib |  | ||||||
|  |  | ||||||
| -- Node will be called <modname>:slab_<subname> | -- Node will be called <modname>:slab_<subname> | ||||||
|  |  | ||||||
| @@ -76,11 +75,11 @@ function stairsplus:register_slab(modname, subname, recipeitem, fields) | |||||||
| 		end | 		end | ||||||
| 		def.description = desc | 		def.description = desc | ||||||
| 		if fields.drop then | 		if fields.drop then | ||||||
| 			def.drop = modname.. ":slab_" .. fields.drop .. alternate | 			def.drop = modname.. ":slab_" ..fields.drop..alternate | ||||||
| 		end | 		end | ||||||
| 		minetest.register_node(":" .. modname .. ":slab_" .. subname .. alternate, def) | 		minetest.register_node(":" ..modname.. ":slab_" ..subname..alternate, def) | ||||||
| 	end | 	end | ||||||
| 	minetest.register_alias("stairs:slab_" .. subname, modname .. ":slab_" .. subname) | 	minetest.register_alias("stairs:slab_" ..subname, modname.. ":slab_" ..subname) | ||||||
|  |  | ||||||
| 	-- Some saw-less recipes: | 	-- Some saw-less recipes: | ||||||
|  |  | ||||||
|   | |||||||
| @@ -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 |  | ||||||
							
								
								
									
										21
									
								
								mods/moreblocks/stairsplus/stairs.lua
									
									
									
									
									
										
										
										Normal file → Executable file
									
								
							
							
						
						| @@ -1,11 +1,10 @@ | |||||||
| --[[ | local S -- Load translation library if intllib is installed: | ||||||
| More Blocks: stair definitions | if (minetest.get_modpath("intllib")) then | ||||||
|  | 	dofile(minetest.get_modpath("intllib").."/intllib.lua") | ||||||
| Copyright (c) 2011-2015 Calinou and contributors. | 	S = intllib.Getter(minetest.get_current_modname()) | ||||||
| Licensed under the zlib license. See LICENSE.md for more information. | else | ||||||
| --]] | 	S = function(s) return s end | ||||||
|  | end | ||||||
| local S = moreblocks.intllib |  | ||||||
|  |  | ||||||
| -- Node will be called <modname>:stair_<subname> | -- Node will be called <modname>:stair_<subname> | ||||||
|  |  | ||||||
| @@ -117,11 +116,11 @@ function stairsplus:register_stair(modname, subname, recipeitem, fields) | |||||||
| 		end | 		end | ||||||
| 		def.description = desc | 		def.description = desc | ||||||
| 		if fields.drop then | 		if fields.drop then | ||||||
| 			def.drop = modname .. ":stair_" .. fields.drop .. alternate | 			def.drop = modname.. ":stair_" ..fields.drop..alternate | ||||||
| 		end | 		end | ||||||
| 		minetest.register_node(":" .. modname .. ":stair_" .. subname .. alternate, def) | 		minetest.register_node(":" ..modname.. ":stair_" ..subname..alternate, def) | ||||||
| 	end | 	end | ||||||
| 	minetest.register_alias("stairs:stair_" .. subname, modname .. ":stair_" .. subname) | 	minetest.register_alias(":stairs:stair_" ..subname, modname.. ":stair_" ..subname) | ||||||
|  |  | ||||||
| 	-- Some saw-less recipes: | 	-- 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 |