forked from luanti-org/minetest_game
		
	Decorations: Add kelp to cool and temperate shallow ocean
Original texture by tobyplowy, colourised by paramat.
This commit is contained in:
		@@ -215,6 +215,9 @@ kilbith (CC BY-SA 3.0):
 | 
				
			|||||||
  default_tin_ingot.png
 | 
					  default_tin_ingot.png
 | 
				
			||||||
  default_tin_lump.png
 | 
					  default_tin_lump.png
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					tobyplowy (CC BY-SA 3.0):
 | 
				
			||||||
 | 
					  default_kelp.png
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Glass breaking sounds (CC BY 3.0):
 | 
					Glass breaking sounds (CC BY 3.0):
 | 
				
			||||||
  1: http://www.freesound.org/people/cmusounddesign/sounds/71947/
 | 
					  1: http://www.freesound.org/people/cmusounddesign/sounds/71947/
 | 
				
			||||||
  2: http://www.freesound.org/people/Tomlija/sounds/97669/
 | 
					  2: http://www.freesound.org/people/Tomlija/sounds/97669/
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -44,6 +44,7 @@ Copyright (C) 2010-2016:
 | 
				
			|||||||
  GreenXenith
 | 
					  GreenXenith
 | 
				
			||||||
  kaeza
 | 
					  kaeza
 | 
				
			||||||
  kilbith
 | 
					  kilbith
 | 
				
			||||||
 | 
					  tobyplowy
 | 
				
			||||||
 | 
					
 | 
				
			||||||
You are free to:
 | 
					You are free to:
 | 
				
			||||||
Share — copy and redistribute the material in any medium or format.
 | 
					Share — copy and redistribute the material in any medium or format.
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -2019,6 +2019,37 @@ function default.register_decorations()
 | 
				
			|||||||
		flags = "place_center_x, place_center_z",
 | 
							flags = "place_center_x, place_center_z",
 | 
				
			||||||
		rotation = "random",
 | 
							rotation = "random",
 | 
				
			||||||
	})
 | 
						})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						-- Kelp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						minetest.register_decoration({
 | 
				
			||||||
 | 
							deco_type = "simple",
 | 
				
			||||||
 | 
							place_on = {"default:sand"},
 | 
				
			||||||
 | 
							place_offset_y = -1,
 | 
				
			||||||
 | 
							sidelen = 16,
 | 
				
			||||||
 | 
							noise_params = {
 | 
				
			||||||
 | 
								offset = -0.04,
 | 
				
			||||||
 | 
								scale = 0.1,
 | 
				
			||||||
 | 
								spread = {x = 200, y = 200, z = 200},
 | 
				
			||||||
 | 
								seed = 87112,
 | 
				
			||||||
 | 
								octaves = 3,
 | 
				
			||||||
 | 
								persist = 0.7
 | 
				
			||||||
 | 
							},
 | 
				
			||||||
 | 
							biomes = {
 | 
				
			||||||
 | 
								"taiga_ocean",
 | 
				
			||||||
 | 
								"snowy_grassland_ocean",
 | 
				
			||||||
 | 
								"grassland_ocean",
 | 
				
			||||||
 | 
								"coniferous_forest_ocean",
 | 
				
			||||||
 | 
								"deciduous_forest_ocean",
 | 
				
			||||||
 | 
								"sandstone_desert_ocean",
 | 
				
			||||||
 | 
								"cold_desert_ocean"},
 | 
				
			||||||
 | 
							y_min = -10,
 | 
				
			||||||
 | 
							y_max = -5,
 | 
				
			||||||
 | 
							flags = "force_placement",
 | 
				
			||||||
 | 
							decoration = "default:sand_with_kelp",
 | 
				
			||||||
 | 
							param2 = 48,
 | 
				
			||||||
 | 
							param2_max = 96,
 | 
				
			||||||
 | 
						})
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -149,6 +149,8 @@ default:acacia_bush_stem
 | 
				
			|||||||
default:acacia_bush_leaves
 | 
					default:acacia_bush_leaves
 | 
				
			||||||
default:acacia_bush_sapling
 | 
					default:acacia_bush_sapling
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					default:sand_with_kelp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Corals
 | 
					Corals
 | 
				
			||||||
------
 | 
					------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -1449,6 +1451,55 @@ minetest.register_node("default:acacia_bush_sapling", {
 | 
				
			|||||||
	end,
 | 
						end,
 | 
				
			||||||
})
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					minetest.register_node("default:sand_with_kelp", {
 | 
				
			||||||
 | 
						description = "Kelp On Sand",
 | 
				
			||||||
 | 
						drawtype = "plantlike_rooted",
 | 
				
			||||||
 | 
						tiles = {"default_sand.png"},
 | 
				
			||||||
 | 
						special_tiles = {{name = "default_kelp.png", tileable_vertical = true}},
 | 
				
			||||||
 | 
						inventory_image = "default_kelp.png",
 | 
				
			||||||
 | 
						paramtype2 = "leveled",
 | 
				
			||||||
 | 
						groups = {snappy = 3},
 | 
				
			||||||
 | 
						node_placement_prediction = "",
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						on_place = function(itemstack, placer, pointed_thing)
 | 
				
			||||||
 | 
							-- Call on_rightclick if the pointed node defines it
 | 
				
			||||||
 | 
							if pointed_thing.type == "node" and placer and
 | 
				
			||||||
 | 
									not placer:get_player_control().sneak then
 | 
				
			||||||
 | 
								local node_ptu = minetest.get_node(pointed_thing.under)
 | 
				
			||||||
 | 
								local def_ptu = minetest.registered_nodes[node_ptu.name]
 | 
				
			||||||
 | 
								if def_ptu and def_ptu.on_rightclick then
 | 
				
			||||||
 | 
									return def_ptu.on_rightclick(pointed_thing.under, node_ptu, placer,
 | 
				
			||||||
 | 
										itemstack, pointed_thing)
 | 
				
			||||||
 | 
								end
 | 
				
			||||||
 | 
							end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							local pos = pointed_thing.above
 | 
				
			||||||
 | 
							local height = math.random(4, 6)
 | 
				
			||||||
 | 
							local pos_top = {x = pos.x, y = pos.y + height, z = pos.z}
 | 
				
			||||||
 | 
							local node_top = minetest.get_node(pos_top)
 | 
				
			||||||
 | 
							local def_top = minetest.registered_nodes[node_top.name]
 | 
				
			||||||
 | 
							local player_name = placer:get_player_name()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							if def_top and def_top.liquidtype == "source" and
 | 
				
			||||||
 | 
									minetest.get_item_group(node_top.name, "water") > 0 then
 | 
				
			||||||
 | 
								if not minetest.is_protected(pos, player_name) and
 | 
				
			||||||
 | 
										not minetest.is_protected(pos_top, player_name) then
 | 
				
			||||||
 | 
									minetest.set_node(pos, {name = "default:sand_with_kelp",
 | 
				
			||||||
 | 
										param2 = height * 16})
 | 
				
			||||||
 | 
									if not (creative and creative.is_enabled_for
 | 
				
			||||||
 | 
											and creative.is_enabled_for(player_name)) then
 | 
				
			||||||
 | 
										itemstack:take_item()
 | 
				
			||||||
 | 
									end
 | 
				
			||||||
 | 
								else
 | 
				
			||||||
 | 
									minetest.chat_send_player(player_name, "Node is protected")
 | 
				
			||||||
 | 
									minetest.record_protection_violation(pos, player_name)
 | 
				
			||||||
 | 
								end
 | 
				
			||||||
 | 
							end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
							return itemstack
 | 
				
			||||||
 | 
						end
 | 
				
			||||||
 | 
					})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
--
 | 
					--
 | 
				
			||||||
-- Corals
 | 
					-- Corals
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								mods/default/textures/default_kelp.png
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								mods/default/textures/default_kelp.png
									
									
									
									
									
										Normal file
									
								
							
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 312 B  | 
		Reference in New Issue
	
	Block a user