diff options
| -rw-r--r-- | circular_saw.lua | 103 | ||||
| -rw-r--r-- | init.lua | 1 | ||||
| -rw-r--r-- | stairsplus.lua | 37 | ||||
| -rw-r--r-- | stairsplus/microblocks.lua | 28 | ||||
| -rw-r--r-- | stairsplus/panels.lua | 28 | ||||
| -rw-r--r-- | stairsplus/slabs.lua | 32 | ||||
| -rw-r--r-- | stairsplus/stairs.lua | 101 | ||||
| -rw-r--r-- | textures/invisible.png | bin | 0 -> 151 bytes | 
8 files changed, 135 insertions, 195 deletions
diff --git a/circular_saw.lua b/circular_saw.lua index 9747cda..88a5325 100644 --- a/circular_saw.lua +++ b/circular_saw.lua @@ -13,7 +13,7 @@ circular_saw = {};  circular_saw.known_stairs = {} --- Register known moreblocks stairs +-- Register known moreblocks stairs.  for i,v in ipairs({"default:wood", "default:stone", "default:cobble", "default:mossycobble", "default:brick", "default:sandstone",  				"default:steelblock", "default:desert_stone", "default:glass", "default:tree", "default:jungletree", "default:stonebrick",  				"default:obsidian", "default:obsidian_glass", "default:stone_bricks", "default:junglewood", "default:goldblock", @@ -32,9 +32,9 @@ end  circular_saw.cost_in_microblocks = { 1, 1, 1, 1, 1, 1, 1, 2,  									 2, 3, 2, 4, 2, 4, 5, 6,  									 7, 1, 1, 2, 4, 6, 7, 8, -									 3, 4, 0, 0, 0, 0, 0, 0, }; +									 3, 1, 1, 2, 4, 0, 0, 0, }; --- anz: amount of input material in microblocks +-- anz: amount of input material in microblocks.  circular_saw.get_stair_output_inv = function(modname, material, anz, max)  	local max_offered = 99; @@ -46,7 +46,7 @@ circular_saw.get_stair_output_inv = function(modname, material, anz, max)  	end -	-- If there is nothing inside display empty inventory +	-- If there is nothing inside display empty inventory.  	if(anz < 1) then  		return { "",  "",  "",  "",  "",  "",  "",   				"",  "",  "",  "",  "",  "",  "",  @@ -84,6 +84,9 @@ circular_saw.get_stair_output_inv = function(modname, material, anz, max)  	modname .. ":slab_"  .. material .. "_15 "                     .. math.min(math.floor(anz/8), max_offered),  	modname .. ":stair_" .. material .. "_half "                   .. math.min(math.floor(anz/3), max_offered), +	modname .. ":stair_" .. material .. "_alt_1 "                  .. math.min(math.floor(anz/1), max_offered), +	modname .. ":stair_" .. material .. "_alt_2 "                  .. math.min(math.floor(anz/1), max_offered), +	modname .. ":stair_" .. material .. "_alt_4 "                  .. math.min(math.floor(anz/2), max_offered),  	modname .. ":stair_" .. material .. "_alt "                    .. math.min(math.floor(anz/4), max_offered),  	"",  @@ -91,7 +94,7 @@ circular_saw.get_stair_output_inv = function(modname, material, anz, max)  end --- Reset empty circular_saw after last full block has been taken out (or the circular_saw has been placed the first tiem); note: max_offered is not reset +-- Reset empty circular_saw after last full block has been taken out (or the circular_saw has been placed the first tiem); note: max_offered is not reset.  circular_saw.reset_circular_saw = function(pos)  	local meta = minetest.env:get_meta(pos);  	local inv  = meta:get_inventory(); @@ -105,7 +108,7 @@ circular_saw.reset_circular_saw = function(pos)  end --- Player has taken something out of the box or placed something inside; that amounts to count microblocks +-- Player has taken something out of the box or placed something inside; that amounts to count microblocks.  circular_saw.update_inventory = function(pos, amount)  	local meta = minetest.env:get_meta(pos);  	local inv  = meta:get_inventory(); @@ -122,10 +125,10 @@ circular_saw.update_inventory = function(pos, amount)  	end  	local stack = inv:get_stack("input",  1); -	-- At least one "normal" block is necessary to see what kind of stairs are requested +	-- At least one "normal" block is necessary to see what kind of stairs are requested.  	if(stack:is_empty()) then -		-- Any microblocks not taken out yet are now lost (covers material loss in the machine) +		-- Any microblocks not taken out yet are now lost (covers material loss in the machine).  		circular_saw.reset_circular_saw(pos);  		return; @@ -135,45 +138,45 @@ circular_saw.update_inventory = function(pos, amount)  	local modname  = liste[1];  	local material = liste[2]; -	-- Display as many full blocks as possible +	-- Display as many full blocks as possible.  	inv:set_list("input",   { modname.. ":" .. material .. " " .. math.floor(   (akt + amount) / 8) });  	-- The stairnodes made of default nodes use moreblocks namespace, other mods keep own.  	if(modname == "default") then modname = "moreblocks"; end  	--print("circular_saw set to " ..modname.. " : " ..material.. " with " .. (akt+amount) .. " microblocks."); -	-- 0-7 microblocks may remain as a rest +	-- 0-7 microblocks may remain as a rest.  	inv:set_list("micro",   { modname.. ":micro_" .. material .. "_bottom " .. ((akt + amount) % 8) }); -	-- Display  +	-- Display.  	inv:set_list("output",  circular_saw.get_stair_output_inv(modname, material,  (akt + amount), meta:get_string("max_offered"))); -	-- Store how many microblocks are available +	-- Store how many microblocks are available.  	meta:set_int("anz",  (akt+amount));  	meta:set_string("infotext",  S("Circular saw, working with %s (owned by %s)"):format(material,(meta:get_string("owner") or "")));  end --- The amount of items offered per shape can be configured +-- The amount of items offered per shape can be configured.  circular_saw.on_receive_fields = function(pos, formname, fields, sender)  	local meta = minetest.env:get_meta(pos);  	if tonumber(fields.max_offered) and tonumber(fields.max_offered) > 0 and tonumber(fields.max_offered) < 99 then  		meta:set_string("max_offered",  fields.max_offered); -		circular_saw.update_inventory(pos, 0); -- update to show the correct number of items +		circular_saw.update_inventory(pos, 0); -- Update to show the correct number of items.  	end  end --- Moving the inventory of the circular_saw around is not allowed because it is a fictional inventory +-- Moving the inventory of the circular_saw around is not allowed because it is a fictional inventory.  circular_saw.allow_metadata_inventory_move = function(pos, from_list, from_index, to_list, to_index, count, player) -	-- Moving inventory around would be rather immpractical and make things more difficult to calculate +	-- Moving inventory around would be rather immpractical and make things more difficult to calculate.  	return 0;  end --- Only input- and recycle-slot are intended as input slots +-- Only input- and recycle-slot are intended as input slots.  circular_saw.allow_metadata_inventory_put = function(pos, listname, index, stack, player) -	-- The player is not allowed to put something in there +	-- The player is not allowed to put something in there.  	if(listname == "output" or listname == "micro") then  		return 0;  	end @@ -181,12 +184,12 @@ circular_saw.allow_metadata_inventory_put = function(pos, listname, index, stack  	local meta = minetest.env:get_meta(pos);  	local inv  = meta:get_inventory(); -	-- Only alow those items that are offered in the output inventory to be recycled +	-- Only alow those items that are offered in the output inventory to be recycled.  	if(listname == "recycle" and not(inv:contains_item("output",  stack:get_name()))) then  		return 0;  	end -	-- Only accept certain blocks as input which are known to be craftable into stairs +	-- Only accept certain blocks as input which are known to be craftable into stairs.  	if(listname == "input") then  		for i,v in ipairs(circular_saw.known_stairs) do @@ -203,16 +206,16 @@ circular_saw.allow_metadata_inventory_put = function(pos, listname, index, stack  	return stack:get_count()  end --- Taking is allowed from all slots (even the internal microblock slot) +-- Taking is allowed from all slots (even the internal microblock slot). --- Putting something in is slightly more complicated than taking anything because we have to make sure it is of a suitable material +-- Putting something in is slightly more complicated than taking anything because we have to make sure it is of a suitable material.  circular_saw.on_metadata_inventory_put = function(pos, listname, index, stack, player) -	-- We need to find out if the circular_saw is already set to a specific material or not +	-- We need to find out if the circular_saw is already set to a specific material or not.  	local meta = minetest.env:get_meta(pos);  	local inv  = meta:get_inventory(); -	-- Putting something into the input slot is only possible if that had been empty before or did contain something of the same material +	-- Putting something into the input slot is only possible if that had been empty before or did contain something of the same material.  	if(    listname=="input") then  		if( not( inv:is_empty("input"))) then @@ -223,12 +226,12 @@ circular_saw.on_metadata_inventory_put = function(pos, listname, index, stack, p  			end  		end -		-- Each new block is worth 8 microblocks +		-- Each new block is worth 8 microblocks.  		circular_saw.update_inventory(pos, 8 * stack:get_count());  	elseif(listname=="recycle") then -		-- Lets look which shape this represents +		-- Lets look which shape this represents.  		for i,v in ipairs(inv:get_list("output")) do  		 if(v:get_name() == stack:get_name()) then @@ -236,36 +239,36 @@ circular_saw.on_metadata_inventory_put = function(pos, listname, index, stack, p  			local value = circular_saw.cost_in_microblocks[ i ] * stack:get_count();  			--print("\nRecycling " .. (v:get_name()) .. " into " ..value.. " microblocks."); -			-- We get value microblocks back +			-- We get value microblocks back.  			circular_saw.update_inventory(pos, value);  		 end  		end  	end  end --- The player takes something +-- The player takes something.  circular_saw.on_metadata_inventory_take = function(pos, listname, index, stack, player) -	-- If it is one of the offered stairs: find out how many microblocks have to be substracted -	if(listname=="output") then +	-- If it is one of the offered stairs: find out how many microblocks have to be substracted. +	if (listname=="output") then -		-- We do know how much each block at each position costs +		-- We do know how much each block at each position costs.  		local cost = circular_saw.cost_in_microblocks[ index ] * stack:get_count();  		circular_saw.update_inventory(pos, -1 * cost); -	elseif(listname=="micro") then +	elseif (listname=="micro") then -		-- Each microblock costs 1 microblock +		-- Each microblock costs 1 microblock.  		circular_saw.update_inventory(pos, -1 * 1 * stack:get_count()); -	elseif(listname=="input") then +	elseif (listname=="input") then -		-- Each normal (= full) block taken costs 8 microblocks +		-- Each normal (= full) block taken costs 8 microblocks.  		circular_saw.update_inventory(pos, -1 * 8 * stack:get_count());  	end -	-- The recycle field plays no role here since it is processed immediately +	-- The recycle field plays no role here since it is processed immediately.  end @@ -274,7 +277,7 @@ circular_saw.on_construct_init = function(pos, formspec)  	local meta = minetest.env:get_meta(pos)  	meta:set_string("formspec",  formspec);  -	meta:set_int(   "anz",          0); -- No microblocks inside yet +	meta:set_int(   "anz",          0); -- No microblocks inside yet.  	meta:set_string("max_offered",  99); -- How many items of this kind are offered by default?  	meta:set_string("infotext",     S("Circular saw, empty")) @@ -310,14 +313,14 @@ minetest.register_node("moreblocks:circular_saw",  {  		node_box = {  			type = "fixed",   			fixed = { -				{-0.4, -0.5, -0.4, -0.25, 0.25, -0.25}, -- Leg -				{0.25, -0.5, 0.25, 0.4, 0.25, 0.4}, -- Leg -				{-0.4, -0.5, 0.25, -0.25, 0.25, 0.4}, -- Leg  -				{0.25, -0.5, -0.4, 0.4, 0.25, -0.25}, -- Leg -				{-0.5, 0.25, -0.5, 0.5, 0.375, 0.5}, -- Tabletop -				{-0.01, 0.4375, -0.125, 0.01, 0.5, 0.125}, -- Saw blade (top) -				{-0.01, 0.375, -0.1875, 0.01, 0.4375, 0.1875}, -- Saw blade (bottom) -				{-0.25, -0.0625, -0.25, 0.25, 0.25, 0.25}, -- Motor case +				{-0.4, -0.5, -0.4, -0.25, 0.25, -0.25}, -- leg +				{0.25, -0.5, 0.25, 0.4, 0.25, 0.4}, -- leg +				{-0.4, -0.5, 0.25, -0.25, 0.25, 0.4}, -- leg  +				{0.25, -0.5, -0.4, 0.4, 0.25, -0.25}, -- leg +				{-0.5, 0.25, -0.5, 0.5, 0.375, 0.5}, -- tabletop +				{-0.01, 0.4375, -0.125, 0.01, 0.5, 0.125}, -- saw blade (top) +				{-0.01, 0.375, -0.1875, 0.01, 0.4375, 0.1875}, -- saw blade (bottom) +				{-0.25, -0.0625, -0.25, 0.25, 0.25, 0.25}, -- motor case  			},  		},  		tiles = {"moreblocks_circular_saw_top.png",  "moreblocks_circular_saw_bottom.png",  "moreblocks_circular_saw_side.png"}, @@ -344,7 +347,7 @@ minetest.register_node("moreblocks:circular_saw",  {  			return circular_saw.can_dig(pos, player);  		end, -		-- Set owner of this circular saw +		-- Set owner of this circular saw.  		after_place_node = function(pos, placer)  			local meta = minetest.env:get_meta(pos); @@ -352,7 +355,7 @@ minetest.register_node("moreblocks:circular_saw",  {  			meta:set_string("infotext",  S("Circular saw is empty (owned by %s)"):format((placer:get_player_name() or "")));  		end, -		-- The amount of items offered per shape can be configured +		-- The amount of items offered per shape can be configured.  		on_receive_fields = function(pos, formname, fields, sender)  			return circular_saw.on_receive_fields(pos, formname, fields, sender);  		end, @@ -361,14 +364,14 @@ minetest.register_node("moreblocks:circular_saw",  {  			return circular_saw.allow_metadata_inventory_move(pos, from_list, from_index, to_list, to_index, count, player);       		end, -		-- Only input- and recycle-slot are intended as input slots +		-- Only input- and recycle-slot are intended as input slots.  		allow_metadata_inventory_put = function(pos, listname, index, stack, player)  			return circular_saw.allow_metadata_inventory_put(pos, listname, index, stack, player);   		end, -		-- Taking is allowed from all slots (even the internal microblock slot); moving is forbidden +		-- Taking is allowed from all slots (even the internal microblock slot); moving is forbidden. -		-- Putting something in is slightly more complicated than taking anything because we have to make sure it is of a suitable material +		-- Putting something in is slightly more complicated than taking anything because we have to make sure it is of a suitable material.  		on_metadata_inventory_put = function(pos, listname, index, stack, player)  			return circular_saw.on_metadata_inventory_put(pos, listname, index, stack, player);  		end, @@ -299,6 +299,7 @@ minetest.register_node("moreblocks:glow_glass", {  	groups = {snappy=2,cracky=3,oddly_breakable_by_hand=3},
  	sounds = default.node_sound_glass_defaults(),
  })
 +
  minetest.register_node("moreblocks:trap_glow_glass", {
  	description = S("Trap Glow Glass"),
  	drawtype = "glasslike",
 diff --git a/stairsplus.lua b/stairsplus.lua index cd902d9..3f85902 100644 --- a/stairsplus.lua +++ b/stairsplus.lua @@ -119,7 +119,7 @@ end  -- Default stairs/slabs/panels/microblocks.  register_stair_slab_panel_micro("moreblocks", "wood", "default:wood", -	{snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, +	{snappy=1, choppy=2, oddly_breakable_by_hand=2, flammable=3},  	{"default_wood.png"},  	"Wooden",  	"wood", @@ -154,14 +154,14 @@ register_stair_slab_panel_micro("moreblocks", "brick", "default:brick",  	0)  register_stair_slab_panel_micro("moreblocks", "sandstone", "default:sandstone", -	{crumbly=2,cracky=2}, +	{crumbly=2, cracky=2},  	{"default_sandstone.png"},  	"Sandstone",  	"sandstone",  	0)  register_stair_slab_panel_micro("moreblocks", "steelblock", "default:steelblock", -	{cracky=1,level=2}, +	{cracky=1, level=2},  	{"default_steel_block.png"},  	"Steel Block",  	"steelblock", @@ -175,21 +175,21 @@ register_stair_slab_panel_micro("moreblocks", "goldblock", "default:goldblock",  	0)  register_stair_slab_panel_micro("moreblocks", "copperblock", "default:copperblock", -	{cracky=1,level=2}, +	{cracky=1, level=2},  	{"default_copper_block.png"},  	"Copper Block",  	"copperblock",  	0)  register_stair_slab_panel_micro("moreblocks", "bronzeblock", "default:bronzeblock", -	{cracky=1,level=2}, +	{cracky=1, level=2},  	{"default_bronze_block.png"},  	"Bronze Block",  	"bronzeblock",  	0)  register_stair_slab_panel_micro("moreblocks", "diamondblock", "default:diamondblock", -	{cracky=1,level=3}, +	{cracky=1, level=3},  	{"default_diamond_block.png"},  	"Diamond Block",  	"diamondblock", @@ -203,35 +203,35 @@ register_stair_slab_panel_micro("moreblocks", "desert_stone", "default:desert_st  	0)  register_stair_slab_panel_micro("moreblocks", "glass", "default:glass", -	{snappy=2,cracky=3,oddly_breakable_by_hand=3}, +	{snappy=2, cracky=3, oddly_breakable_by_hand=3},  	{"moreblocks_glass_stairsplus.png"},  	"Glass",  	"glass",  	0)  register_stair_slab_panel_micro("moreblocks", "tree", "default:tree", -	{tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, +	{tree=1, snappy=1, choppy=2, oddly_breakable_by_hand=1, flammable=2},  	{"default_tree_top.png", "default_tree_top.png", "default_tree.png"},  	"Tree",  	"tree",  	0)  register_stair_slab_panel_micro("moreblocks", "jungletree", "default:jungletree", -	{tree=1,snappy=1,choppy=2,oddly_breakable_by_hand=1,flammable=2}, +	{tree=1, snappy=1, choppy=2, oddly_breakable_by_hand=1, flammable=2},  	{"default_jungletree_top.png", "default_jungletree_top.png", "default_jungletree.png"},  	"Jungle Tree",  	"jungletree",  	0)  register_stair_slab_panel_micro("moreblocks", "obsidian", "default:obsidian", -	{cracky=1,level=2}, +	{cracky=1, level=2},  	{"default_obsidian.png"},  	"Obsidian",  	"obsidian",  	0)  register_stair_slab_panel_micro("moreblocks", "obsidian_glass", "default:obsidian_glass", -	{cracky=3,oddly_breakable_by_hand=3}, +	{cracky=3, oddly_breakable_by_hand=3},  	{"moreblocks_obsidian_glass_stairsplus.png"},  	"Obsidian Glass",  	"obsidian_glass", @@ -259,6 +259,13 @@ register_stair_slab_panel_micro("moreblocks", "sandstonebrick", "default:sandsto  	0)  -- More Blocks stairs/slabs/panels/microblocks + +register_stair_slab_panel_micro("moreblocks", "invisible", "air", +	{unbreakable=1, not_in_creative_inventory=1}, +	{"invisible.png"}, +	"Invisible", +	"invisible", +	0)  register_stair_slab_panel_micro("moreblocks", "circle_stone_bricks", "moreblocks:circle_stone_bricks",  	{cracky=3}, @@ -377,14 +384,14 @@ register_stair_slab_panel_micro("moreblocks", "coal_glass", "moreblocks:coal_gla  	0)  register_stair_slab_panel_micro("moreblocks", "iron_glass", "moreblocks:iron_glass", -	{snappy=2,cracky=3,oddly_breakable_by_hand=3}, +	{snappy=2, cracky=3, oddly_breakable_by_hand=3},  	{"moreblocks_iron_glass_stairsplus.png"},  	"Iron Glass",  	"iron_glass",  	0)  register_stair_slab_panel_micro("moreblocks", "wood_tile", "moreblocks:wood_tile", -	{snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, +	{snappy=1, choppy=2, oddly_breakable_by_hand=2, flammable=3},  	{"moreblocks_wood_tile.png", "moreblocks_wood_tile.png", "moreblocks_wood_tile.png",  	"moreblocks_wood_tile.png", "moreblocks_wood_tile.png^[transformR90", "moreblocks_wood_tile.png^[transformR90"},  	"Wooden Tile", @@ -392,7 +399,7 @@ register_stair_slab_panel_micro("moreblocks", "wood_tile", "moreblocks:wood_tile  	0)  register_stair_slab_panel_micro("moreblocks", "wood_tile_center", "moreblocks:wood_tile_center", -	{snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, +	{snappy=1, choppy=2, oddly_breakable_by_hand=2, flammable=3},  	{"moreblocks_wood_tile_center.png", "moreblocks_wood_tile_center.png", "moreblocks_wood_tile_center.png",  	"moreblocks_wood_tile_center.png", "moreblocks_wood_tile_center.png^[transformR90", "moreblocks_wood_tile_center.png^[transformR90"},  	"Centered Wooden Tile", @@ -400,7 +407,7 @@ register_stair_slab_panel_micro("moreblocks", "wood_tile_center", "moreblocks:wo  	0)  register_stair_slab_panel_micro("moreblocks", "wood_tile_full", "moreblocks:wood_tile_full", -	{snappy=1,choppy=2,oddly_breakable_by_hand=2,flammable=3}, +	{snappy=1, choppy=2, oddly_breakable_by_hand=2, flammable=3},  	{"moreblocks_wood_tile_full.png", "moreblocks_wood_tile_full.png", "moreblocks_wood_tile_full.png",  	"moreblocks_wood_tile_full.png", "moreblocks_wood_tile_full.png^[transformR90", "moreblocks_wood_tile_full.png^[transformR90"},  	"Full Wooden Tile", diff --git a/stairsplus/microblocks.lua b/stairsplus/microblocks.lua index 6cbb7d4..30a95ea 100644 --- a/stairsplus/microblocks.lua +++ b/stairsplus/microblocks.lua @@ -26,10 +26,6 @@ function register_micro(modname, subname, recipeitem, groups, images, descriptio  			type = "fixed",  			fixed = {-0.5, -0.5, 0, 0, 0, 0.5},  		}, -		selection_box = { -			type = "fixed", -			fixed = {-0.5, -0.5, 0, 0, 0, 0.5}, -		},  		sounds = default.node_sound_stone_defaults(),  		on_place = stairsplus_rotate_and_place  	}) @@ -48,10 +44,6 @@ function register_micro(modname, subname, recipeitem, groups, images, descriptio  			type = "fixed",  			fixed = {-0.5, -0.5, 0, 0, -0.4375, 0.5},  		}, -		selection_box = { -			type = "fixed", -			fixed = {-0.5, -0.5, 0, 0, -0.4375, 0.5}, -		},  		sounds = default.node_sound_stone_defaults(),  		on_place = stairsplus_rotate_and_place  	}) @@ -70,10 +62,6 @@ function register_micro(modname, subname, recipeitem, groups, images, descriptio  			type = "fixed",  			fixed = {-0.5, -0.5, 0, 0, -0.375, 0.5},  		}, -		selection_box = { -			type = "fixed", -			fixed = {-0.5, -0.5, 0, 0, -0.375, 0.5}, -		},  		sounds = default.node_sound_stone_defaults(),  		on_place = stairsplus_rotate_and_place  	}) @@ -92,10 +80,6 @@ function register_micro(modname, subname, recipeitem, groups, images, descriptio  			type = "fixed",  			fixed = {-0.5, -0.5, 0, 0, -0.25, 0.5},  		}, -		selection_box = { -			type = "fixed", -			fixed = {-0.5, -0.5, 0, 0, -0.25, 0.5}, -		},  		sounds = default.node_sound_stone_defaults(),  		on_place = stairsplus_rotate_and_place  	}) @@ -114,10 +98,6 @@ function register_micro(modname, subname, recipeitem, groups, images, descriptio  			type = "fixed",  			fixed = {-0.5, -0.5, 0, 0, 0.25, 0.5},  		}, -		selection_box = { -			type = "fixed", -			fixed = {-0.5, -0.5, 0, 0, 0.25, 0.5}, -		},  		sounds = default.node_sound_stone_defaults(),  		on_place = stairsplus_rotate_and_place  	}) @@ -136,10 +116,6 @@ function register_micro(modname, subname, recipeitem, groups, images, descriptio  			type = "fixed",  			fixed = {-0.5, -0.5, 0, 0, 0.375, 0.5},  		}, -		selection_box = { -			type = "fixed", -			fixed = {-0.5, -0.5, 0, 0, 0.375, 0.5}, -		},  		sounds = default.node_sound_stone_defaults(),  		on_place = stairsplus_rotate_and_place  	}) @@ -158,10 +134,6 @@ function register_micro(modname, subname, recipeitem, groups, images, descriptio  			type = "fixed",  			fixed = {-0.5, -0.5, 0, 0, 0.4375, 0.5},  		}, -		selection_box = { -			type = "fixed", -			fixed = {-0.5, -0.5, 0, 0, 0.4375, 0.5}, -		},  		sounds = default.node_sound_stone_defaults(),  		on_place = stairsplus_rotate_and_place  	}) diff --git a/stairsplus/panels.lua b/stairsplus/panels.lua index c0a24fb..f074d54 100644 --- a/stairsplus/panels.lua +++ b/stairsplus/panels.lua @@ -26,10 +26,6 @@ function register_panel(modname, subname, recipeitem, groups, images, descriptio  			type = "fixed",  			fixed = {-0.5, -0.5, 0, 0.5, 0, 0.5},  		}, -		selection_box = { -			type = "fixed", -			fixed = {-0.5, -0.5, 0, 0.5, 0, 0.5}, -		},  		on_place = stairsplus_rotate_and_place  	}) @@ -47,10 +43,6 @@ function register_panel(modname, subname, recipeitem, groups, images, descriptio  			type = "fixed",  			fixed = {-0.5, -0.5, 0, 0.5, -0.4375, 0.5},  		}, -		selection_box = { -			type = "fixed", -			fixed = {-0.5, -0.5, 0, 0.5, -0.4375, 0.5}, -		},  		on_place = stairsplus_rotate_and_place  	}) @@ -68,10 +60,6 @@ function register_panel(modname, subname, recipeitem, groups, images, descriptio  			type = "fixed",  			fixed = {-0.5, -0.5, 0, 0.5, -0.375, 0.5},  		}, -		selection_box = { -			type = "fixed", -			fixed = {-0.5, -0.5, 0, 0.5, -0.375, 0.5}, -		},  		on_place = stairsplus_rotate_and_place  	}) @@ -89,10 +77,6 @@ function register_panel(modname, subname, recipeitem, groups, images, descriptio  			type = "fixed",  			fixed = {-0.5, -0.5, 0, 0.5, -0.25, 0.5},  		}, -		selection_box = { -			type = "fixed", -			fixed = {-0.5, -0.5, 0, 0.5, -0.25, 0.5}, -		},  		on_place = stairsplus_rotate_and_place  	}) @@ -110,10 +94,6 @@ function register_panel(modname, subname, recipeitem, groups, images, descriptio  			type = "fixed",  			fixed = {-0.5, -0.5, 0, 0.5, 0.25, 0.5},  		}, -		selection_box = { -			type = "fixed", -			fixed = {-0.5, -0.5, 0, 0.5, 0.25, 0.5}, -		},  		on_place = stairsplus_rotate_and_place  	}) @@ -131,10 +111,6 @@ function register_panel(modname, subname, recipeitem, groups, images, descriptio  			type = "fixed",  			fixed = {-0.5, -0.5, 0, 0.5, 0.375, 0.5},  		}, -		selection_box = { -			type = "fixed", -			fixed = {-0.5, -0.5, 0, 0.5, 0.375, 0.5}, -		},  		on_place = stairsplus_rotate_and_place  	}) @@ -152,10 +128,6 @@ function register_panel(modname, subname, recipeitem, groups, images, descriptio  			type = "fixed",  			fixed = {-0.5, -0.5, 0, 0.5, 0.4375, 0.5},  		}, -		selection_box = { -			type = "fixed", -			fixed = {-0.5, -0.5, 0, 0.5, 0.4375, 0.5}, -		},  		on_place = stairsplus_rotate_and_place  	}) diff --git a/stairsplus/slabs.lua b/stairsplus/slabs.lua index 1e251a5..687dbee 100644 --- a/stairsplus/slabs.lua +++ b/stairsplus/slabs.lua @@ -26,10 +26,6 @@ function register_slab(modname, subname, recipeitem, groups, images, description  			type = "fixed",  			fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5},  		}, -		selection_box = { -			type = "fixed", -			fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, -		},  		sounds = default.node_sound_stone_defaults(),  		on_place = stairsplus_rotate_and_place  	}) @@ -47,10 +43,6 @@ function register_slab(modname, subname, recipeitem, groups, images, description  			type = "fixed",  			fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5},  		}, -		selection_box = { -			type = "fixed", -			fixed = {-0.5, -0.5, -0.5, 0.5, 0, 0.5}, -		},  		sounds = default.node_sound_stone_defaults(),  		on_place = stairsplus_rotate_and_place  	}) @@ -69,10 +61,6 @@ function register_slab(modname, subname, recipeitem, groups, images, description  			type = "fixed",  			fixed = {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5},  		}, -		selection_box = { -			type = "fixed", -			fixed = {-0.5, -0.5, -0.5, 0.5, -0.25, 0.5}, -		},  		sounds = default.node_sound_stone_defaults(),  		on_place = stairsplus_rotate_and_place  	}) @@ -91,10 +79,6 @@ function register_slab(modname, subname, recipeitem, groups, images, description  			type = "fixed",  			fixed = {-0.5, -0.5, -0.5, 0.5, 0.25, 0.5},  		}, -		selection_box = { -			type = "fixed", -			fixed = {-0.5, -0.5, -0.5, 0.5, 0.25, 0.5}, -		},  		sounds = default.node_sound_stone_defaults(),  		on_place = stairsplus_rotate_and_place  	}) @@ -113,10 +97,6 @@ function register_slab(modname, subname, recipeitem, groups, images, description  			type = "fixed",  			fixed = {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5},  		}, -		selection_box = { -			type = "fixed", -			fixed = {-0.5, -0.5, -0.5, 0.5, -0.4375, 0.5}, -		},  		sounds = default.node_sound_stone_defaults(),  		on_place = stairsplus_rotate_and_place  	}) @@ -135,10 +115,6 @@ function register_slab(modname, subname, recipeitem, groups, images, description  			type = "fixed",  			fixed = {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5},  		}, -		selection_box = { -			type = "fixed", -			fixed = {-0.5, -0.5, -0.5, 0.5, -0.375, 0.5}, -		},  		sounds = default.node_sound_stone_defaults(),  		on_place = stairsplus_rotate_and_place  	}) @@ -157,10 +133,6 @@ function register_slab(modname, subname, recipeitem, groups, images, description  			type = "fixed",  			fixed = {-0.5, -0.5, -0.5, 0.5, 0.375, 0.5},  		}, -		selection_box = { -			type = "fixed", -			fixed = {-0.5, -0.5, -0.5, 0.5, 0.375, 0.5}, -		},  		sounds = default.node_sound_stone_defaults(),  		on_place = stairsplus_rotate_and_place  	}) @@ -179,10 +151,6 @@ function register_slab(modname, subname, recipeitem, groups, images, description  			type = "fixed",  			fixed = {-0.5, -0.5, -0.5, 0.5, 0.4375, 0.5},  		}, -		selection_box = { -			type = "fixed", -			fixed = {-0.5, -0.5, -0.5, 0.5, 0.4375, 0.5}, -		},  		sounds = default.node_sound_stone_defaults(),  		on_place = stairsplus_rotate_and_place  	}) diff --git a/stairsplus/stairs.lua b/stairsplus/stairs.lua index 20996a7..b11fef9 100644 --- a/stairsplus/stairs.lua +++ b/stairsplus/stairs.lua @@ -28,13 +28,6 @@ function register_stair(modname, subname, recipeitem, groups, images, descriptio  				{-0.5, 0, 0, 0.5, 0.5, 0.5},  			},  		}, -		selection_box = { -			type = "fixed", -			fixed = { -				{-0.5, -0.5, -0.5, 0.5, 0, 0.5}, -				{-0.5, 0, 0, 0.5, 0.5, 0.5}, -			}, -		},  		sounds = default.node_sound_stone_defaults(),  		on_place = stairsplus_rotate_and_place  	}) @@ -54,13 +47,6 @@ function register_stair(modname, subname, recipeitem, groups, images, descriptio  				{-0.5, 0, 0, 0.5, 0.5, 0.5},  			},  		}, -		selection_box = { -			type = "fixed", -			fixed = { -				{-0.5, -0.5, -0.5, 0.5, 0, 0.5}, -				{-0.5, 0, 0, 0.5, 0.5, 0.5}, -			}, -		},  		sounds = default.node_sound_stone_defaults(),  		on_place = stairsplus_rotate_and_place  	}) @@ -81,13 +67,6 @@ function register_stair(modname, subname, recipeitem, groups, images, descriptio  				{-0.5, 0, 0, 0, 0.5, 0.5},  			},  		}, -		selection_box = { -			type = "fixed", -			fixed = { -				{-0.5, -0.5, -0.5, 0, 0, 0.5}, -				{-0.5, 0, 0, 0, 0.5, 0.5}, -			}, -		},  		sounds = default.node_sound_stone_defaults(),  		on_place = stairsplus_rotate_and_place  	}) @@ -108,13 +87,6 @@ function register_stair(modname, subname, recipeitem, groups, images, descriptio  				{0, 0, 0, 0.5, 0.5, 0.5},  			},  		}, -		selection_box = { -			type = "fixed", -			fixed = { -				{0, -0.5, -0.5, 0.5, 0, 0.5}, -				{0, 0, 0, 0.5, 0.5, 0.5}, -			}, -		},  		sounds = default.node_sound_stone_defaults(),  		on_place = stairsplus_rotate_and_place  	}) @@ -137,24 +109,36 @@ function register_stair(modname, subname, recipeitem, groups, images, descriptio  				{-0.5, 0, -0.5, 0, 0.5, 0},  			},  		}, -		selection_box = { +		sounds = default.node_sound_stone_defaults(), +		on_place = stairsplus_rotate_and_place +	}) + +	minetest.register_node(":"..modname .. ":stair_" .. subname .. "_outer", { +		description = S("%s Stairs"):format(S(description)), +		drawtype = "nodebox", +		tiles = images, +		light_source = light, +		drop = modname .. ":stair_" .. drop .. "_outer", +		paramtype = "light", +		paramtype2 = "facedir", +		sunlight_propagates = true, +		groups = groups, +		node_box = {  			type = "fixed",  			fixed = {  				{-0.5, -0.5, -0.5, 0.5, 0, 0.5}, -				{-0.5, 0, 0, 0.5, 0.5, 0.5}, -				{-0.5, 0, -0.5, 0, 0.5, 0}, +				{-0.5, 0, 0, 0, 0.5, 0.5},  			},  		},  		sounds = default.node_sound_stone_defaults(),  		on_place = stairsplus_rotate_and_place  	}) -	minetest.register_node(":"..modname .. ":stair_" .. subname .. "_outer", { +	minetest.register_node(":" .. modname .. ":stair_" .. subname .. "_alt", {  		description = S("%s Stairs"):format(S(description)),  		drawtype = "nodebox",  		tiles = images,  		light_source = light, -		drop = modname .. ":stair_" .. drop .. "_outer",  		paramtype = "light",  		paramtype2 = "facedir",  		sunlight_propagates = true, @@ -162,22 +146,35 @@ function register_stair(modname, subname, recipeitem, groups, images, descriptio  		node_box = {  			type = "fixed",  			fixed = { -				{-0.5, -0.5, -0.5, 0.5, 0, 0.5}, -				{-0.5, 0, 0, 0, 0.5, 0.5}, +				{-0.5, -0.5, -0.5, 0.5, 0, 0}, +				{-0.5, 0, 0, 0.5, 0.5, 0.5},  			},  		}, -		selection_box = { +		sounds = default.node_sound_stone_defaults(), +		on_place = stairsplus_rotate_and_place +	}) +	 +	minetest.register_node(":" .. modname .. ":stair_" .. subname .. "_alt_1", { +		description = S("%s Stairs"):format(S(description)), +		drawtype = "nodebox", +		tiles = images, +		light_source = light, +		paramtype = "light", +		paramtype2 = "facedir", +		sunlight_propagates = true, +		groups = groups, +		node_box = {  			type = "fixed",  			fixed = { -				{-0.5, -0.5, -0.5, 0.5, 0, 0.5}, -				{-0.5, 0, 0, 0, 0.5, 0.5}, +				{-0.5, -0.0625, -0.5, 0.5, 0, 0}, +				{-0.5, 0.4375, 0, 0.5, 0.5, 0.5},  			},  		},  		sounds = default.node_sound_stone_defaults(),  		on_place = stairsplus_rotate_and_place  	}) - -	minetest.register_node(":" .. modname .. ":stair_" .. subname .. "_alt", { +	 +	minetest.register_node(":" .. modname .. ":stair_" .. subname .. "_alt_2", {  		description = S("%s Stairs"):format(S(description)),  		drawtype = "nodebox",  		tiles = images, @@ -189,8 +186,28 @@ function register_stair(modname, subname, recipeitem, groups, images, descriptio  		node_box = {  			type = "fixed",  			fixed = { -				{-0.5, -0.5, -0.5, 0.5, 0, 0}, -				{-0.5, 0, 0, 0.5, 0.5, 0.5}, +				{-0.5, -0.125, -0.5, 0.5, 0, 0}, +				{-0.5, 0.375, 0, 0.5, 0.5, 0.5}, +			}, +		}, +		sounds = default.node_sound_stone_defaults(), +		on_place = stairsplus_rotate_and_place +	}) +	 +	minetest.register_node(":" .. modname .. ":stair_" .. subname .. "_alt_4", { +		description = S("%s Stairs"):format(S(description)), +		drawtype = "nodebox", +		tiles = images, +		light_source = light, +		paramtype = "light", +		paramtype2 = "facedir", +		sunlight_propagates = true, +		groups = groups, +		node_box = { +			type = "fixed", +			fixed = { +				{-0.5, -0.25, -0.5, 0.5, 0, 0}, +				{-0.5, 0.25, 0, 0.5, 0.5, 0.5},  			},  		},  		sounds = default.node_sound_stone_defaults(), diff --git a/textures/invisible.png b/textures/invisible.png Binary files differnew file mode 100644 index 0000000..c2e8752 --- /dev/null +++ b/textures/invisible.png  | 
