forked from luanti-org/minetest_game
		
	Add plantlike_rooted coral
This commit is contained in:
		| @@ -1910,6 +1910,159 @@ minetest.register_node("default:sand_with_kelp", { | ||||
| -- Corals | ||||
| -- | ||||
|  | ||||
| minetest.register_node("default:coral_green", { | ||||
| 	description = "Green Coral", | ||||
| 	drawtype = "plantlike_rooted", | ||||
| 	waving = 1, | ||||
| 	paramtype = "light", | ||||
| 	tiles = {"default_coral_skeleton.png"}, | ||||
| 	special_tiles = {{name = "default_coral_green.png", tileable_vertical = true}}, | ||||
| 	inventory_image = "default_coral_green.png", | ||||
| 	groups = {snappy = 3}, | ||||
| 	selection_box = { | ||||
| 		type = "fixed", | ||||
| 		fixed = { | ||||
| 				{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, | ||||
| 				{-4/16, 0.5, -4/16, 4/16, 1.5, 4/16}, | ||||
| 		}, | ||||
| 	}, | ||||
| 	node_dig_prediction = "default:coral_skeleton", | ||||
| 	node_placement_prediction = "", | ||||
| 	on_place = function(itemstack, placer, pointed_thing) | ||||
| 		if pointed_thing.type ~= "node" or not placer then | ||||
| 			return itemstack | ||||
| 		end | ||||
|  | ||||
| 		local player_name = placer:get_player_name() | ||||
| 		local pos_under = pointed_thing.under | ||||
| 		local pos_above = pointed_thing.above | ||||
|  | ||||
| 		if minetest.get_node(pos_under).name ~= "default:coral_skeleton" or | ||||
| 				minetest.get_node(pos_above).name ~= "default:water_source" then | ||||
| 			return itemstack | ||||
| 		end | ||||
|  | ||||
| 		if minetest.is_protected(pos_under, player_name) or | ||||
| 				minetest.is_protected(pos_above, player_name) then | ||||
| 			minetest.chat_send_player(player_name, "Node is protected") | ||||
| 			minetest.record_protection_violation(pos_under, player_name) | ||||
| 			return itemstack | ||||
| 		end | ||||
|  | ||||
| 		minetest.set_node(pos_under, {name = "default:coral_green"}) | ||||
| 		if not (creative and creative.is_enabled_for(player_name)) then | ||||
| 			itemstack:take_item() | ||||
| 		end | ||||
|  | ||||
| 		return itemstack | ||||
| 	end, | ||||
| 	after_destruct  = function(pos, oldnode) | ||||
| 		minetest.set_node(pos, {name = "default:coral_skeleton"}) | ||||
| 	end, | ||||
| }) | ||||
|  | ||||
| minetest.register_node("default:coral_pink", { | ||||
| 	description = "Pink Coral", | ||||
| 	drawtype = "plantlike_rooted", | ||||
| 	waving = 1, | ||||
| 	paramtype = "light", | ||||
| 	tiles = {"default_coral_skeleton.png"}, | ||||
| 	special_tiles = {{name = "default_coral_pink.png", tileable_vertical = true}}, | ||||
| 	inventory_image = "default_coral_pink.png", | ||||
| 	groups = {snappy = 3}, | ||||
| 	selection_box = { | ||||
| 		type = "fixed", | ||||
| 		fixed = { | ||||
| 				{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, | ||||
| 				{-4/16, 0.5, -4/16, 4/16, 1.5, 4/16}, | ||||
| 		}, | ||||
| 	}, | ||||
| 	node_dig_prediction = "default:coral_skeleton", | ||||
| 	node_placement_prediction = "", | ||||
| 	on_place = function(itemstack, placer, pointed_thing) | ||||
| 		if pointed_thing.type ~= "node" or not placer then | ||||
| 			return itemstack | ||||
| 		end | ||||
|  | ||||
| 		local player_name = placer:get_player_name() | ||||
| 		local pos_under = pointed_thing.under | ||||
| 		local pos_above = pointed_thing.above | ||||
|  | ||||
| 		if minetest.get_node(pos_under).name ~= "default:coral_skeleton" or | ||||
| 				minetest.get_node(pos_above).name ~= "default:water_source" then | ||||
| 			return itemstack | ||||
| 		end | ||||
|  | ||||
| 		if minetest.is_protected(pos_under, player_name) or | ||||
| 				minetest.is_protected(pos_above, player_name) then | ||||
| 			minetest.chat_send_player(player_name, "Node is protected") | ||||
| 			minetest.record_protection_violation(pos_under, player_name) | ||||
| 			return itemstack | ||||
| 		end | ||||
|  | ||||
| 		minetest.set_node(pos_under, {name = "default:coral_pink"}) | ||||
| 		if not (creative and creative.is_enabled_for(player_name)) then | ||||
| 			itemstack:take_item() | ||||
| 		end | ||||
|  | ||||
| 		return itemstack | ||||
| 	end, | ||||
| 	after_destruct  = function(pos, oldnode) | ||||
| 		minetest.set_node(pos, {name = "default:coral_skeleton"}) | ||||
| 	end, | ||||
| }) | ||||
|  | ||||
| minetest.register_node("default:coral_cyan", { | ||||
| 	description = "Cyan Coral", | ||||
| 	drawtype = "plantlike_rooted", | ||||
| 	waving = 1, | ||||
| 	paramtype = "light", | ||||
| 	tiles = {"default_coral_skeleton.png"}, | ||||
| 	special_tiles = {{name = "default_coral_cyan.png", tileable_vertical = true}}, | ||||
| 	inventory_image = "default_coral_cyan.png", | ||||
| 	groups = {snappy = 3}, | ||||
| 	selection_box = { | ||||
| 		type = "fixed", | ||||
| 		fixed = { | ||||
| 				{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5}, | ||||
| 				{-4/16, 0.5, -4/16, 4/16, 1.5, 4/16}, | ||||
| 		}, | ||||
| 	}, | ||||
| 	node_dig_prediction = "default:coral_skeleton", | ||||
| 	node_placement_prediction = "", | ||||
| 	on_place = function(itemstack, placer, pointed_thing) | ||||
| 		if pointed_thing.type ~= "node" or not placer then | ||||
| 			return itemstack | ||||
| 		end | ||||
|  | ||||
| 		local player_name = placer:get_player_name() | ||||
| 		local pos_under = pointed_thing.under | ||||
| 		local pos_above = pointed_thing.above | ||||
|  | ||||
| 		if minetest.get_node(pos_under).name ~= "default:coral_skeleton" or | ||||
| 				minetest.get_node(pos_above).name ~= "default:water_source" then | ||||
| 			return itemstack | ||||
| 		end | ||||
|  | ||||
| 		if minetest.is_protected(pos_under, player_name) or | ||||
| 				minetest.is_protected(pos_above, player_name) then | ||||
| 			minetest.chat_send_player(player_name, "Node is protected") | ||||
| 			minetest.record_protection_violation(pos_under, player_name) | ||||
| 			return itemstack | ||||
| 		end | ||||
|  | ||||
| 		minetest.set_node(pos_under, {name = "default:coral_cyan"}) | ||||
| 		if not (creative and creative.is_enabled_for(player_name)) then | ||||
| 			itemstack:take_item() | ||||
| 		end | ||||
|  | ||||
| 		return itemstack | ||||
| 	end, | ||||
| 	after_destruct  = function(pos, oldnode) | ||||
| 		minetest.set_node(pos, {name = "default:coral_skeleton"}) | ||||
| 	end, | ||||
| }) | ||||
|  | ||||
| minetest.register_node("default:coral_brown", { | ||||
| 	description = "Brown Coral", | ||||
| 	tiles = {"default_coral_brown.png"}, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user