diff options
| author | DonBatman <serfdon@gmail.com> | 2015-10-21 05:02:33 -0700 | 
|---|---|---|
| committer | DonBatman <serfdon@gmail.com> | 2015-10-21 05:02:33 -0700 | 
| commit | 3c9ac0cbc10d8d43cb5cc0ba7580d326aedddace (patch) | |
| tree | 198f9c6b1c0eb6a338e1fdbb462f48c1c253ec87 /portals.lua | |
First Upload
Diffstat (limited to 'portals.lua')
| -rw-r--r-- | portals.lua | 71 | 
1 files changed, 71 insertions, 0 deletions
| diff --git a/portals.lua b/portals.lua new file mode 100644 index 0000000..cccd920 --- /dev/null +++ b/portals.lua @@ -0,0 +1,71 @@ +local sbox =  { +		type = "fixed", +		fixed = { +			{0, 0, 0, 0, 0, 0} +		} +	} +local cbox =  { +		type = "fixed", +		fixed = { +			{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5} +		} +	} + +--Portals +minetest.register_node("mypacman:portalr", { +	description = "Portalr ", +	drawtype = "allfaces", +	tiles = {"mypacman_portal.png"}, +	paramtype = "light", +	sunlight_propagates = true, +	light_source = 14, +	paramtype2 = "facedir", +	walkable = false, +	is_ground_content = false, +	groups = {snappy = 2, cracky = 2, dig_immediate = 3,not_in_creative_inventory=1}, +	selection_box = sbox, + +}) +minetest.register_node("mypacman:portall", { +	description = "Portall ", +	drawtype = "allfaces", +	tiles = {"mypacman_portal.png"}, +	paramtype = "light", +	sunlight_propagates = true, +	light_source = 14, +	paramtype2 = "facedir", +	walkable = false, +	is_ground_content = false, +	groups = {snappy = 2, cracky = 2, dig_immediate = 3,not_in_creative_inventory=1}, +	selection_box = sbox, + +}) + +minetest.register_abm({ +	nodenames = {"mypacman:portall"}, +	interval = 0.5, +	chance = 1, +	action = function(pos, node, active_object_count, active_object_count_wider) +		local objs = minetest.env:get_objects_inside_radius(pos, 1) +		for k, player in pairs(objs) do +			if player:get_player_name() then  + +				player:setpos({x=pos.x-23,y=pos.y+0.5,z=pos.z}) +			end +		end +	end +}) +minetest.register_abm({ +	nodenames = {"mypacman:portalr"}, +	interval = 0.5, +	chance = 1, +	action = function(pos, node, active_object_count, active_object_count_wider) +		local objs = minetest.env:get_objects_inside_radius(pos, 1) +		for k, player in pairs(objs) do +			if player:get_player_name() then  + +				player:setpos({x=pos.x+23,y=pos.y+0.5,z=pos.z}) +			end +		end +	end +}) | 
