mirror of
				https://github.com/mt-mods/homedecor_modpack.git
				synced 2025-10-31 16:55:24 +01:00 
			
		
		
		
	testing node ownership workaround for one of the doors. Others to follow.
This commit is contained in:
		| @@ -70,14 +70,21 @@ minetest.register_node("homedecor:door_wood_plain_bottom_left", { | ||||
| 		fixed = { -0.5, -0.5, 6/16, 0.5, 0.5, 8/16 } | ||||
| 	}, | ||||
| 	on_place = function(itemstack, placer, pointed_thing) | ||||
| 		fdir = minetest.dir_to_facedir(placer:get_look_dir()) | ||||
| 		local pos = pointed_thing.above | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then | ||||
| 			minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a door!' ) | ||||
| 			return | ||||
|  | ||||
| 		if type(IsPlayerNodeOwner)=="function" then | ||||
| 			if not IsPlayerNodeOwner(pos, user:get_player_name()) then | ||||
| 				minetest.chat_send_player( placer:get_player_name(), "Sorry, "..getLastOwner(pos).." owns that spot." ) | ||||
| 			end | ||||
| 		else | ||||
| 			fdir = minetest.dir_to_facedir(placer:get_look_dir()) | ||||
| 			local pos = pointed_thing.above | ||||
| 			if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then | ||||
| 				minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a door!' ) | ||||
| 				return | ||||
| 			end | ||||
| 			minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name =  "homedecor:door_wood_plain_top_left", param2=fdir}) | ||||
| 			return minetest.item_place(itemstack, placer, pointed_thing) | ||||
| 		end | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name =  "homedecor:door_wood_plain_top_left", param2=fdir}) | ||||
| 		return minetest.item_place(itemstack, placer, pointed_thing) | ||||
| 	 | ||||
| 	end, | ||||
| 	after_dig_node = function(pos, oldnode, oldmetadata, digger) | ||||
| @@ -164,14 +171,20 @@ minetest.register_node("homedecor:door_wood_plain_bottom_right", { | ||||
| 	}, | ||||
| 	drop = "homedecor:door_wood_plain_bottom_left", | ||||
| 	on_place = function(itemstack, placer, pointed_thing) | ||||
| 		fdir = minetest.dir_to_facedir(placer:get_look_dir()) | ||||
| 		local pos = pointed_thing.above | ||||
| 		if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then | ||||
| 			minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a door!' ) | ||||
| 			return | ||||
| 		if type(IsPlayerNodeOwner)=="function" then | ||||
| 			if not IsPlayerNodeOwner(pos, user:get_player_name()) then | ||||
| 				minetest.chat_send_player( placer:get_player_name(), "Sorry, "..getLastOwner(pos).." owns that spot." ) | ||||
| 			end | ||||
| 		else | ||||
| 			fdir = minetest.dir_to_facedir(placer:get_look_dir()) | ||||
| 			local pos = pointed_thing.above | ||||
| 			if minetest.env:get_node({x=pos.x, y=pos.y+1, z=pos.z}).name ~= "air" then | ||||
| 				minetest.chat_send_player( placer:get_player_name(), 'Not enough vertical space to place a door!' ) | ||||
| 				return | ||||
| 			end | ||||
| 			minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name =  "homedecor:door_wood_plain_top_right", param2=fdir}) | ||||
| 			return minetest.item_place(itemstack, placer, pointed_thing) | ||||
| 		end | ||||
| 		minetest.env:add_node({x=pos.x, y=pos.y+1, z=pos.z}, { name =  "homedecor:door_wood_plain_top_right", param2=fdir}) | ||||
| 		return minetest.item_place(itemstack, placer, pointed_thing) | ||||
| 	 | ||||
| 	end, | ||||
| 	after_dig_node = function(pos, oldnode, oldmetadata, digger) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user