Compare commits

...

4 Commits

Author SHA1 Message Date
4359f69bdf mods - marinara - crush the png files to reduce size for lde mobiles and clients
* older clients and low end devices/mobile crash or get hot on too
  much downloaded files.. so reduce size to get a better performace
2023-07-13 15:38:47 -05:00
797c11dc8b incorporate marinara mod for living great biomes under water
* using forked version due backguard compatibility
2023-07-13 15:31:31 -05:00
c770d5cb43 mods creative - fix creative mode mod backguard compatibility for all engines
* dont follow the creative upstream mod,
  its just wrapper around get_bool(creative) setting, so create a check privilegie
  function and provide backguard compatibility checks
2023-07-13 10:50:49 -05:00
71dd817119 new menu appearance using idead from others games 2023-07-13 07:31:06 -05:00
155 changed files with 2822 additions and 16 deletions

View File

@ -3,11 +3,51 @@ License of media (textures and sounds)
Copyright (C) 2010-2012 celeron55, Perttu Ahola <celeron55@gmail.com>
See README.txt in each mod directory for information about other authors.
License of menu/header.png
Copyright (C) 2015 unkown user CC BY-SA 3.0
Menu music
horizonchris96 — 02_what_we_ll_build_next
Menu backgrounds from mineclone project
epCode, Wuzzy
Attribution-ShareAlike 3.0 Unported (CC BY-SA 3.0)
http://creativecommons.org/licenses/by-sa/3.0/
License of menu/header.png
Copyright (C) 2015 unkown user CC BY-SA 3.0
This is a human-readable summary of (and not a substitute for) the license.
Disclaimer. You are free to:
Share — copy and redistribute the material in any medium or format
Adapt — remix, transform, and build upon the material
for any purpose, even commercially.
This license is acceptable for Free Cultural Works.
The licensor cannot revoke these freedoms as long as you follow the
license terms.
Under the following terms:
Attribution — You must give appropriate credit, provide a link to the license,
and indicate if changes were made. You may do so in any reasonable manner,
but not in any way that suggests the licensor endorses you or your use.
ShareAlike — If you remix, transform, or build upon the material, you must
distribute your contributions under the same license as the original.
No additional restrictions — You may not apply legal terms or technological
measures that legally restrict others from doing anything the license permits.
Notices:
You do not have to comply with the license for elements of the material in
the public domain or where your use is permitted by an applicable exception
or limitation.
No warranties are given. The license may not give you all of the permissions
necessary for your intended use. For example, other rights such as publicity,
privacy, or moral rights may limit how you use the material.
License of source code

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

BIN
menu/footer.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 24 KiB

BIN
menu/overlay.1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 68 KiB

BIN
menu/overlay.2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 119 KiB

BIN
menu/overlay.3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 121 KiB

BIN
menu/overlay.4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 118 KiB

BIN
menu/overlay.5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

BIN
menu/overlay.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 196 KiB

BIN
menu/theme.ogg Normal file

Binary file not shown.

View File

@ -68,28 +68,24 @@ minetest.register_privilege("creative", privs_definition)
local creative_mode_cache = minetest.settings:get_bool("creative_mode")
-- backguard compatibility
function creative.is_creative(name)
if creative.is_53 then
function minetest.is_creative_enabled(name)
if name == "" then
return minetest.is_creative_enabled(name)
else
return minetest.check_player_privs(name, {creative = true}) or creative_mode_cache
end
return creative_mode_cache
else
return minetest.check_player_privs(name, {creative = true}) or creative_mode_cache
end
end
-- Override the engine's creative mode function
local old_is_creative_enabled = creative.is_creative
function minetest.is_creative_enabled(name)
-- backguard compatibility
function creative.is_creative(name)
if name == "" then
return old_is_creative_enabled(name)
return creative_mode_cache
else
return minetest.check_player_privs(name, {creative = true}) or creative_mode_cache
end
return minetest.check_player_privs(name, {creative = true}) or old_is_creative_enabled(name)
end
-- For backwards compatibility:
function creative.is_enabled_for(name)
return creative.is_creative(name)
@ -352,7 +348,6 @@ else
end
creative.register_tab("all", "Creative", minetest.registered_items)
--creative.register_tab("all", "All", minetest.registered_items)
--creative.register_tab("nodes", "Nodes", minetest.registered_nodes)
--creative.register_tab("tools", "Tools", minetest.registered_tools)
--creative.register_tab("craftitems", "Items", minetest.registered_craftitems)

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: 238 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 204 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 703 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 703 B

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: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.5 KiB

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