incorporate marinara mod for living great biomes under water

* using forked version due backguard compatibility
master
mckaygerhard 2023-07-13 15:31:31 -05:00
parent c770d5cb43
commit 797c11dc8b
144 changed files with 2771 additions and 0 deletions

View File

@ -58,6 +58,8 @@ To download you can play this game with the following minetest engines:
* nsspf as `nsspf` [mods/nsspf](mods/nsspf) from https://git.minetest.io/minenux/minetest-mo>
* Shara RedCat ezhh
* fireflies as `fireflies` [mods/fireflies](mods/fireflies) https://github.com/Ezhh/fireflies/blob/master/license.txt
* Skandarella
* Wilhelmines Marinara as `marinara` [mods/marinara](mods/marinara) https://git.minetest.io/minenux/minetest-mod-marinara forked compatible version
## Licensing

27
mods/marinara/LICENSE Normal file
View File

@ -0,0 +1,27 @@
MIT License
Copyright (c) 2022 Skandarella
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
Modified Code by Liil/Wilhelmine/Skandarella (c) 2022
Textures and Schematics by Liil/Wilhelmine/Skandarella under (MIT) License (c) 2022

View File

@ -0,0 +1,108 @@
local S = marinara.S
minetest.register_node("marinara:hardcoral_brown", {
description = S("Brown Hard Coral"),
tiles = {"marinara_hardcoral_brown.png"},
groups = {cracky = 3, stone = 1},
light_source = 2,
drop = "marinara:hardcoral_brown",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("marinara:hardcoral", {
description = S("Hard Coral"),
tiles = {"marinara_hardcoral.png"},
groups = {cracky = 3, stone = 1},
light_source = 2,
drop = "marinara:hardcoral",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("marinara:hardcoral_blue", {
description = S("Blue Hard Coral"),
tiles = {"marinara_hardcoral_blue.png"},
groups = {cracky = 3, stone = 1},
drop = "marinara:hardcoral_blue",
light_source = 2,
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("marinara:hardcoral_green", {
description = S("Green Hard Coral"),
tiles = {"marinara_hardcoral_green.png"},
groups = {cracky = 3, stone = 1},
light_source = 2,
drop = "marinara:hardcoral_green",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("marinara:hardcoral_pink", {
description = S("Pink Hard Coral"),
tiles = {"marinara_hardcoral_pink.png"},
groups = {cracky = 3, stone = 1},
light_source = 2,
drop = "marinara:hardcoral_pink",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("marinara:hardcoral_red", {
description = S("Red Hard Coral"),
tiles = {"marinara_hardcoral_red.png"},
groups = {cracky = 3, stone = 1},
light_source = 2,
drop = "marinara:hardcoral_red",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("marinara:hardcoral_violet", {
description = S("Violet Hard Coral"),
tiles = {"marinara_hardcoral_violet.png"},
groups = {cracky = 3, stone = 1},
light_source = 2,
drop = "marinara:hardcoral_violet",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("marinara:hardcoral_yellow", {
description = S("Yellow Hard Coral"),
tiles = {"marinara_hardcoral_yellow.png"},
groups = {cracky = 3, stone = 1},
light_source = 2,
drop = "marinara:hardcoral_yellow",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("marinara:coastrock", {
description = S("Coastal Rock"),
tiles = {"marinara_coastrock.png"},
groups = {cracky = 3, stone = 1},
drop = "marinara:coastrock",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("marinara:coastrock_alage", {
description = S("Coastal Rock with Alage"),
tiles = {"marinara_coastrock_alage.png"},
groups = {cracky = 3, stone = 1},
drop = "marinara:coastrock_alage",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})
minetest.register_node("marinara:seapocks", {
description = S("Sea Pocks"),
tiles = {"marinara_seapocks.png"},
groups = {cracky = 3, stone = 1},
drop = "marinara:seapocks",
legacy_mineral = true,
sounds = default.node_sound_stone_defaults(),
})

605
mods/marinara/crafting.lua Normal file
View File

@ -0,0 +1,605 @@
local S = marinara.S
stairs.register_stair_and_slab(
"marinara_reed_node",
"marinara:reed_bundle",
{snappy = 3, oddly_breakable_by_hand = 0, flammable = 0},
{"marinara_reed_node_top.png", "marinara_reed_node.png", "marinara_reed_node_top.png"},
S("Reed Node Stair"),
S("Reed Node Slab"),
default.node_sound_leaves_defaults()
)
minetest.register_node("marinara:reed_bundle", {
description = S("Reed Node"),
tiles = {
"marinara_reed_node.png",
"marinara_reed_node.png",
"marinara_reed_node_top.png"
},
is_ground_content = false,
groups = {snappy = 3, flammable = 2},
sounds = default.node_sound_leaves_defaults(),
})
minetest.register_craft({
output = "marinara:reed_bundle",
type = "shapeless",
recipe =
{"marinara:reed", "marinara:reed", "marinara:reed", "marinara:reed"}
})
minetest.register_craft({
output = "marinara:reed_bundle",
type = "shapeless",
recipe =
{"marinara:reed_root", "marinara:reed_root", "marinara:reed_root", "marinara:reed_root"}
})
minetest.register_node("marinara:bountychest", {
description = S("Bounty Chest"),
tiles = {
"marinara_bootynode_top.png",
"marinara_bootynode_bottom.png",
"marinara_bootynode_right.png",
"marinara_bootynode_left.png",
"marinara_bootynode_back.png",
"marinara_bootynode_front.png"
},
groups = {wood = 1, choppy = 2, flammable = 2},
drop = "default:steel_ingot 1",
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node("marinara:bountychest2", {
description = S("Bounty Chest"),
tiles = {
"marinara_bootynode_top.png",
"marinara_bootynode_bottom.png",
"marinara_bootynode_right.png",
"marinara_bootynode_left.png",
"marinara_bootynode_back.png",
"marinara_bootynode_front.png"
},
groups = {wood = 1, choppy = 2, flammable = 2},
drop = "tnt:gunpowder 1",
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node("marinara:bountychest3", {
description = S("Bounty Chest"),
tiles = {
"marinara_bootynode_top.png",
"marinara_bootynode_bottom.png",
"marinara_bootynode_right.png",
"marinara_bootynode_left.png",
"marinara_bootynode_back.png",
"marinara_bootynode_front.png"
},
groups = {wood = 1, choppy = 2, flammable = 2},
drop = "default:axe_bronze 1",
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node("marinara:bountychest4", {
description = S("Bounty Chest"),
tiles = {
"marinara_bootynode_top.png",
"marinara_bootynode_bottom.png",
"marinara_bootynode_right.png",
"marinara_bootynode_left.png",
"marinara_bootynode_back.png",
"marinara_bootynode_front.png"
},
groups = {wood = 1, choppy = 2, flammable = 2},
drop = "farming:seed_wheat 10",
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node("marinara:bountychest5", {
description = S("Bounty Chest"),
tiles = {
"marinara_bootynode_top.png",
"marinara_bootynode_bottom.png",
"marinara_bootynode_right.png",
"marinara_bootynode_left.png",
"marinara_bootynode_back.png",
"marinara_bootynode_front.png"
},
groups = {wood = 1, choppy = 2, flammable = 2},
drop = "default:sword_steel 1",
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node("marinara:bountychest6", {
description = S("Bounty Chest"),
tiles = {
"marinara_bootynode_top.png",
"marinara_bootynode_bottom.png",
"marinara_bootynode_right.png",
"marinara_bootynode_left.png",
"marinara_bootynode_back.png",
"marinara_bootynode_front.png"
},
groups = {wood = 1, choppy = 2, flammable = 2},
drop = "default:gold_ingot 1",
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node("marinara:bountychest7", {
description = ("Bounty Chest"),
tiles = {
"marinara_bootynode_top.png",
"marinara_bootynode_bottom.png",
"marinara_bootynode_right.png",
"marinara_bootynode_left.png",
"marinara_bootynode_back.png",
"marinara_bootynode_front.png"
},
groups = {wood = 1, choppy = 2, flammable = 2},
drop = "farming:string 6",
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node("marinara:bountychest8", {
description = S("Bounty Chest"),
tiles = {
"marinara_bootynode_top.png",
"marinara_bootynode_bottom.png",
"marinara_bootynode_right.png",
"marinara_bootynode_left.png",
"marinara_bootynode_back.png",
"marinara_bootynode_front.png"
},
groups = {wood = 1, choppy = 2, flammable = 2},
drop = "default:book 1",
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node("marinara:bountychest9", {
description = S("Bounty Chest"),
tiles = {
"marinara_bootynode_top.png",
"marinara_bootynode_bottom.png",
"marinara_bootynode_right.png",
"marinara_bootynode_left.png",
"marinara_bootynode_back.png",
"marinara_bootynode_front.png"
},
groups = {wood = 1, choppy = 2, flammable = 2},
drop = "default:mese_crystal_fragment 1",
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node("marinara:bountychest10", {
description = S("Bounty Chest"),
tiles = {
"marinara_bootynode_top.png",
"marinara_bootynode_bottom.png",
"marinara_bootynode_right.png",
"marinara_bootynode_left.png",
"marinara_bootynode_back.png",
"marinara_bootynode_front.png"
},
groups = {wood = 1, choppy = 2, flammable = 2},
drop = "default:pick_bronze 1",
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node("marinara:bountychest11", {
description = S("Bounty Chest"),
tiles = {
"marinara_bootynode_top.png",
"marinara_bootynode_bottom.png",
"marinara_bootynode_right.png",
"marinara_bootynode_left.png",
"marinara_bootynode_back.png",
"marinara_bootynode_front.png"
},
groups = {wood = 1, choppy = 2, flammable = 2},
drop = "default:obsidian_shard 1",
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node("marinara:bountychest12", {
description = S("Bounty Chest"),
tiles = {
"marinara_bootynode_top.png",
"marinara_bootynode_bottom.png",
"marinara_bootynode_right.png",
"marinara_bootynode_left.png",
"marinara_bootynode_back.png",
"marinara_bootynode_front.png"
},
groups = {wood = 1, choppy = 2, flammable = 2},
drop = "farming:seed_cotton 10",
sounds = default.node_sound_wood_defaults(),
})
minetest.register_node("marinara:sand_with_seashells", {
description = S("Sand with Seashells"),
tiles = {"default_sand.png^marinara_seashells.png"},
groups = {crumbly = 3, falling_node = 1, sand = 1},
drop = "marinara:seashells",
sounds = default.node_sound_sand_defaults(),
})
minetest.register_craft({
output = "marinara:seashellmobile",
type = "shapeless",
recipe =
{"marinara:seashells", "farming:string"}
})
minetest.register_craftitem("marinara:seashells", {
description = S("Seashells"),
inventory_image = "marinara_seashells.png",
})
minetest.register_node("marinara:seashellmobile", {
description = S("Seashell Mobile"),
drawtype = "plantlike",
waving = 0,
tiles = {"marinara_seashellmobile.png"},
inventory_image = "marinara_seashellmobile.png",
wield_image = "marinara_seashellmobile.png",
paramtype = "light",
sunlight_propagates = true,
climbable = false,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.5, 6 / 16},
},
groups = {snappy = 3, flammable = 2},
sounds = default.node_sound_leaves_defaults(),
after_dig_node = function(pos, node, metadata, digger)
default.dig_up(pos, node, digger)
end,
})
walls.register(":marinara:coastbrick_wall", S"Coast Brick Wall", "marinara_coastbrick.png",
"marinara:coastbrick_wall", default.node_sound_stone_defaults())
stairs.register_stair_and_slab(
"marinara_coastbrick",
"marinara:coastbricks",
{cracky = 1, oddly_breakable_by_hand = 0, flammable = 0},
{"marinara_coastbrick.png"},
S("Coast Rock Brick Stair"),
S("Coast Rock Brick Slab"),
default.node_sound_stone_defaults()
)
minetest.register_node("marinara:coastbricks", {
description = S("Coast Bricks"),
tiles = {"marinara_coastbrick.png"},
is_ground_content = false,
groups = {cracky = 3, stone = 2},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "marinara:coastbricks",
type = "shapeless",
recipe =
{"marinara:coastrock", "marinara:coastrock", "marinara:coastrock", "marinara:coastrock"}
})
minetest.register_craft({
output = "marinara:coastbrick_wall",
type = "shapeless",
recipe =
{"marinara:coastbricks", "marinara:coastbricks", "marinara:coastbricks", "marinara:coastbricks", "marinara:coastbricks", "marinara:coastbricks"}
})
walls.register(":marinara:coastbrick_wall_alage", S"Coast Brick Wall with Alage", "marinara_coastbrick_alage.png",
"marinara:coastbrick_wall_alage", default.node_sound_stone_defaults())
stairs.register_stair_and_slab(
"marinara_coastbrick_alage",
"marinara:coastbricks_alage",
{cracky = 1, oddly_breakable_by_hand = 0, flammable = 0},
{"marinara_coastbrick_alage.png"},
S("Coast Rock Brick Stair with Alage"),
S("Coast Rock Brick Slab with Alage"),
default.node_sound_stone_defaults()
)
minetest.register_node("marinara:coastbricks_alage", {
description = S("Coast Bricks with Alage"),
tiles = {"marinara_coastbrick_alage.png"},
is_ground_content = false,
groups = {cracky = 3, stone = 2},
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
output = "marinara:coastbricks_alage",
type = "shapeless",
recipe =
{"marinara:coastrock_alage", "marinara:coastrock_alage", "marinara:coastrock_alage", "marinara:coastrock_alage"}
})
minetest.register_craft({
output = "marinara:coastbrick_wall_alage",
type = "shapeless",
recipe =
{"marinara:coastbricks_alage", "marinara:coastbricks_alage", "marinara:coastbricks_alage", "marinara:coastbricks_alage", "marinara:coastbricks_alage", "marinara:coastbricks_alage"}
})
minetest.register_node("marinara:sand_with_seashells_orange", {
description = S("Sand with Seashells Orange"),
tiles = {"default_sand.png^marinara_seashells_orange.png"},
groups = {crumbly = 3, falling_node = 1, sand = 1},
drop = "marinara:seashells_orange",
sounds = default.node_sound_sand_defaults(),
})
minetest.register_craft({
output = "marinara:seashellmobile_orange",
type = "shapeless",
recipe =
{"marinara:seashells_orange", "farming:string"}
})
minetest.register_craftitem("marinara:seashells_orange", {
description = S("Seashells Orange"),
inventory_image = "marinara_seashells_orange.png",
})
minetest.register_node("marinara:seashellmobile_orange", {
description = S("Seashell Mobile Orange"),
drawtype = "plantlike",
waving = 0,
tiles = {"marinara_seashellmobile_orange.png"},
inventory_image = "marinara_seashellmobile_orange.png",
wield_image = "marinara_seashellmobile_orange.png",
paramtype = "light",
sunlight_propagates = true,
climbable = false,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.5, 6 / 16},
},
groups = {snappy = 3, flammable = 2},
sounds = default.node_sound_leaves_defaults(),
after_dig_node = function(pos, node, metadata, digger)
default.dig_up(pos, node, digger)
end,
})
minetest.register_node("marinara:sand_with_seashells_broken", {
description = S("Sand with Seashells Broken"),
tiles = {"default_sand.png^marinara_seashells_broken.png"},
groups = {crumbly = 3, falling_node = 1, sand = 1},
drop = "marinara:seashells_broken",
sounds = default.node_sound_sand_defaults(),
})
minetest.register_craft({
output = "marinara:seashellmobile_broken",
type = "shapeless",
recipe =
{"marinara:seashells_broken", "farming:string"}
})
minetest.register_craftitem("marinara:seashells_broken", {
description = S("Seashells Broken"),
inventory_image = "marinara_seashells_broken.png",
})
minetest.register_node("marinara:seashellmobile_broken", {
description = S("Seashell Mobile Broken"),
drawtype = "plantlike",
waving = 0,
tiles = {"marinara_seashellmobile_broken.png"},
inventory_image = "marinara_seashellmobile_broken.png",
wield_image = "marinara_seashellmobile_broken.png",
paramtype = "light",
sunlight_propagates = true,
climbable = false,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.5, 6 / 16},
},
groups = {snappy = 3, flammable = 2},
sounds = default.node_sound_leaves_defaults(),
after_dig_node = function(pos, node, metadata, digger)
default.dig_up(pos, node, digger)
end,
})
minetest.register_node("marinara:sand_with_seashells_pink", {
description = S("Sand with Seashells Pink"),
tiles = {"default_sand.png^marinara_seashells_pink.png"},
groups = {crumbly = 3, falling_node = 1, sand = 1},
drop = "marinara:seashells_pink",
sounds = default.node_sound_sand_defaults(),
})
minetest.register_craft({
output = "marinara:seashellmobile_pink",
type = "shapeless",
recipe =
{"marinara:seashells_pink", "farming:string"}
})
minetest.register_craftitem("marinara:seashells_pink", {
description = S("Seashells Pink"),
inventory_image = "marinara_seashells_pink.png",
})
minetest.register_node("marinara:seashellmobile_pink", {
description = S("Seashell Mobile Pink"),
drawtype = "plantlike",
waving = 0,
tiles = {"marinara_seashellmobile_pink.png"},
inventory_image = "marinara_seashellmobile_pink.png",
wield_image = "marinara_seashellmobile_pink.png",
paramtype = "light",
sunlight_propagates = true,
climbable = false,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.5, 6 / 16},
},
groups = {snappy = 3, flammable = 2},
sounds = default.node_sound_leaves_defaults(),
after_dig_node = function(pos, node, metadata, digger)
default.dig_up(pos, node, digger)
end,
})
minetest.register_node("marinara:sand_with_seashells_brown", {
description = S("Sand with Seashells Brown"),
tiles = {"default_sand.png^marinara_seashells_brown.png"},
groups = {crumbly = 3, falling_node = 1, sand = 1},
drop = "marinara:seashells_brown",
sounds = default.node_sound_sand_defaults(),
})
minetest.register_craft({
output = "marinara:seashellmobile_brown",
type = "shapeless",
recipe =
{"marinara:seashells_brown", "farming:string"}
})
minetest.register_craftitem("marinara:seashells_brown", {
description = S("Seashells Brown"),
inventory_image = "marinara_seashells_brown.png",
})
minetest.register_node("marinara:seashellmobile_brown", {
description = S("Seashell Mobile Brown"),
drawtype = "plantlike",
waving = 0,
tiles = {"marinara_seashellmobile_brown.png"},
inventory_image = "marinara_seashellmobile_brown.png",
wield_image = "marinara_seashellmobile_brown.png",
paramtype = "light",
sunlight_propagates = true,
climbable = false,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.5, 6 / 16},
},
groups = {snappy = 3, flammable = 2},
sounds = default.node_sound_leaves_defaults(),
after_dig_node = function(pos, node, metadata, digger)
default.dig_up(pos, node, digger)
end,
})
minetest.register_node("marinara:sand_with_seashells_yellow", {
description = S("Sand with Seashells Yellow"),
tiles = {"default_sand.png^marinara_seashells_yellow.png"},
groups = {crumbly = 3, falling_node = 1, sand = 1},
drop = "marinara:seashells_yellow",
sounds = default.node_sound_sand_defaults(),
})
minetest.register_craft({
output = "marinara:seashellmobile_yellow",
type = "shapeless",
recipe =
{"marinara:seashells_yellow", "farming:string"}
})
minetest.register_craftitem("marinara:seashells_yellow", {
description = S("Seashells Yellow"),
inventory_image = "marinara_seashells_yellow.png",
})
minetest.register_node("marinara:seashellmobile_yellow", {
description = S("Seashell Mobile Yellow"),
drawtype = "plantlike",
waving = 0,
tiles = {"marinara_seashellmobile_yellow.png"},
inventory_image = "marinara_seashellmobile_yellow.png",
wield_image = "marinara_seashellmobile_yellow.png",
paramtype = "light",
sunlight_propagates = true,
climbable = false,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.5, 6 / 16},
},
groups = {snappy = 3, flammable = 2},
sounds = default.node_sound_leaves_defaults(),
after_dig_node = function(pos, node, metadata, digger)
default.dig_up(pos, node, digger)
end,
})
minetest.register_node("marinara:sand_with_seashells_white", {
description = S("Sand with Seashells White"),
tiles = {"default_sand.png^marinara_seashells_white.png"},
groups = {crumbly = 3, falling_node = 1, sand = 1},
drop = "marinara:seashells_white",
sounds = default.node_sound_sand_defaults(),
})
minetest.register_craft({
output = "marinara:seashellmobile_white",
type = "shapeless",
recipe =
{"marinara:seashells_white", "farming:string"}
})
minetest.register_craftitem("marinara:seashells_white", {
description = S("Seashells White"),
inventory_image = "marinara_seashells_white.png",
})
minetest.register_node("marinara:seashellmobile_white", {
description = S("Seashell Mobile White"),
drawtype = "plantlike",
waving = 0,
tiles = {"marinara_seashellmobile_white.png"},
inventory_image = "marinara_seashellmobile_white.png",
wield_image = "marinara_seashellmobile_white.png",
paramtype = "light",
sunlight_propagates = true,
climbable = false,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.5, 6 / 16},
},
groups = {snappy = 3, flammable = 2},
sounds = default.node_sound_leaves_defaults(),
after_dig_node = function(pos, node, metadata, digger)
default.dig_up(pos, node, digger)
end,
})

View File

@ -0,0 +1,4 @@
default
stairs
tnt
farming

View File

@ -0,0 +1 @@
adds water structures and coral reefs to your minetest game world

8
mods/marinara/hunger.lua Normal file
View File

@ -0,0 +1,8 @@
if minetest.get_modpath("hunger_ng") ~= nil then
hunger_ng.add_hunger_data('marinara:raw_oisters', {
satiates = 2.0,
})
hunger_ng.add_hunger_data('marinara:mussels_cooked', {
satiates = 5.0,
})
end

56
mods/marinara/init.lua Normal file
View File

@ -0,0 +1,56 @@
--This creates the marinara object.
marinara = {}
--This creates the marinara.settings object, and fills it with either the menu selected choices as defined in settingtypes.txt, or default values, (In this case, false).
marinara.settings = {
clear_biomes = minetest.settings:get_bool("marinara.clear_biomes") or false,
clear_decos = minetest.settings:get_bool("marinara.clear_decos") or false,
clear_ores = minetest.settings:get_bool("marinara.clear_ores") or false,
}
if marinara.settings.clear_biomes then
minetest.clear_registered_biomes()
end
if marinara.settings.clear_decos then
minetest.clear_registered_decorations()
end
if marinara.settings.clear_ores then
minetest.clear_registered_ores()
end
if minetest.get_translator ~= nil then
S = minetest.get_translator("skins")
else
if minetest.get_modpath("intllib") then
dofile(minetest.get_modpath("intllib").."/init.lua")
if intllib.make_gettext_pair then
gettext, ngettext = intllib.make_gettext_pair() -- new gettext method
else
gettext = intllib.Getter() -- old text file method
end
S = gettext
else -- boilerplate function
S = function(str, ...)
local args = {...}
return str:gsub("@%d", function(match)
return args[tonumber(match:sub(2))]
end)
end
end
end
marinara.S = S
local path = minetest.get_modpath(minetest.get_current_modname()) .. "/"
-- plants
dofile(path .. "coralnodes.lua") --
dofile(path .. "plants.lua") --
dofile(path .. "reefstuff.lua") --
dofile(path .. "crafting.lua") --
dofile(path .. "spawn.lua") --
dofile(path .. "hunger.lua") --

View File

@ -0,0 +1,87 @@
# textdomain: marinara
### coralnodes.lua ###
Brown Hard Coral=Braune Steinkoralle
Hard Coral=Steinkoralle
Blue Hard Coral=Blaue Steinkoralle
Green Hard Coral=Grüne Steinkoralle
Pink Hard Coral=Pinke Steinkoralle
Red Hard Coral=Rote Steinkoralle
Violet Hard Coral=Violette Steinkoralle
Yellow Hard Coral=Gelbe Steinkoralle
Coastal Rock=Küstenfels
Coastal Rock with Alage=Algiger Küstenfels
Sea Pocks=Seepocken
### crafting.lua ###
Reed Node=Schilfblock
Reed Node Stair=Schilftreppe
Reed Node Slab=Schilfplatte
Bounty Chest=Beutetruhe
Sand with Seashells=Sand mit Muscheln
Seashells=Muscheln
Seashell Mobile=Muschel Mobile
Coast Bricks=Küstenziegel
Coast Brick Wall=Küstenziegelmauer
Coast Rock Brick Stair=Küstenziegel Treppe
Coast Rock Brick Slab=Küstenziegel Platte
Coast Brick Wall with Alage=Algige Küstenziegelmauer
Coast Rock Brick Stair with Alage=Algige Küstenziegel Treppe
Coast Bricks with Alage=Algige Küstenziegel
Sand with Seashells Orange=Sand mit orangen Muscheln
Seashell Mobile=Muschel Mobile
Seashells Orange=Orange Muscheln
Seashell Mobile Orange=Muschel Mobile Orange
Sand with Seashells Broken=Sand mit zerbrochenen Muscheln
Seashells Broken=Zerbrochene Muscheln
Seashell Mobile Broken=Muschel Mobile mit Bruchstücken
Sand with Seashells Pink=Sand mit pinken Muscheln
Seashells Pink=Pinke Muscheln
Seashell Mobile Pink=Muschel Mobile Pink
Sand with Seashells Brown=Sand mit braunen Muscheln
Seashells Brown=Braune Muscheln
Seashell Mobile Brown=Muschel Mobile Braun
Sand with Seashells Yellow=Sand mit gelben Muscheln
Seashells Yellow=Gelbe Muscheln
Seashell Mobile Yellow=Muschel Mobile Gelb
Sand with Seashells White=Sand mit weißen Muscheln
Seashells White=Weiße Muscheln
Seashell Mobile White=Muschel Mobile Weiß
### plants.lua ###
Reed Root=Schilf mit Wurzeln
Reed=Schilf
Long Seagrass=Langes Seegras
Seagrass=Seegras
Alage=Alge
Brown Alage=Braunalge
### reefstuff.lua ###
Yellow Soft Coral=Gelbe Weichkoralle
White Soft Coral=Weiße Weichkoralle
Red Soft Coral=Rote Weichkoralle
Green Soft Coral=Grüne Weichkoralle
Soft Coral=Weichkoralle
Brown Soft Coral=Braune Weichkoralle
Sea Anemone=Seeanemone
Sea Worm=Fächerwurm
Mussel Node=Muschelblock
Cooked Mussels=Gekochte Muscheln
Oister Bank=Austernbank
Raw Oisters=Rohe Austern

3
mods/marinara/mod.conf Normal file
View File

@ -0,0 +1,3 @@
name = marinara
description = adds water structures and coral reefs to your minetest game world
depends = default, stairs, tnt, farming

415
mods/marinara/plants.lua Normal file
View File

@ -0,0 +1,415 @@
local S = marinara.S
minetest.register_node("marinara:reed_root", {
description = S("Reed Root"),
drawtype = "plantlike_rooted",
visual_scale = 3.5,
waving = 1,
paramtype = "light",
tiles = {"default_dirt.png"},
special_tiles = {{name = "marinara_reed_root.png", tileable_vertical = true}},
inventory_image = "marinara_reed_root.png",
wield_image = "marinara_reed_root.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:dirt",
node_placement_prediction = "",
sounds = default.node_sound_stone_defaults({
dig = {name = "default_dig_snappy", gain = 0.2},
dug = {name = "default_grass_footstep", gain = 0.25},
}),
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "default:dirt"})
end,
})
minetest.register_node("marinara:reed", {
description = S("Reed"),
drawtype = "plantlike",
waving = 1,
visual_scale = 3.5,
tiles = {"marinara_reed.png"},
inventory_image = "marinara_reed.png",
wield_image = "marinara_reed.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-6 / 16, -0.5, -6 / 16, 6 / 16, 0.5, 6 / 16},
},
groups = {snappy = 3, flammable = 2},
sounds = default.node_sound_leaves_defaults(),
after_dig_node = function(pos, node, metadata, digger)
default.dig_up(pos, node, digger)
end,
})
minetest.register_node("marinara:sand_with_kelp", {
description = ("Kelp"),
drawtype = "plantlike_rooted",
waving = 1,
tiles = {"default_sand.png"},
special_tiles = {{name = "marinara_kelp.png", tileable_vertical = true, waving = 1, animation = {type="vertical_frames", length = 2}}},
inventory_image = "marinara_kelp_inv.png",
visual_scale = 2.0,
wield_image = "marinara_kelp_inv.png",
paramtype = "light",
paramtype2 = "leveled",
groups = {snappy = 3},
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
{-2/16, 0.5, -2/16, 2/16, 3.5, 2/16},
},
},
node_dig_prediction = "default:sand",
node_placement_prediction = "",
sounds = default.node_sound_sand_defaults({
dig = {name = "default_dig_snappy", gain = 0.2},
dug = {name = "default_grass_footstep", gain = 0.25},
}),
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.under
if minetest.get_node(pos).name ~= "default:sand" then
return itemstack
end
local height = math.random(4, 12)
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 = "marinara:sand_with_kelp",
param2 = height * 8})
if not minetest.is_creative_enabled(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,
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "default:sand"})
end
})
minetest.register_node("marinara:sand_with_seagrass2", {
description = S("Long Seagrass"),
drawtype = "plantlike_rooted",
waving = 1,
tiles = {"default_sand.png"},
special_tiles = {{name = "marinara_seagrass.png", tileable_vertical = true, waving = 1, animation = {type="vertical_frames", length = 2}}},
inventory_image = "marinara_seagrass_inv.png",
visual_scale = 2.0,
wield_image = "marinara_seagrass_inv.png",
paramtype = "light",
paramtype2 = "leveled",
groups = {snappy = 3},
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
{-2/16, 0.5, -2/16, 2/16, 1, 2/16},
},
},
node_dig_prediction = "default:sand",
node_placement_prediction = "",
sounds = default.node_sound_sand_defaults({
dig = {name = "default_dig_snappy", gain = 0.2},
dug = {name = "default_grass_footstep", gain = 0.25},
}),
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.under
if minetest.get_node(pos).name ~= "default:sand" then
return itemstack
end
local height = math.random(2, 2)
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 = "marinara:sand_with_seagrass2",
param2 = height * 8})
if not minetest.is_creative_enabled(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,
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "default:sand"})
end
})
minetest.register_node("marinara:sand_with_seagrass", {
description = S("Seagrass"),
drawtype = "plantlike_rooted",
waving = 1,
tiles = {"default_sand.png"},
special_tiles = {{name = "marinara_seagrass.png", tileable_vertical = true, waving = 1, animation = {type="vertical_frames", length = 2}}},
inventory_image = "marinara_seagrass_inv.png",
visual_scale = 2.0,
wield_image = "marinara_seagrass_inv.png",
paramtype = "light",
paramtype2 = "leveled",
groups = {snappy = 3},
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
{-2/16, 0.5, -2/16, 2/16, 1, 2/16},
},
},
node_dig_prediction = "default:sand",
node_placement_prediction = "",
sounds = default.node_sound_sand_defaults({
dig = {name = "default_dig_snappy", gain = 0.2},
dug = {name = "default_grass_footstep", gain = 0.25},
}),
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.under
if minetest.get_node(pos).name ~= "default:sand" then
return itemstack
end
local height = math.random(1, 1)
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 = "marinara:sand_with_seagrass",
param2 = height * 8})
if not minetest.is_creative_enabled(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,
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "default:sand"})
end
})
minetest.register_node("marinara:sand_with_alage", {
description = S("Alage"),
drawtype = "plantlike_rooted",
waving = 1,
tiles = {"default_sand.png"},
special_tiles = {{name = "marinara_alage.png", tileable_vertical = true, waving = 1, animation = {type="vertical_frames", length = 2}}},
inventory_image = "marinara_alage_inv.png",
visual_scale = 1.0,
wield_image = "marinara_alage_inv.png",
paramtype = "light",
paramtype2 = "leveled",
groups = {snappy = 3},
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
{-2/16, 0.5, -2/16, 2/16, 1, 2/16},
},
},
node_dig_prediction = "default:sand",
node_placement_prediction = "",
sounds = default.node_sound_sand_defaults({
dig = {name = "default_dig_snappy", gain = 0.2},
dug = {name = "default_grass_footstep", gain = 0.25},
}),
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.under
if minetest.get_node(pos).name ~= "default:sand" then
return itemstack
end
local height = math.random(1, 1)
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 = "marinara:sand_with_alage",
param2 = height * 16})
if not minetest.is_creative_enabled(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,
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "default:sand"})
end
})
minetest.register_node("marinara:coastrock_with_brownalage", {
description = S("Brown Alage"),
drawtype = "plantlike_rooted",
waving = 1,
tiles = {"marinara_coastrock.png"},
special_tiles = {{name = "marinara_brownalage.png", tileable_vertical = true, waving = 1, animation = {type="vertical_frames", length = 2}}},
inventory_image = "marinara_brownalage_inv.png",
visual_scale = 2.0,
wield_image = "marinara_brownalage_inv.png",
paramtype = "light",
paramtype2 = "leveled",
groups = {snappy = 3},
selection_box = {
type = "fixed",
fixed = {
{-0.5, -0.5, -0.5, 0.5, 0.5, 0.5},
{-2/16, 0.5, -2/16, 2/16, 1, 2/16},
},
},
node_dig_prediction = "marinara:coastrock",
node_placement_prediction = "",
sounds = default.node_sound_sand_defaults({
dig = {name = "default_dig_snappy", gain = 0.2},
dug = {name = "default_grass_footstep", gain = 0.25},
}),
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.under
if minetest.get_node(pos).name ~= "default:sand" then
return itemstack
end
local height = math.random(2, 2)
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 = "marinara:coastrock_with_brownalage",
param2 = height * 8})
if not minetest.is_creative_enabled(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,
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "marinara:coastrock"})
end
})

497
mods/marinara/reefstuff.lua Normal file
View File

@ -0,0 +1,497 @@
local S = marinara.S
-- soft corals
minetest.register_node("marinara:softcoral_yellow", {
description = S("Yellow Soft Coral"),
drawtype = "plantlike_rooted",
waving = 1,
visual_scale = 2.0,
paramtype = "light",
tiles = {"marinara_hardcoral.png"},
special_tiles = {{name = "marinara_softcoral_yellow.png", tileable_vertical = true, waving = 1, animation = {type="vertical_frames", length = 2}}},
inventory_image = "marinara_softcoral_yellow_inv.png",
wield_image = "marinara_softcoral_yellow_inv.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 = "marinara:hardcoral",
node_placement_prediction = "",
sounds = default.node_sound_stone_defaults({
dig = {name = "default_dig_snappy", gain = 0.2},
dug = {name = "default_grass_footstep", gain = 0.25},
}),
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "marinara:hardcoral"})
end,
})
minetest.register_node("marinara:softcoral_white", {
description = S("White Soft Coral"),
drawtype = "plantlike_rooted",
waving = 1,
visual_scale = 2.0,
paramtype = "light",
tiles = {"marinara_hardcoral.png"},
special_tiles = {{name = "marinara_softcoral_white.png", tileable_vertical = true, waving = 1, animation = {type="vertical_frames", length = 2}}},
inventory_image = "marinara_softcoral_white_inv.png",
wield_image = "marinara_softcoral_white_inv.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 = "marinara:hardcoral",
node_placement_prediction = "",
sounds = default.node_sound_stone_defaults({
dig = {name = "default_dig_snappy", gain = 0.2},
dug = {name = "default_grass_footstep", gain = 0.25},
}),
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "marinara:hardcoral"})
end,
})
minetest.register_node("marinara:softcoral_red", {
description = S("Red Soft Coral"),
drawtype = "plantlike_rooted",
waving = 1,
visual_scale = 2.0,
paramtype = "light",
tiles = {"marinara_hardcoral.png"},
special_tiles = {{name = "marinara_softcoral_red.png", tileable_vertical = true, waving = 1}},
inventory_image = "marinara_softcoral_red.png",
wield_image = "marinara_softcoral_red.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 = "marinara:hardcoral",
node_placement_prediction = "",
sounds = default.node_sound_stone_defaults({
dig = {name = "default_dig_snappy", gain = 0.2},
dug = {name = "default_grass_footstep", gain = 0.25},
}),
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "marinara:hardcoral"})
end,
})
minetest.register_node("marinara:softcoral_green", {
description = S("Green Soft Coral"),
drawtype = "plantlike_rooted",
waving = 1,
visual_scale = 1.0,
paramtype = "light",
tiles = {"marinara_hardcoral.png"},
special_tiles = {{name = "marinara_softcoral_green.png", tileable_vertical = true, waving = 1}},
inventory_image = "marinara_softcoral_green.png",
wield_image = "marinara_softcoral_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 = "marinara:hardcoral",
node_placement_prediction = "",
sounds = default.node_sound_stone_defaults({
dig = {name = "default_dig_snappy", gain = 0.2},
dug = {name = "default_grass_footstep", gain = 0.25},
}),
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "marinara:hardcoral"})
end,
})
minetest.register_node("marinara:softcoral", {
description = S("Soft Coral"),
drawtype = "plantlike_rooted",
waving = 1,
visual_scale = 1.0,
paramtype = "light",
tiles = {"marinara_hardcoral.png"},
special_tiles = {{name = "marinara_softcoral.png", tileable_vertical = true, waving = 1}},
inventory_image = "marinara_softcoral.png",
wield_image = "marinara_softcoral_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 = "marinara:hardcoral",
node_placement_prediction = "",
sounds = default.node_sound_stone_defaults({
dig = {name = "default_dig_snappy", gain = 0.2},
dug = {name = "default_grass_footstep", gain = 0.25},
}),
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "marinara:hardcoral"})
end,
})
minetest.register_node("marinara:softcoral_brown", {
description = S("Brown Soft Coral"),
drawtype = "plantlike_rooted",
waving = 1,
visual_scale = 2.0,
paramtype = "light",
tiles = {"marinara_hardcoral.png"},
special_tiles = {{name = "marinara_softcoral_brown.png", tileable_vertical = true, waving = 1, animation = {type="vertical_frames", length = 2}}},
inventory_image = "marinara_softcoral_brown_inv.png",
wield_image = "marinara_softcoral_brown_inv.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 = "marinara:hardcoral",
node_placement_prediction = "",
sounds = default.node_sound_stone_defaults({
dig = {name = "default_dig_snappy", gain = 0.2},
dug = {name = "default_grass_footstep", gain = 0.25},
}),
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "marinara:hardcoral"})
end,
})
--- sea anemones
minetest.register_node("marinara:seaanemone_tentacle", {
description = S("Sea Anemone"),
drawtype = "plantlike_rooted",
waving = 1,
visual_scale = 1.0,
paramtype = "light",
tiles = {"marinara_coastrock.png"},
special_tiles = {{name = "marinara_seaanemone_tentacle.png", tileable_vertical = true, waving = 1, animation = {type="vertical_frames", length = 3}}},
inventory_image = "marinara_seaanemone_tentacle_inv.png",
wield_image = "marinara_seaanemone_tentacle_inv.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 = "marinara:coastrock",
node_placement_prediction = "",
sounds = default.node_sound_stone_defaults({
dig = {name = "default_dig_snappy", gain = 0.2},
dug = {name = "default_grass_footstep", gain = 0.25},
}),
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "marinara:coastrock"})
end,
})
minetest.register_node("marinara:seaanemone_tentacle2", {
description = S("Sea Anemone"),
drawtype = "plantlike_rooted",
waving = 1,
visual_scale = 1.0,
paramtype = "light",
tiles = {"marinara_coastrock.png"},
special_tiles = {{name = "marinara_seaanemone_tentacle2.png", tileable_vertical = true, waving = 1, animation = {type="vertical_frames", length = 3}}},
inventory_image = "marinara_seaanemone_tentacle2_inv.png",
wield_image = "marinara_seaanemone_tentacle2_inv.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 = "marinara:coastrock",
node_placement_prediction = "",
sounds = default.node_sound_stone_defaults({
dig = {name = "default_dig_snappy", gain = 0.2},
dug = {name = "default_grass_footstep", gain = 0.25},
}),
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "marinara:coastrock"})
end,
})
minetest.register_node("marinara:seaanemone_tentacle3", {
description = S("Sea Anemone"),
drawtype = "plantlike_rooted",
waving = 1,
visual_scale = 1.0,
paramtype = "light",
tiles = {"marinara_coastrock.png"},
special_tiles = {{name = "marinara_seaanemone_tentacle3.png", tileable_vertical = true, waving = 1, animation = {type="vertical_frames", length = 3}}},
inventory_image = "marinara_seaanemone_tentacle3_inv.png",
wield_image = "marinara_seaanemone_tentacle3_inv.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 = "marinara:coastrock",
node_placement_prediction = "",
sounds = default.node_sound_stone_defaults({
dig = {name = "default_dig_snappy", gain = 0.2},
dug = {name = "default_grass_footstep", gain = 0.25},
}),
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "marinara:coastrock"})
end,
})
minetest.register_node("marinara:seaanemone_tentacle4", {
description = S("Sea Anemone"),
drawtype = "plantlike_rooted",
waving = 1,
visual_scale = 1.0,
paramtype = "light",
tiles = {"marinara_coastrock.png"},
special_tiles = {{name = "marinara_seaanemone_tentacle4.png", tileable_vertical = true, waving = 1, animation = {type="vertical_frames", length = 3}}},
inventory_image = "marinara_seaanemone_tentacle4_inv.png",
wield_image = "marinara_seaanemone_tentacle4_inv.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 = "marinara:coastrock",
node_placement_prediction = "",
sounds = default.node_sound_stone_defaults({
dig = {name = "default_dig_snappy", gain = 0.2},
dug = {name = "default_grass_footstep", gain = 0.25},
}),
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "marinara:coastrock"})
end,
})
--- fan worms
minetest.register_node("marinara:seaworm", {
description = S("Sea Worm"),
drawtype = "plantlike_rooted",
waving = 1,
visual_scale = 1.0,
paramtype = "light",
tiles = {"marinara_seapocks.png"},
special_tiles = {{name = "marinara_seaworm.png", tileable_vertical = true, waving = 1, animation = {type="vertical_frames", length = 3}}},
inventory_image = "marinara_seaworm_inv.png",
wield_image = "marinara_seaworm_inv.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 = "marinara:seapocks",
node_placement_prediction = "",
sounds = default.node_sound_stone_defaults({
dig = {name = "default_dig_snappy", gain = 0.2},
dug = {name = "default_grass_footstep", gain = 0.25},
}),
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "marinara:seapocks"})
end,
})
minetest.register_node("marinara:seaworm2", {
description = S("Sea Worm"),
drawtype = "plantlike_rooted",
waving = 1,
visual_scale = 1.0,
paramtype = "light",
tiles = {"marinara_seapocks.png"},
special_tiles = {{name = "marinara_seaworm2.png", tileable_vertical = true, waving = 1, animation = {type="vertical_frames", length = 3}}},
inventory_image = "marinara_seaworm2_inv.png",
wield_image = "marinara_seaworm2_inv.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 = "marinara:seapocks",
node_placement_prediction = "",
sounds = default.node_sound_stone_defaults({
dig = {name = "default_dig_snappy", gain = 0.2},
dug = {name = "default_grass_footstep", gain = 0.25},
}),
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "marinara:seapocks"})
end,
})
minetest.register_node("marinara:seaworm3", {
description = S("Sea Worm"),
drawtype = "plantlike_rooted",
waving = 1,
visual_scale = 2.0,
paramtype = "light",
tiles = {"marinara_seapocks.png"},
special_tiles = {{name = "marinara_seaworm3.png", tileable_vertical = true, waving = 1, animation = {type="vertical_frames", length = 12}}},
inventory_image = "marinara_seaworm3_inv.png",
wield_image = "marinara_seaworm3_inv.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 = "marinara:seapocks",
node_placement_prediction = "",
sounds = default.node_sound_stone_defaults({
dig = {name = "default_dig_snappy", gain = 0.2},
dug = {name = "default_grass_footstep", gain = 0.25},
}),
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "marinara:seapocks"})
end,
})
-- mussels and oisters
minetest.register_node("marinara:mussels", {
description = S("Mussel Node"),
tiles = {
{
name = "marinara_mussles.png",
animation = {type="vertical_frames", length = 4}
}
},
inventory_image = "marinara_mussles_inv.png",
wield_image = "marinara_mussles_inv.png",
groups = {cracky = 2},
drop = "marinara:mussels",
sounds = default.node_sound_stone_defaults(),
})
minetest.register_craft({
type = "cooking",
output = "marinara:mussels_cooked",
recipe = "marinara:mussels",
cooktime = 5
})
minetest.register_craftitem("marinara:mussels_cooked", {
description = S("Cooked Mussels"),
inventory_image = "marinara_mussles_cooked.png",
on_use = minetest.item_eat(8),
groups = {food_meat = 1, flammable = 2}
})
minetest.register_node("marinara:oisterbank", {
description = S("Oister Bank"),
drawtype = "plantlike_rooted",
waving = 0,
visual_scale = 2.0,
paramtype = "light",
tiles = {"marinara_seapocks.png"},
special_tiles = {{name = "marinara_oisterbank.png", tileable_vertical = true}},
inventory_image = "marinara_oisterbank.png",
wield_image = "marinara_oisterbank.png",
groups = {cracky = 2},
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 = "marinara:seapocks",
node_placement_prediction = "",
drop = "marinara:raw_oisters",
sounds = default.node_sound_stone_defaults({
dig = {name = "default_dig_choppy", gain = 0.2},
dug = {name = "default_dig_choppy", gain = 0.25},
}),
after_destruct = function(pos, oldnode)
minetest.set_node(pos, {name = "marinara:raw_oisters"})
end,
})
minetest.register_node("marinara:raw_oisters", {
description = S("Raw Oisters"),
drawtype = "plantlike",
tiles = {"marinara_rawoisters.png"},
inventory_image = "marinara_rawoisters.png",
wield_image = "marinara_rawoisters.png",
paramtype = "light",
sunlight_propagates = true,
walkable = false,
selection_box = {
type = "fixed",
fixed = {-0.31, -0.5, -0.31, 0.31, 0.5, 0.31}
},
groups = {food = 1, flammable = 2, fleshy = 3, dig_immediate = 3},
drop = "marinara:raw_oisters",
on_use = minetest.item_eat(6),
sounds = default.node_sound_leaves_defaults(),
after_place_node = function(pos, placer)
if placer:is_player() then
minetest.set_node(pos, {name = "marinara:raw_oisters", param2 = 1})
end
end
})

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 661 KiB

View File

@ -0,0 +1,10 @@
#marinara settings
#If enabled, will clear all registered biomes.
marinara.clear_biomes (Enable to clear registered biomes. true / false) bool true
#If enabled, will clear all registered decorations.
marinara.clear_decos (Enable to clear registered decorations. true / false) bool true
#If enabled, will clear all registered ores.
marinara.clear_ores (Enable to clear registered ores. true / false) bool false

948
mods/marinara/spawn.lua Normal file
View File

@ -0,0 +1,948 @@
--- seashells
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:sand"},
sidelen = 16,
noise_params = {
offset = -0,
scale = 0.01,
spread = {x = 100, y = 100, z = 100},
seed = 3789,
octaves = 4,
persist = 0.8,
},
place_offset_y=-1,
flags = "place_center_x,place_center_z,force_placement",
biomes = {"savanna_shore", "savanna_ocean", "coniferous_forest_ocean", "sandstone_desert_ocean", "grassland_ocean",},
y_max = 2,
y_min = 0,
decoration = "marinara:sand_with_seashells"
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:sand"},
sidelen = 16,
noise_params = {
offset = -0,
scale = 0.01,
spread = {x = 100, y = 100, z = 100},
seed = 3789,
octaves = 4,
persist = 0.8,
},
place_offset_y=-1,
flags = "place_center_x,place_center_z,force_placement",
biomes = {"savanna_shore", "savanna_ocean", "coniferous_forest_ocean", "sandstone_desert_ocean", "grassland_ocean",},
y_max = 2,
y_min = 0,
decoration = "marinara:sand_with_seashells_broken"
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:sand"},
sidelen = 16,
noise_params = {
offset = -0,
scale = 0.01,
spread = {x = 100, y = 100, z = 100},
seed = 3789,
octaves = 4,
persist = 0.8,
},
place_offset_y=-1,
flags = "place_center_x,place_center_z,force_placement",
biomes = {"savanna_shore", "savanna_ocean", "coniferous_forest_ocean", "sandstone_desert_ocean", "grassland_ocean",},
y_max = 2,
y_min = 0,
decoration = "marinara:sand_with_seashells_white"
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:sand"},
sidelen = 16,
noise_params = {
offset = -0,
scale = 0.01,
spread = {x = 100, y = 100, z = 100},
seed = 3789,
octaves = 4,
persist = 0.8,
},
place_offset_y=-1,
flags = "place_center_x,place_center_z,force_placement",
biomes = {"savanna_shore", "savanna_ocean", "coniferous_forest_ocean", "sandstone_desert_ocean", "grassland_ocean",},
y_max = 2,
y_min = 0,
decoration = "marinara:sand_with_seashells_yellow"
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:sand"},
sidelen = 16,
noise_params = {
offset = -0,
scale = 0.01,
spread = {x = 100, y = 100, z = 100},
seed = 3789,
octaves = 4,
persist = 0.8,
},
place_offset_y=-1,
flags = "place_center_x,place_center_z,force_placement",
biomes = {"savanna_shore", "savanna_ocean", "coniferous_forest_ocean", "sandstone_desert_ocean", "grassland_ocean",},
y_max = 2,
y_min = 0,
decoration = "marinara:sand_with_seashells_brown"
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:sand"},
sidelen = 16,
noise_params = {
offset = -0,
scale = 0.01,
spread = {x = 100, y = 100, z = 100},
seed = 3789,
octaves = 4,
persist = 0.8,
},
place_offset_y=-1,
flags = "place_center_x,place_center_z,force_placement",
biomes = {"savanna_shore", "savanna_ocean", "coniferous_forest_ocean", "sandstone_desert_ocean", "grassland_ocean",},
y_max = 2,
y_min = 0,
decoration = "marinara:sand_with_seashells_pink"
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:sand"},
sidelen = 16,
noise_params = {
offset = -0,
scale = 0.01,
spread = {x = 100, y = 100, z = 100},
seed = 3789,
octaves = 4,
persist = 0.8,
},
place_offset_y=-1,
flags = "place_center_x,place_center_z,force_placement",
biomes = {"savanna_shore", "savanna_ocean", "coniferous_forest_ocean", "sandstone_desert_ocean", "grassland_ocean",},
y_max = 2,
y_min = 0,
decoration = "marinara:sand_with_seashells_orange"
})
--- wrecks
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.00001,
biomes = {"cold_desert_ocean", "coniferous_forest_ocean", "deciduous_forest_ocean", "grassland_ocean", "sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean", "tundra_ocean", "icesheet_ocean", "snowy_grassland_ocean",},
flags = "place_center_x,place_center_z,force_placement",
y_max = -10,
y_min = -20,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_wreck.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.00001,
biomes = {"cold_desert_ocean", "coniferous_forest_ocean", "deciduous_forest_ocean", "grassland_ocean", "sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean", "tundra_ocean", "icesheet_ocean", "snowy_grassland_ocean",},
flags = "place_center_x,place_center_z,force_placement",
y_max = -10,
y_min = -20,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_wreck2.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.00001,
biomes = {"cold_desert_ocean", "coniferous_forest_ocean", "deciduous_forest_ocean", "grassland_ocean", "sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean", "tundra_ocean", "icesheet_ocean", "snowy_grassland_ocean",},
flags = "place_center_x,place_center_z,force_placement",
y_max = -10,
y_min = -20,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_wreck3.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.00001,
biomes = {"cold_desert_ocean", "coniferous_forest_ocean", "deciduous_forest_ocean", "grassland_ocean", "sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean", "tundra_ocean", "icesheet_ocean", "snowy_grassland_ocean",},
flags = "place_center_x,place_center_z,force_placement",
y_max = -10,
y_min = -20,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_wreckbounty.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.00001,
biomes = {"cold_desert_ocean", "coniferous_forest_ocean", "deciduous_forest_ocean", "grassland_ocean", "sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean", "tundra_ocean", "icesheet_ocean", "snowy_grassland_ocean",},
flags = "place_center_x,place_center_z,force_placement",
y_max = -10,
y_min = -20,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_wreckbounty2.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.00001,
biomes = {"cold_desert_ocean", "coniferous_forest_ocean", "deciduous_forest_ocean", "grassland_ocean", "sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean", "tundra_ocean", "icesheet_ocean", "snowy_grassland_ocean",},
flags = "place_center_x,place_center_z,force_placement",
y_max = -10,
y_min = -20,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_wreckbounty3.mts",
rotation = "random",
})
--- cold oceans
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0009,
biomes = {"cold_desert_ocean", "tundra_ocean", "icesheet_ocean", "snowy_grassland_ocean",},
flags = "place_center_x,place_center_z,force_placement",
y_max = -1,
y_min = -4,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coast_rock.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0009,
biomes = {"cold_desert_ocean", "tundra_ocean", "icesheet_ocean", "snowy_grassland_ocean",},
flags = "place_center_x,place_center_z,force_placement",
y_max = -1,
y_min = -4,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coast_rock2.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0009,
biomes = {"cold_desert_ocean", "tundra_ocean", "icesheet_ocean", "snowy_grassland_ocean",},
flags = "place_center_x,place_center_z,force_placement",
y_max = -1,
y_min = -4,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coast_rock3.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0009,
biomes = {"cold_desert_ocean", "tundra_ocean", "icesheet_ocean", "snowy_grassland_ocean",},
flags = "place_center_x,place_center_z,force_placement",
y_max = -1,
y_min = -4,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coast_rock4.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0009,
biomes = {"cold_desert_ocean", "tundra_ocean", "icesheet_ocean", "snowy_grassland_ocean",},
flags = "place_center_x,place_center_z,force_placement",
y_max = -1,
y_min = -4,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coast_rock5.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0009,
biomes = {"cold_desert_ocean", "tundra_ocean", "icesheet_ocean", "snowy_grassland_ocean",},
flags = "place_center_x,place_center_z,force_placement",
y_max = -1,
y_min = -4,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coast_rock6.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0009,
biomes = {"cold_desert_ocean", "tundra_ocean", "icesheet_ocean", "snowy_grassland_ocean",},
flags = "place_center_x,place_center_z,force_placement",
y_max = -3,
y_min = -5,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coast_rock7.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0007,
biomes = {"cold_desert_ocean", "tundra_ocean", "icesheet_ocean", "snowy_grassland_ocean", "coniferous_forest_ocean", "grassland_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -2,
y_min = -3,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_oister_bank.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0007,
biomes = {"cold_desert_ocean", "tundra_ocean", "icesheet_ocean", "snowy_grassland_ocean", "coniferous_forest_ocean", "grassland_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -2,
y_min = -3,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_oister_bank2.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0007,
biomes = {"cold_desert_ocean", "tundra_ocean", "icesheet_ocean", "snowy_grassland_ocean", "coniferous_forest_ocean", "grassland_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -2,
y_min = -3,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_oister_bank3.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0007,
biomes = {"cold_desert_ocean", "coniferous_forest_ocean", "grassland_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -2,
y_min = -3,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_musslebank.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0007,
biomes = {"cold_desert_ocean", "coniferous_forest_ocean", "grassland_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -2,
y_min = -3,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_musslebank2.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0007,
biomes = {"cold_desert_ocean", "coniferous_forest_ocean", "grassland_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -2,
y_min = -3,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_musslebank3.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0007,
biomes = {"snowy_grassland_ocean", "coniferous_forest_ocean", "grassland_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -5,
y_min = -10,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coldreef.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0007,
biomes = {"snowy_grassland_ocean", "coniferous_forest_ocean", "grassland_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -5,
y_min = -10,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coldreef2.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0007,
biomes = {"snowy_grassland_ocean", "coniferous_forest_ocean", "grassland_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -5,
y_min = -10,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coldreef3.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0007,
biomes = {"snowy_grassland_ocean", "coniferous_forest_ocean", "grassland_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -5,
y_min = -10,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coldreef4.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0007,
biomes = {"snowy_grassland_ocean", "coniferous_forest_ocean", "grassland_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -5,
y_min = -10,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coldreef5.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0007,
biomes = {"snowy_grassland_ocean", "coniferous_forest_ocean", "grassland_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -5,
y_min = -10,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coldreef6.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "simple",
place_on = {"default:sand"},
place_offset_y = -1,
sidelen = 16,
noise_params = {
offset = -0.04,
scale = 0.2,
spread = {x = 300, y = 300, z = 300},
seed = 87112,
octaves = 5,
persist = 0.9
},
biomes = {
"taiga_ocean",
"snowy_grassland_ocean",
"grassland_ocean",
"coniferous_forest_ocean",
"deciduous_forest_ocean",
"sandstone_desert_ocean",
"cold_desert_ocean"},
y_max = -11,
y_min = -16,
flags = "force_placement",
decoration = "marinara:sand_with_kelp",
param2 = 48,
param2_max = 96,
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand", "naturalbiomes:palmbeach_sand"},
sidelen = 16,
noise_params = {
offset = -0.04,
scale = 0.2,
spread = {x = 100, y = 100, z = 100},
seed = 87112,
octaves = 7,
persist = 0.9
},
biomes = {"coniferous_forest_ocean", "deciduous_forest_ocean", "grassland_ocean", "sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean", "tundra_ocean", "snowy_grassland_ocean", "naturalbiomes:palmbeach",},
flags = "place_center_x,place_center_z,force_placement",
y_max = -3,
y_min = -8,
place_offset_y=0,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_seagrass.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand", "naturalbiomes:palmbeach_sand"},
sidelen = 16,
noise_params = {
offset = -0.04,
scale = 0.2,
spread = {x = 100, y = 100, z = 100},
seed = 87112,
octaves = 7,
persist = 0.9
},
biomes = {"coniferous_forest_ocean", "deciduous_forest_ocean", "grassland_ocean", "sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean", "tundra_ocean", "snowy_grassland_ocean", "naturalbiomes:palmbeach",},
flags = "place_center_x,place_center_z,force_placement",
y_max = -4,
y_min = -8,
place_offset_y=0,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_seagrass_long.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand", "naturalbiomes:palmbeach_sand"},
sidelen = 16,
noise_params = {
offset = -0.04,
scale = 0.2,
spread = {x = 100, y = 100, z = 100},
seed = 87112,
octaves = 7,
persist = 0.9
},
biomes = {"deciduous_forest_ocean", "grassland_ocean", "coniferous_forest_ocean", "naturalbiomes:palmbeach",},
flags = "place_center_x,place_center_z,force_placement",
y_max = -0,
y_min = -3,
place_offset_y=0,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_alage.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
noise_params = {
offset = -0.04,
scale = 0.2,
spread = {x = 100, y = 100, z = 100},
seed = 87112,
octaves = 7,
persist = 0.9
},
biomes = {"cold_desert_ocean", "coniferous_forest_ocean", "grassland_ocean", "tundra_ocean", "icesheet_ocean", "snowy_grassland_ocean",},
flags = "place_center_x,place_center_z,force_placement",
y_max = -1,
y_min = -5,
place_offset_y=0,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_brownalage.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:dirt_with_grass"},
sidelen = 16,
noise_params = {
offset = -0.04,
scale = 0.2,
spread = {x = 100, y = 100, z = 100},
seed = 87112,
octaves = 7,
persist = 0.9
},
biomes = {"deciduous_forest_ocean", "deciduous_forest_shore"},
spawn_by = "default:water_source",
flags = "place_center_x,place_center_z,force_placement",
y_max = 1,
y_min = 0,
place_offset_y=0,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_reed.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:dirt"},
sidelen = 16,
noise_params = {
offset = -0.04,
scale = 0.2,
spread = {x = 100, y = 100, z = 100},
seed = 87112,
octaves = 7,
persist = 0.9
},
biomes = {"deciduous_forest_ocean", "deciduous_forest_shore"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -0,
y_min = -0,
place_offset_y=0,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_reed2.mts",
rotation = "random",
})
--- tropical oceans
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0003,
biomes = {"sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -6,
y_min = -12,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coralreef.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0003,
biomes = {"sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -6,
y_min = -12,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coralreef2.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0003,
biomes = {"sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -6,
y_min = -12,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coralreef3.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0003,
biomes = {"sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -6,
y_min = -12,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coralreef_blue.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0003,
biomes = {"sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -6,
y_min = -12,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coralreef_blue2.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0003,
biomes = {"sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -6,
y_min = -12,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coralreef_blue3.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0003,
biomes = {"sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -6,
y_min = -12,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coralreef_brown.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0003,
biomes = {"sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -6,
y_min = -12,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coralreef_brown2.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0003,
biomes = {"sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -6,
y_min = -12,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coralreef_brown3.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0003,
biomes = {"sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -6,
y_min = -12,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coralreef_green.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0003,
biomes = {"sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -6,
y_min = -12,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coralreef_green2.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0003,
biomes = {"sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -6,
y_min = -12,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coralreef_green3.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0003,
biomes = {"sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -6,
y_min = -12,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coralreef_pink.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0003,
biomes = {"sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -6,
y_min = -12,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coralreef_pink2.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0003,
biomes = {"sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -6,
y_min = -12,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coralreef_pink3.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0003,
biomes = {"sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -6,
y_min = -12,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coralreef_red.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0003,
biomes = {"sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -6,
y_min = -12,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coralreef_red2.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0003,
biomes = {"sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -6,
y_min = -12,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coralreef_red3.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0003,
biomes = {"sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -6,
y_min = -12,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coralreef_yellow.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0003,
biomes = {"sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -6,
y_min = -12,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coralreef_yellow2.mts",
rotation = "random",
})
minetest.register_decoration({
deco_type = "schematic",
place_on = {"default:sand"},
sidelen = 16,
fill_ratio = 0.0003,
biomes = {"sandstone_desert_ocean", "savanna_ocean", "rainforest_ocean"},
flags = "place_center_x,place_center_z,force_placement",
y_max = -6,
y_min = -12,
place_offset_y=-1,
schematic = minetest.get_modpath("marinara").."/schematics/marinara_coralreef_yellow3.mts",
rotation = "random",
})

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 999 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Some files were not shown because too many files have changed in this diff Show More