Skip to content

Commit

Permalink
Decorations: Add kelp to cool and temperate shallow ocean
Browse files Browse the repository at this point in the history
Original texture by tobyplowy, colourised by paramat.
  • Loading branch information
paramat committed Oct 10, 2017
1 parent 3ff2969 commit eb5a5b5
Show file tree
Hide file tree
Showing 5 changed files with 86 additions and 0 deletions.
3 changes: 3 additions & 0 deletions mods/default/README.txt
Expand Up @@ -215,6 +215,9 @@ kilbith (CC BY-SA 3.0):
default_tin_ingot.png
default_tin_lump.png

tobyplowy (CC BY-SA 3.0):
default_kelp.png

Glass breaking sounds (CC BY 3.0):
1: http://www.freesound.org/people/cmusounddesign/sounds/71947/
2: http://www.freesound.org/people/Tomlija/sounds/97669/
Expand Down
1 change: 1 addition & 0 deletions mods/default/license.txt
Expand Up @@ -44,6 +44,7 @@ Copyright (C) 2010-2016:
GreenXenith
kaeza
kilbith
tobyplowy

You are free to:
Share — copy and redistribute the material in any medium or format.
Expand Down
31 changes: 31 additions & 0 deletions mods/default/mapgen.lua
Expand Up @@ -2019,6 +2019,37 @@ function default.register_decorations()
flags = "place_center_x, place_center_z",
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


Expand Down
51 changes: 51 additions & 0 deletions mods/default/nodes.lua
Expand Up @@ -149,6 +149,8 @@ default:acacia_bush_stem
default:acacia_bush_leaves
default:acacia_bush_sapling
default:sand_with_kelp
Corals
------
Expand Down Expand Up @@ -1449,6 +1451,55 @@ minetest.register_node("default:acacia_bush_sapling", {
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
Expand Down
Binary file added mods/default/textures/default_kelp.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit eb5a5b5

Please sign in to comment.