forked from nalc/homedecor_modpack
		
	
							
								
								
									
										10
									
								
								fences.lua
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								fences.lua
									
									
									
									
									
								
							@@ -23,16 +23,6 @@ minetest.register_node("homedecor:fence_brass", {
 | 
				
			|||||||
	groups = {snappy=3},
 | 
						groups = {snappy=3},
 | 
				
			||||||
	sounds = default.node_sound_wood_defaults(),
 | 
						sounds = default.node_sound_wood_defaults(),
 | 
				
			||||||
	walkable = true,
 | 
						walkable = true,
 | 
				
			||||||
 | 
					 | 
				
			||||||
	on_place = function(itemstack, placer, pointed_thing)
 | 
					 | 
				
			||||||
		if not homedecor_node_is_owned(pointed_thing.under, placer) then
 | 
					 | 
				
			||||||
			local fdir = minetest.dir_to_facedir(placer:get_look_dir())
 | 
					 | 
				
			||||||
			minetest.env:add_node(pointed_thing.above, {name = "homedecor:fence_brass", param2 = fdir})
 | 
					 | 
				
			||||||
			itemstack:take_item()
 | 
					 | 
				
			||||||
			placer:set_wielded_item(itemstack)
 | 
					 | 
				
			||||||
			return itemstack
 | 
					 | 
				
			||||||
		end
 | 
					 | 
				
			||||||
	end
 | 
					 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
minetest.register_node("homedecor:fence_wrought_iron", {
 | 
					minetest.register_node("homedecor:fence_wrought_iron", {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -417,11 +417,23 @@ function homedecor_register_fence_with_sign(fencename, fencewithsignname)
 | 
				
			|||||||
    def = copy(def)
 | 
					    def = copy(def)
 | 
				
			||||||
    def_sign = copy(def_sign)
 | 
					    def_sign = copy(def_sign)
 | 
				
			||||||
    fences_with_sign[fencename] = fencewithsignname
 | 
					    fences_with_sign[fencename] = fencewithsignname
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def.on_place = function(itemstack, placer, pointed_thing, ...)
 | 
					    def.on_place = function(itemstack, placer, pointed_thing, ...)
 | 
				
			||||||
        local def = minetest.registered_nodes[minetest.env:get_node(pointed_thing.above).name]
 | 
							local node_above = minetest.env:get_node(pointed_thing.above)
 | 
				
			||||||
		if (not homedecor_node_is_owned(pointed_thing.under, placer))
 | 
							local node_under = minetest.env:get_node(pointed_thing.under)
 | 
				
			||||||
		 and def.buildable_to then
 | 
							local def_above = minetest.registered_nodes[node_above.name]
 | 
				
			||||||
			local fdir = minetest.dir_to_facedir(placer:get_look_dir())
 | 
							local def_under = minetest.registered_nodes[node_under.name]
 | 
				
			||||||
 | 
							local fdir = minetest.dir_to_facedir(placer:get_look_dir())
 | 
				
			||||||
 | 
							if def_under and def_under.on_rightclick then
 | 
				
			||||||
 | 
								return def_under.on_rightclick(pointed_thing.under, node_under, placer, itemstack) or itemstack
 | 
				
			||||||
 | 
							elseif (not homedecor_node_is_owned(pointed_thing.under, placer))
 | 
				
			||||||
 | 
							 and def_under.buildable_to then
 | 
				
			||||||
 | 
								minetest.env:add_node(pointed_thing.under, {name = fencename, param2 = fdir})
 | 
				
			||||||
 | 
								itemstack:take_item()
 | 
				
			||||||
 | 
								placer:set_wielded_item(itemstack)
 | 
				
			||||||
 | 
								return itemstack
 | 
				
			||||||
 | 
							elseif (not homedecor_node_is_owned(pointed_thing.above, placer))
 | 
				
			||||||
 | 
							 and def_above.buildable_to then
 | 
				
			||||||
			minetest.env:add_node(pointed_thing.above, {name = fencename, param2 = fdir})
 | 
								minetest.env:add_node(pointed_thing.above, {name = fencename, param2 = fdir})
 | 
				
			||||||
			itemstack:take_item()
 | 
								itemstack:take_item()
 | 
				
			||||||
			placer:set_wielded_item(itemstack)
 | 
								placer:set_wielded_item(itemstack)
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user