Mehr Mods hinzugefügt
27
mods/marinaramobs/LICENSE
Normal 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.
|
||||
|
||||
The dolphin sounds are from freesound.org under Creative Commons License. Thanks to forpus, geraldfiebig and abrez.
|
||||
|
||||
|
||||
Modified Code by Liil/Wilhelmine/Skandarella (c) 2022
|
||||
Textures and Models by Liil/Wilhelmine/Skandarella under (MIT) License (c) 2022
|
3
mods/marinaramobs/depends.txt
Normal file
|
@ -0,0 +1,3 @@
|
|||
default
|
||||
marinara
|
||||
mobs
|
1
mods/marinaramobs/description.txt
Normal file
|
@ -0,0 +1 @@
|
|||
adds mobs to the marinara mod
|
127
mods/marinaramobs/dolphin.lua
Normal file
|
@ -0,0 +1,127 @@
|
|||
local S = minetest.get_translator("marinaramobs")
|
||||
local random = math.random
|
||||
|
||||
mobs:register_mob("marinaramobs:dolphin", {
|
||||
stepheight = 0.0,
|
||||
type = "animal",
|
||||
passive = true,
|
||||
attack_type = "dogfight",
|
||||
attack_animals = false,
|
||||
attack_npcs = false,
|
||||
attack_monsters = true,
|
||||
owner_loyal = true,
|
||||
reach = 1,
|
||||
damage = 4,
|
||||
hp_min = 65,
|
||||
hp_max = 145,
|
||||
armor = 100,
|
||||
collisionbox = {-0.4, -0.01, -0.4, 0.4, 0.5, 0.4},
|
||||
visual = "mesh",
|
||||
mesh = "Dolphin.b3d",
|
||||
visual_size = {x = 1.0, y = 1.0},
|
||||
textures = {
|
||||
{"texturedolphin.png"},
|
||||
},
|
||||
sounds = {
|
||||
random = "marinaramobs_dolphin",
|
||||
attack = "marinaramobs_dolphin2",
|
||||
damage = "marinaramobs_dolphin3",
|
||||
death = "marinaramobs_dolphin4",
|
||||
},
|
||||
makes_footstep_sound = false,
|
||||
walk_velocity = 3,
|
||||
run_velocity = 4,
|
||||
fly = true,
|
||||
fly_in = "default:water_source", "default:river_water_source", "default:water_flowing", "default:river_water_flowing",
|
||||
fall_speed = 0,
|
||||
runaway = true,
|
||||
runaway_from = {"animalworld:bear", "animalworld:crocodile", "animalworld:tiger", "animalworld:spider", "animalworld:spidermale", "animalworld:shark", "animalworld:hyena", "animalworld:kobra", "animalworld:monitor", "animalworld:snowleopard", "animalworld:volverine", "livingfloatlands:deinotherium", "livingfloatlands:carnotaurus", "livingfloatlands:lycaenops", "livingfloatlands:smilodon", "livingfloatlands:tyrannosaurus", "livingfloatlands:velociraptor", "animalworld:divingbeetle", "animalworld:divingbeetle", "animalworld:scorpion", "animalworld:polarbear", "animalworld:leopardseal", "animalworld:stellerseagle", "animalworld:wolf", "animalworld:panda", "animalworld:stingray", "marinaramobs:jellyfish", "marinaramobs:octopus", "livingcavesmobs:biter", "livingcavesmobs:flesheatingbacteria"},
|
||||
jump = false,
|
||||
stepheight = 0.0,
|
||||
stay_near = {{"marinara:sand_with_alage", "marinara:sand_with_seagrass", "default:sand_with_kelp", "marinara:sand_with_kelp", "marinara:reed_root", "flowers:waterlily_waving", "naturalbiomes:waterlily", "default:clay", "marinara:softcoral_red", "marinara:softcoral_white", "marinara:softcoral_green", "marinara:softcoral_white", "marinara:softcoral_green", "default:coral_cyan", "default:coral_pink", "default:coral_green"}, 5},
|
||||
stay_near = {{"marinara:bountychest", "marinara:bountychest2", "marinara:bountychest3", "marinara:bountychest4", "marinara:bountychest5", "marinara:bountychest6", "marinara:bountychest7", "marinara:bountychest8", "marinara:bountychest9", "marinara:bountychest10", "marinara:bountychest11", "marinara:bountychest12"}, 6},
|
||||
drops = {
|
||||
{name = "mobs:meat", chance = 1, min = 1, max = 1},
|
||||
},
|
||||
water_damage = 0,
|
||||
air_damage = 1,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
view_range = 10,
|
||||
animation = {
|
||||
speed_normal = 50,
|
||||
stand_speed = 25,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
fly_start = 200,
|
||||
fly_end = 300,
|
||||
fly2_start = 300,
|
||||
fly2_end = 400,
|
||||
die_start = 300,
|
||||
die_end = 400,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
fly_in = {"default:water_source", "default:river_water_source", "default:water_flowing", "default:river_water_flowing"},
|
||||
floats = 0,
|
||||
follow = {
|
||||
"animalworld:rawmollusk", "marinaramobs:octopus_raw", "marinara:raw_oisters", "marinara:raw_athropod", "animalworld:rawfish", "fishing:fish_raw", "fishing:pike_raw", "marinaramobs:raw_exotic_fish", "nativevillages:catfish_raw", "xocean:fish_edible", "ethereal:fish_raw", "mobs:clownfish_raw", "fishing:bluewhite_raw", "fishing:exoticfish_raw", "fishing:fish_raw", "fishing:carp_raw", "fishing:perch_raw", "water_life:meat_raw", "fishing:shark_raw", "fishing:pike_raw"
|
||||
},
|
||||
|
||||
on_rightclick = function(self, clicker)
|
||||
|
||||
-- feed or tame
|
||||
if mobs:feed_tame(self, clicker, 4, false, true) then return end
|
||||
if mobs:protect(self, clicker) then return end
|
||||
if mobs:capture_mob(self, clicker, 0, 5, 15, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
if not mobs.custom_spawn_marinaramobs then
|
||||
mobs:spawn({
|
||||
name = "marinaramobs:dolphin",
|
||||
nodes = {"default:water_source"},
|
||||
neighbors = {"marinara:hardcoral_pink", "marinara:hardcoral_yellow"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2, -- 15000
|
||||
active_object_count = 4,
|
||||
min_height = -30,
|
||||
max_height = 0,
|
||||
day_toggle = true,
|
||||
|
||||
on_spawn = function(self, pos)
|
||||
|
||||
local nods = minetest.find_nodes_in_area_under_air(
|
||||
{x = pos.x - 4, y = pos.y - 3, z = pos.z - 4},
|
||||
{x = pos.x + 4, y = pos.y + 3, z = pos.z + 4},
|
||||
{"default:water_source"})
|
||||
|
||||
if nods and #nods > 0 then
|
||||
|
||||
-- min herd of 4
|
||||
local iter = math.min(#nods, 3)
|
||||
|
||||
-- print("--- dolphin at", minetest.pos_to_string(pos), iter)
|
||||
|
||||
for n = 1, iter do
|
||||
|
||||
local pos2 = nods[random(#nods)]
|
||||
local kid = random(4) == 1 and true or nil
|
||||
|
||||
pos2.y = pos2.y + 2
|
||||
|
||||
if minetest.get_node(pos2).name == "air" then
|
||||
|
||||
mobs:add_mob(pos2, {
|
||||
name = "marinaramobs:dolphin", child = kid})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("marinaramobs:dolphin", S("Dolphin"), "adolphin.png")
|
17
mods/marinaramobs/hunger.lua
Normal file
|
@ -0,0 +1,17 @@
|
|||
if minetest.get_modpath("hunger_ng") ~= nil then
|
||||
hunger_ng.add_hunger_data('marinaramobs:octopus_cooked', {
|
||||
satiates = 1.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('marinaramobs:octopus_raw', {
|
||||
satiates = 3.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('marinaramobs:raw_exotic_fish', {
|
||||
satiates = 1.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('marinaramobs:cooked_exotic_fish', {
|
||||
satiates = 4.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('marinaramobs:seaurchin_cooked', {
|
||||
satiates = 1.0,
|
||||
})
|
||||
end
|
50
mods/marinaramobs/init.lua
Normal file
|
@ -0,0 +1,50 @@
|
|||
--This creates the livingcavesmobs object.
|
||||
livingcavesmobs = {}
|
||||
|
||||
--This creates the livingcavesmobs.settings object, and fills it with either the menu selected choices as defined in settingtypes.txt, or default values, (In this case, false).
|
||||
livingcavesmobs.settings = {
|
||||
clear_biomes = minetest.settings:get_bool("livingcavesmobs.clear_biomes") or false,
|
||||
clear_decos = minetest.settings:get_bool("livingcavesmobs.clear_decos") or false,
|
||||
clear_ores = minetest.settings:get_bool("livingcavesmobs.clear_ores") or false,
|
||||
}
|
||||
|
||||
if livingcavesmobs.settings.clear_biomes then
|
||||
minetest.clear_registered_biomes()
|
||||
end
|
||||
if livingcavesmobs.settings.clear_decos then
|
||||
minetest.clear_registered_decorations()
|
||||
end
|
||||
if livingcavesmobs.settings.clear_ores then
|
||||
minetest.clear_registered_ores()
|
||||
end
|
||||
|
||||
local modname = "livingcavesmobs"
|
||||
local modpath = minetest.get_modpath(modname)
|
||||
local mg_name = minetest.get_mapgen_setting("mg_name")
|
||||
|
||||
-- Load support for intllib.
|
||||
local path = minetest.get_modpath(minetest.get_current_modname()) .. "/"
|
||||
|
||||
local S = minetest.get_translator and minetest.get_translator("livingcavesmobs") or
|
||||
dofile(path .. "intllib.lua")
|
||||
|
||||
|
||||
|
||||
-- plants
|
||||
dofile(path .. "parrotfish.lua") --
|
||||
dofile(path .. "jellyfish.lua") --
|
||||
dofile(path .. "nautilus.lua") --
|
||||
dofile(path .. "octopus.lua") --
|
||||
dofile(path .. "seamouse.lua") --
|
||||
dofile(path .. "seaslug.lua") --
|
||||
dofile(path .. "seaurchin.lua") --
|
||||
dofile(path .. "starfish.lua") --
|
||||
dofile(path .. "dolphin.lua") --
|
||||
dofile(path .. "hunger.lua") --
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
print (S("[MOD] Caves loaded"))
|
3
mods/marinaramobs/intllib.lua
Normal file
|
@ -0,0 +1,3 @@
|
|||
-- Support for the old multi-load method
|
||||
dofile(minetest.get_modpath("intllib").."/init.lua")
|
||||
|
83
mods/marinaramobs/jellyfish.lua
Normal file
|
@ -0,0 +1,83 @@
|
|||
local S = minetest.get_translator("marinaramobs")
|
||||
|
||||
mobs:register_mob("marinaramobs:jellyfish", {
|
||||
stepheight = 0.0,
|
||||
type = "monster",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
attack_animals = true,
|
||||
reach = 2,
|
||||
damage = 4,
|
||||
hp_min = 30,
|
||||
hp_max = 95,
|
||||
armor = 100,
|
||||
collisionbox = {-0.3, -0.01, -0.3, 0.3, 0.95, 0.3},
|
||||
visual = "mesh",
|
||||
mesh = "Jellyfish.b3d",
|
||||
visual_size = {x = 4.0, y = 4.0},
|
||||
textures = {
|
||||
{"texturejellyfish.png"},
|
||||
},
|
||||
sounds = {},
|
||||
makes_footstep_sound = false,
|
||||
sounds = {
|
||||
},
|
||||
walk_velocity = 0.5,
|
||||
run_velocity = 0.8,
|
||||
fly = true,
|
||||
fly_in = "default:water_source", "default:river_water_source", "default:water_flowing", "default:river_water_flowing",
|
||||
fall_speed = 0,
|
||||
runaway = false,
|
||||
jump = false,
|
||||
stepheight = 0.0,
|
||||
drops = {
|
||||
},
|
||||
stay_near = {{"marinara:sand_with_alage", "marinara:sand_with_seagrass", "default:sand_with_kelp", "marinara:sand_with_kelp", "marinara:reed_root", "flowers:waterlily_waving", "naturalbiomes:waterlily", "default:clay", "marinara:softcoral_red", "marinara:softcoral_white", "marinara:softcoral_green", "marinara:softcoral_white", "marinara:softcoral_green", "default:coral_cyan", "default:coral_pink", "default:coral_green"}, 2},
|
||||
water_damage = 0,
|
||||
air_damage = 1,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
animation = {
|
||||
speed_normal = 25,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
fly_start = 100,
|
||||
fly_end = 200,
|
||||
punch_start = 0,
|
||||
punch_end = 100,
|
||||
die_start = 0,
|
||||
die_end = 100,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
fly_in = {"default:water_source", "default:river_water_source", "default:water_flowing"},
|
||||
floats = 0,
|
||||
follow = {
|
||||
"mobs:meat_raw", "xocean:fish_edible", "ethereal:fish_raw", "mobs:clownfish_raw", "mobs:bluefish_raw", "fishing:bait_worm", "fishing:clownfish_raw", "fishing:bluewhite_raw", "fishing:exoticfish_raw", "fishing:fish_raw", "fishing:carp_raw", "fishing:perch_raw", "water_life:meat_raw", "fishing:jellyfish_raw", "fishing:pike_raw", "marinaramobs:octopus_raw", "marinaramobs:raw_exotic_fish", "fishing:fish_cooked", "marinaramobs:cooked_exotic_fish", "animalworld:cookedfish", "marinara:mussels", "nativevillages:catfish_cooked", "fishing:pike_cooked", "animalworld:cooked_athropod",
|
||||
},
|
||||
view_range = 1,
|
||||
|
||||
on_rightclick = function(self, clicker)
|
||||
|
||||
-- feed or tame
|
||||
if mobs:feed_tame(self, clicker, 4, false, true) then return end
|
||||
if mobs:protect(self, clicker) then return end
|
||||
if mobs:capture_mob(self, clicker, 0, 25, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
if not mobs.custom_spawn_marinaramobs then
|
||||
mobs:spawn({
|
||||
name = "marinaramobs:jellyfish",
|
||||
nodes = {"default:water_source"},
|
||||
neighbors = {"marinara:sand_with_kelp", "default:sand_with_kelp"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2, -- 15000
|
||||
min_height = -30,
|
||||
max_height = 0,
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("marinaramobs:jellyfish", S("Jellyfish"), "ajellyfish.png")
|
34
mods/marinaramobs/locale/marinaramobs.de.tr
Normal file
|
@ -0,0 +1,34 @@
|
|||
# textdomain: marinaramobs
|
||||
|
||||
### jellyfish.lua ###
|
||||
Jellyfish=Qualle
|
||||
|
||||
### nautilus.lua ###
|
||||
Nautilusshell=Nautilus Schale
|
||||
|
||||
### octopus.lua ###
|
||||
Octopus=Oktopus
|
||||
Raw Octopus=Roher Oktopus
|
||||
Cooked Octopus=Gekochter Oktopus
|
||||
|
||||
### parrotfish.lua ###
|
||||
Parrotfish=Papageifisch
|
||||
Raw Exotic Fish=Roher Exotischer Fisch
|
||||
Cooked Exotic Fish=Gekochter Exotischer Fisch
|
||||
|
||||
### seamouse.lua ###
|
||||
Seamouse=Seemaus
|
||||
|
||||
### seaslug.lua ###
|
||||
Seaslug=Meeresschnecke
|
||||
|
||||
### seaurchin.lua ###
|
||||
Seaurchin=Seeigel
|
||||
Cooked Seaurchin=Gekochter Seeigel
|
||||
|
||||
### starfish.lua ###
|
||||
Starfish=Seestern
|
||||
Starfish Mobile=Seestern Mobile
|
||||
|
||||
### dolphin.lua ###
|
||||
Dolphin=Delfin
|
6
mods/marinaramobs/mod.conf
Normal file
|
@ -0,0 +1,6 @@
|
|||
name = marinaramobs
|
||||
|
||||
release = 16924
|
||||
author = Liil
|
||||
description = adds mobs to the marinara oceans
|
||||
title = Wilhelmines Marinara Mobs
|
BIN
mods/marinaramobs/models/Dolphin.b3d
Normal file
BIN
mods/marinaramobs/models/Jellyfish.b3d
Normal file
BIN
mods/marinaramobs/models/Nautilus.b3d
Normal file
BIN
mods/marinaramobs/models/Nautilusshell.b3d
Normal file
BIN
mods/marinaramobs/models/Octopus.b3d
Normal file
BIN
mods/marinaramobs/models/Parrotfish.b3d
Normal file
BIN
mods/marinaramobs/models/Seamouse.b3d
Normal file
BIN
mods/marinaramobs/models/Seasnail.b3d
Normal file
BIN
mods/marinaramobs/models/Seaurchin.b3d
Normal file
BIN
mods/marinaramobs/models/Starfish.b3d
Normal file
142
mods/marinaramobs/nautilus.lua
Normal file
|
@ -0,0 +1,142 @@
|
|||
local S = minetest.get_translator("marinaramobs")
|
||||
local random = math.random
|
||||
|
||||
mobs:register_mob("marinaramobs:nautilus", {
|
||||
stepheight = 0.0,
|
||||
type = "animal",
|
||||
passive = true,
|
||||
attack_type = "dogfight",
|
||||
attack_animals = false,
|
||||
reach = 1,
|
||||
damage = 1,
|
||||
hp_min = 5,
|
||||
hp_max = 25,
|
||||
armor = 100,
|
||||
collisionbox = {-0.2, -0.01, -0.2, 0.2, 0.5, 0.2},
|
||||
visual = "mesh",
|
||||
visual_size = {x = 2.0, y = 2.0},
|
||||
mesh = "Nautilus.b3d",
|
||||
textures = {
|
||||
{"texturenautilus.png"},
|
||||
},
|
||||
sounds = {},
|
||||
makes_footstep_sound = false,
|
||||
walk_velocity = 1,
|
||||
run_velocity = 1,
|
||||
fly = true,
|
||||
fly_in = "default:water_source", "default:river_water_source", "default:water_flowing", "default:river_water_flowing",
|
||||
fall_speed = 0,
|
||||
runaway = true,
|
||||
runaway_from = {"animalworld:bear", "animalworld:crocodile", "animalworld:tiger", "animalworld:spider", "animalworld:spidermale", "animalworld:shark", "animalworld:hyena", "animalworld:kobra", "animalworld:monitor", "animalworld:snowleopard", "animalworld:volverine", "livingfloatlands:deinotherium", "livingfloatlands:carnotaurus", "livingfloatlands:lycaenops", "livingfloatlands:smilodon", "livingfloatlands:tyrannosaurus", "livingfloatlands:velociraptor", "animalworld:divingbeetle", "animalworld:divingbeetle", "animalworld:scorpion", "animalworld:polarbear", "animalworld:leopardseal", "animalworld:stellerseagle", "player", "animalworld:wolf", "animalworld:panda", "animalworld:stingray", "marinaramobs:jellyfish", "marinaramobs:octopus", "livingcavesmobs:biter", "livingcavesmobs:flesheatingbacteria"},
|
||||
jump = false,
|
||||
stepheight = 0.0,
|
||||
drops = {
|
||||
{name = "marinaramobs:nautilushell", chance = 1, min = 0, max = 1},
|
||||
},
|
||||
water_damage = 0,
|
||||
air_damage = 1,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
stay_near = {{"marinara:sand_with_alage", "marinara:sand_with_seagrass", "default:sand_with_kelp", "marinara:sand_with_kelp", "marinara:reed_root", "flowers:waterlily_waving", "naturalbiomes:waterlily", "default:clay", "marinara:softcoral_red", "marinara:softcoral_white", "marinara:softcoral_green", "marinara:softcoral_white", "marinara:softcoral_green", "default:coral_cyan", "default:coral_pink", "default:coral_green"}, 4},
|
||||
animation = {
|
||||
speed_normal = 50,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
fly_start = 100, -- swim animation
|
||||
fly_end = 200,
|
||||
die_start = 100,
|
||||
die_end = 200,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
fly_in = {"default:water_source", "default:river_water_source", "default:water_flowing", "default:river_water_flowing"},
|
||||
floats = 0,
|
||||
follow = {
|
||||
"fishing:bait_worm",
|
||||
"animalworld:raw_athropod", "animalworld:rawfish", "ethereal:fish_raw", "animalworld:fishfood", "mobs_fish:tropical", "water_life:meat_raw", "marinaramobs:octopus_raw", "marinaramobs:raw_exotic_fish"
|
||||
},
|
||||
view_range = 5,
|
||||
|
||||
on_rightclick = function(self, clicker)
|
||||
|
||||
-- feed or tame
|
||||
if mobs:feed_tame(self, clicker, 4, false, true) then return end
|
||||
if mobs:protect(self, clicker) then return end
|
||||
if mobs:capture_mob(self, clicker, 15, 25, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
if not mobs.custom_spawn_marinaramobs then
|
||||
mobs:spawn({
|
||||
name = "marinaramobs:nautilus",
|
||||
nodes = {"default:water_source"}, {"default:river_water_source"},
|
||||
neighbors = {"marinara:sand_with_kelp"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2, -- 15000
|
||||
active_object_count = 3,
|
||||
min_height = -30,
|
||||
max_height = 0,
|
||||
day_toggle = true,
|
||||
|
||||
on_spawn = function(self, pos)
|
||||
|
||||
local nods = minetest.find_nodes_in_area_under_air(
|
||||
{x = pos.x - 4, y = pos.y - 3, z = pos.z - 4},
|
||||
{x = pos.x + 4, y = pos.y + 3, z = pos.z + 4},
|
||||
{"default:water_source", "default:river_water_source"})
|
||||
|
||||
if nods and #nods > 0 then
|
||||
|
||||
-- min herd of 3
|
||||
local iter = math.min(#nods, 3)
|
||||
|
||||
-- print("--- nautilus at", minetest.pos_to_string(pos), iter)
|
||||
|
||||
for n = 1, iter do
|
||||
|
||||
local pos2 = nods[random(#nods)]
|
||||
local kid = random(4) == 1 and true or nil
|
||||
|
||||
pos2.y = pos2.y + 2
|
||||
|
||||
if minetest.get_node(pos2).name == "air" then
|
||||
|
||||
mobs:add_mob(pos2, {
|
||||
name = "marinaramobs:nautilus", child = kid})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("marinaramobs:nautilus", ("Nautilus"), "anautilus.png")
|
||||
|
||||
minetest.register_node("marinaramobs:nautilushell", {
|
||||
description = S"Nautilusshell",
|
||||
visual_scale = 0.6,
|
||||
mesh = "Nautilusshell.b3d",
|
||||
tiles = {"marinaramobs_nautilusshell.png"},
|
||||
inventory_image = "marinaramobs_nautilusshellinv.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
groups = {choppy = 3},
|
||||
drawtype = "mesh",
|
||||
collision_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4, -0.45, -0.4, 0.4, 0.15, 0.4},
|
||||
--[[{-0.4, -0.45, -0.4, 0.4, 0.15, 0.4},
|
||||
{-0.4, -0.45, -0.4, 0.4, 0.15, 0.4}]]
|
||||
}
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.4, -0.45, -0.4, 0.4, 0.15, 0.4}
|
||||
}
|
||||
},
|
||||
sounds = default.node_sound_wood_defaults()
|
||||
})
|
144
mods/marinaramobs/octopus.lua
Normal file
|
@ -0,0 +1,144 @@
|
|||
local S = minetest.get_translator("marinaramobs")
|
||||
|
||||
mobs:register_mob("marinaramobs:octopus", {
|
||||
stepheight = 0.0,
|
||||
type = "monster",
|
||||
passive = false,
|
||||
attack_animals = true,
|
||||
attack_npcs = true,
|
||||
reach = 2,
|
||||
damage = 5,
|
||||
attack_type = "dogshoot",
|
||||
dogshoot_switch = 1,
|
||||
dogshoot_count_max = 3,
|
||||
dogshoot_count2_max = 5,
|
||||
shoot_interval = 1,
|
||||
arrow = "marinara:octopusink",
|
||||
shoot_offset = 0.8,
|
||||
hp_min = 60,
|
||||
hp_max = 95,
|
||||
armor = 100,
|
||||
collisionbox = {-0.5, -0.01, -0.5, 0.5, 0.95, 0.5},
|
||||
visual = "mesh",
|
||||
mesh = "Octopus.b3d",
|
||||
visual_size = {x = 0.5, y = 0.5},
|
||||
textures = {
|
||||
{"textureoctopus.png"},
|
||||
},
|
||||
sounds = {},
|
||||
makes_footstep_sound = false,
|
||||
sounds = {
|
||||
attack = "marinaramobs_octopus",
|
||||
},
|
||||
walk_velocity = 1,
|
||||
run_velocity = 2,
|
||||
fly = true,
|
||||
fly_in = "default:water_source", "default:river_water_source", "default:water_flowing", "default:river_water_flowing",
|
||||
fall_speed = 0,
|
||||
runaway = false,
|
||||
jump = false,
|
||||
stepheight = 0.0,
|
||||
stay_near = {{"marinara:bountychest", "marinara:bountychest2", "marinara:bountychest3", "marinara:bountychest4", "marinara:bountychest5", "marinara:bountychest6", "marinara:bountychest7", "marinara:bountychest8", "marinara:bountychest9", "marinara:bountychest10", "marinara:bountychest11", "marinara:bountychest12", "marinara:hardcoral", "marinara:seapocks"}, 4},
|
||||
drops = {
|
||||
{name = "marinaramobs:octopus_raw", chance = 1, min = 0, max = 1},
|
||||
{name = "dye:black", chance = 1, min = 0, max = 1},
|
||||
},
|
||||
water_damage = 0,
|
||||
air_damage = 1,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
animation = {
|
||||
speed_normal = 50,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
fly_start = 100,
|
||||
fly_end = 200,
|
||||
punch_start = 200,
|
||||
punch_end = 300,
|
||||
shoot_start = 200,
|
||||
shoot_end = 300,
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
fly_in = {"default:water_source", "default:river_water_source", "default:water_flowing"},
|
||||
floats = 0,
|
||||
follow = {
|
||||
"mobs:meat_raw", "xocean:fish_edible", "ethereal:fish_raw", "mobs:clownfish_raw", "mobs:bluefish_raw", "fishing:bait_worm", "fishing:clownfish_raw", "fishing:bluewhite_raw", "fishing:exoticfish_raw", "fishing:fish_raw", "fishing:carp_raw", "fishing:perch_raw", "water_life:meat_raw", "fishing:octopus_raw", "fishing:pike_raw", "marinaramobs:octopus_raw", "marinaramobs:raw_exotic_fish"
|
||||
},
|
||||
view_range = 6,
|
||||
|
||||
on_rightclick = function(self, clicker)
|
||||
|
||||
-- feed or tame
|
||||
if mobs:feed_tame(self, clicker, 4, false, true) then return end
|
||||
if mobs:protect(self, clicker) then return end
|
||||
if mobs:capture_mob(self, clicker, 0, 25, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
if not mobs.custom_spawn_marinaramobs then
|
||||
mobs:spawn({
|
||||
name = "marinaramobs:octopus",
|
||||
nodes = {"default:water_source"},
|
||||
neighbors = {"marinara:bountychest", "marinara:bountychest2", "marinara:bountychest3", "marinara:bountychest4", "marinara:bountychest5", "marinara:bountychest6", "marinara:bountychest7", "marinara:bountychest8", "marinara:bountychest9", "marinara:bountychest10", "marinara:bountychest11"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2, -- 15000
|
||||
min_height = -30,
|
||||
max_height = 0,
|
||||
})
|
||||
|
||||
mobs:register_egg("marinaramobs:octopus", S("Octopus"), "aoctopus.png")
|
||||
|
||||
mobs:register_arrow("marinaramobs:octopusink", {
|
||||
visual = "sprite",
|
||||
visual_size = {x=.10, y=.10},
|
||||
textures = {"marinaramobs_octopusink.png"},
|
||||
velocity = 12,
|
||||
drop = true,
|
||||
|
||||
hit_player = function(self, player)
|
||||
player:punch(self.object, 1.0, {
|
||||
full_punch_interval=1.0,
|
||||
damage_groups = {fleshy=13},
|
||||
}, nil)
|
||||
end,
|
||||
|
||||
hit_mob = function(self, player)
|
||||
player:punch(self.object, 1.0, {
|
||||
full_punch_interval=1.0,
|
||||
damage_groups = {fleshy=13},
|
||||
}, nil)
|
||||
end,
|
||||
|
||||
hit_node = function(self, pos, node)
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
-- raw octopus
|
||||
minetest.register_craftitem("marinaramobs:octopus_raw", {
|
||||
description = S("Raw Octopus"),
|
||||
inventory_image = "marinaramobs_octopus_raw.png",
|
||||
on_use = minetest.item_eat(3),
|
||||
groups = {food_meat_raw = 1, flammable = 2},
|
||||
})
|
||||
|
||||
-- cooked octopus
|
||||
minetest.register_craftitem("marinaramobs:octopus_cooked", {
|
||||
description = S("Cooked Octopus"),
|
||||
inventory_image = "marinaramobs_octopus_cooked.png",
|
||||
on_use = minetest.item_eat(5),
|
||||
groups = {food_meat = 1, flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "marinaramobs:octopus_cooked",
|
||||
recipe = "marinaramobs:octopus_raw",
|
||||
cooktime = 5,
|
||||
})
|
||||
end
|
143
mods/marinaramobs/parrotfish.lua
Normal file
|
@ -0,0 +1,143 @@
|
|||
local S = minetest.get_translator("marinaramobs")
|
||||
local random = math.random
|
||||
|
||||
mobs:register_mob("marinaramobs:parrotfish", {
|
||||
stepheight = 0.0,
|
||||
type = "animal",
|
||||
passive = true,
|
||||
attack_type = "dogfight",
|
||||
attack_animals = false,
|
||||
reach = 1,
|
||||
damage = 1,
|
||||
hp_min = 25,
|
||||
hp_max = 45,
|
||||
armor = 100,
|
||||
collisionbox = {-0.4, -0.01, -0.4, 0.4, 0.5, 0.4},
|
||||
visual = "mesh",
|
||||
mesh = "Parrotfish.b3d",
|
||||
visual_size = {x = 1.0, y = 1.0},
|
||||
textures = {
|
||||
{"textureparrotfish.png"},
|
||||
},
|
||||
sounds = {},
|
||||
makes_footstep_sound = false,
|
||||
walk_velocity = 0.5,
|
||||
run_velocity = 1,
|
||||
fly = true,
|
||||
fly_in = "default:water_source", "default:river_water_source", "default:water_flowing", "default:river_water_flowing",
|
||||
fall_speed = 0,
|
||||
runaway = true,
|
||||
runaway_from = {"animalworld:bear", "animalworld:crocodile", "animalworld:tiger", "animalworld:spider", "animalworld:spidermale", "animalworld:shark", "animalworld:hyena", "animalworld:kobra", "animalworld:monitor", "animalworld:snowleopard", "animalworld:volverine", "livingfloatlands:deinotherium", "livingfloatlands:carnotaurus", "livingfloatlands:lycaenops", "livingfloatlands:smilodon", "livingfloatlands:tyrannosaurus", "livingfloatlands:velociraptor", "animalworld:divingbeetle", "animalworld:divingbeetle", "animalworld:scorpion", "animalworld:polarbear", "animalworld:leopardseal", "animalworld:stellerseagle", "player", "animalworld:wolf", "animalworld:panda", "animalworld:stingray", "marinaramobs:jellyfish", "marinaramobs:octopus", "livingcavesmobs:biter", "livingcavesmobs:flesheatingbacteria"},
|
||||
jump = false,
|
||||
stepheight = 0.0,
|
||||
stay_near = {{"marinara:sand_with_alage", "marinara:sand_with_seagrass", "default:sand_with_kelp", "marinara:sand_with_kelp", "marinara:reed_root", "flowers:waterlily_waving", "naturalbiomes:waterlily", "default:clay", "marinara:softcoral_red", "marinara:softcoral_white", "marinara:softcoral_green", "marinara:softcoral_white", "marinara:softcoral_green", "default:coral_cyan", "default:coral_pink", "default:coral_green"}, 4},
|
||||
drops = {
|
||||
{name = "marinaramobs:rawfish", chance = 1, min = 1, max = 1},
|
||||
},
|
||||
water_damage = 0,
|
||||
air_damage = 1,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
animation = {
|
||||
speed_normal = 100,
|
||||
stand_speed = 50,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
stand2_speed = 50,
|
||||
stand2_start = 100,
|
||||
stand2_end = 200,
|
||||
fly_start = 200,
|
||||
fly_end = 300,
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
fly_in = {"default:water_source", "default:river_water_source", "default:water_flowing", "default:river_water_flowing"},
|
||||
floats = 0,
|
||||
follow = {
|
||||
"marinara:seagrass", "marinara:seagrass2", "marinara:sand_with_seagrass",
|
||||
"marinara:sand_with_seagrass2", "marinara:alage", "marinara:sand_with_alage", "default:kelp", "default:sand_with_kelp"
|
||||
},
|
||||
view_range = 5,
|
||||
|
||||
on_rightclick = function(self, clicker)
|
||||
|
||||
-- feed or tame
|
||||
if mobs:feed_tame(self, clicker, 4, false, true) then return end
|
||||
if mobs:protect(self, clicker) then return end
|
||||
if mobs:capture_mob(self, clicker, 15, 25, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
if not mobs.custom_spawn_marinaramobs then
|
||||
mobs:spawn({
|
||||
name = "marinaramobs:parrotfish",
|
||||
nodes = {"default:water_source"},
|
||||
neighbors = {"marinara:hardcoral", "marinara:hardcoral_green"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2, -- 15000
|
||||
active_object_count = 3,
|
||||
min_height = -30,
|
||||
max_height = 0,
|
||||
day_toggle = true,
|
||||
|
||||
on_spawn = function(self, pos)
|
||||
|
||||
local nods = minetest.find_nodes_in_area_under_air(
|
||||
{x = pos.x - 4, y = pos.y - 3, z = pos.z - 4},
|
||||
{x = pos.x + 4, y = pos.y + 3, z = pos.z + 4},
|
||||
{"default:water_source"})
|
||||
|
||||
if nods and #nods > 0 then
|
||||
|
||||
-- min herd of 3
|
||||
local iter = math.min(#nods, 3)
|
||||
|
||||
-- print("--- parrotfish at", minetest.pos_to_string(pos), iter)
|
||||
|
||||
for n = 1, iter do
|
||||
|
||||
local pos2 = nods[random(#nods)]
|
||||
local kid = random(4) == 1 and true or nil
|
||||
|
||||
pos2.y = pos2.y + 2
|
||||
|
||||
if minetest.get_node(pos2).name == "air" then
|
||||
|
||||
mobs:add_mob(pos2, {
|
||||
name = "marinaramobs:parrotfish", child = kid})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("marinaramobs:parrotfish", S("Parrotfish"), "aparrotfish.png")
|
||||
|
||||
-- raw fish
|
||||
minetest.register_craftitem(":marinaramobs:raw_exotic_fish", {
|
||||
description = S("Raw Exotic Fish"),
|
||||
inventory_image = "marinaramobs_exotic_fish_raw.png",
|
||||
on_use = minetest.item_eat(3),
|
||||
groups = {food_meat_raw = 1, flammable = 2},
|
||||
})
|
||||
|
||||
-- cooked fish
|
||||
minetest.register_craftitem(":marinaramobs:cooked_exotic_fish", {
|
||||
description = S("Cooked Exotic Fish"),
|
||||
inventory_image = "marinaramobs_exotic_fish_cooked.png",
|
||||
on_use = minetest.item_eat(5),
|
||||
groups = {food_meat = 1, flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "marinaramobs:cooked_exotic_fish",
|
||||
recipe = "marinaramobs:raw_exotic_fish",
|
||||
cooktime = 5,
|
||||
})
|
||||
|
BIN
mods/marinaramobs/screenshot.png
Normal file
After Width: | Height: | Size: 618 KiB |
84
mods/marinaramobs/seamouse.lua
Normal file
|
@ -0,0 +1,84 @@
|
|||
local S = minetest.get_translator("marinaramobs")
|
||||
|
||||
mobs:register_mob("marinaramobs:seamouse", {
|
||||
stepheight = 1,
|
||||
type = "animal",
|
||||
passive = true,
|
||||
reach = 1,
|
||||
attack_npcs = false,
|
||||
reach = 2,
|
||||
damage = 0,
|
||||
hp_min = 10,
|
||||
hp_max = 40,
|
||||
armor = 100,
|
||||
collisionbox = {-0.2, -0.01, -0.2, 0.2, 0.2, 0.2},
|
||||
visual = "mesh",
|
||||
mesh = "Seamouse.b3d",
|
||||
drawtype = "front",
|
||||
textures = {
|
||||
{"textureseamouse.png"},
|
||||
|
||||
},
|
||||
sounds = {
|
||||
},
|
||||
makes_footstep_sound = false,
|
||||
walk_velocity = 0.3,
|
||||
run_velocity = 0.5,
|
||||
runaway = true,
|
||||
runaway_from = {"animalworld:bear", "animalworld:crocodile", "animalworld:tiger", "animalworld:spider", "animalworld:spidermale", "animalworld:shark", "animalworld:hyena", "animalworld:kobra", "animalworld:monitor", "animalworld:snowleopard", "animalworld:volverine", "livingfloatlands:deinotherium", "livingfloatlands:carnotaurus", "livingfloatlands:lycaenops", "livingfloatlands:smilodon", "livingfloatlands:tyrannosaurus", "livingfloatlands:velociraptor", "animalworld:divingbeetle", "animalworld:divingbeetle", "animalworld:scorpion", "animalworld:polarbear", "animalworld:leopardseal", "animalworld:stellerseagle", "player", "animalworld:wolf", "animalworld:panda", "animalworld:stingray", "marinaramobs:jellyfish", "marinaramobs:octopus", "livingcavesmobs:biter", "livingcavesmobs:flesheatingbacteria"},
|
||||
jump = false,
|
||||
jump_height = 6,
|
||||
drops = {
|
||||
},
|
||||
stay_near = {{"marinara:sand_with_alage", "marinara:sand_with_seagrass", "default:sand_with_kelp", "marinara:sand_with_kelp", "marinara:reed_root", "flowers:waterlily_waving", "naturalbiomes:waterlily", "default:clay", "marinara:softcoral_red", "marinara:softcoral_white", "marinara:softcoral_green", "marinara:softcoral_white", "marinara:softcoral_green", "default:coral_cyan", "default:coral_pink", "default:coral_green"}, 5},
|
||||
water_damage = 0,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
fear_height = 2,
|
||||
animation = {
|
||||
speed_normal = 50,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
stand2_start = 200,
|
||||
stand2_end = 300,
|
||||
walk_start = 100,
|
||||
walk_end = 200,
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
fly_in = {"default:water_source", "default:water_flowing"},
|
||||
floats = 0,
|
||||
follow = {"animalworld:rawfish", "mobs_fish:tropical", "mobs:clownfish_raw",
|
||||
"mobs:bluefish_raw", "fishing:bait_worm", "fishing:clownfish_raw", "fishing:bluewhite_raw", "fishing:exoticfish_raw", "fishing:fish_raw", "fishing:carp_raw", "fishing:perch_raw", "water_life:meat_raw", "fishing:shark_raw", "fishing:pike_raw", "marinaramobs:octopus_raw", "marinaramobs:raw_exotic_fish"},
|
||||
view_range = 5,
|
||||
on_rightclick = function(self, clicker)
|
||||
|
||||
if mobs:feed_tame(self, clicker, 8, true, true) then return end
|
||||
if mobs:protect(self, clicker) then return end
|
||||
if mobs:capture_mob(self, clicker, 15, 25, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
if not mobs.custom_spawn_marinaramobs then
|
||||
mobs:spawn({
|
||||
name = "marinaramobs:seamouse",
|
||||
nodes = {"default:water_source"},
|
||||
neighbors = {"marinara:coastrock"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2, -- 15000
|
||||
active_object_count = 2,
|
||||
min_height = -30,
|
||||
max_height = 0,
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
mobs:register_egg("marinaramobs:seamouse", S("Seamouse"), "aseamouse.png", 0)
|
||||
|
||||
|
||||
mobs:alias_mob("marinaramobs:seamouse", "marinaramobs:seamouse") -- compatibility
|
84
mods/marinaramobs/seaslug.lua
Normal file
|
@ -0,0 +1,84 @@
|
|||
local S = minetest.get_translator("marinaramobs")
|
||||
|
||||
mobs:register_mob("marinaramobs:seaslug", {
|
||||
stepheight = 1,
|
||||
type = "animal",
|
||||
passive = true,
|
||||
reach = 1,
|
||||
attack_npcs = false,
|
||||
reach = 2,
|
||||
damage = 0,
|
||||
hp_min = 10,
|
||||
hp_max = 40,
|
||||
armor = 100,
|
||||
collisionbox = {-0.2, -0.01, -0.2, 0.2, 0.2, 0.2},
|
||||
visual = "mesh",
|
||||
mesh = "Seasnail.b3d",
|
||||
drawtype = "front",
|
||||
textures = {
|
||||
{"textureseasnail.png"},
|
||||
|
||||
},
|
||||
sounds = {
|
||||
},
|
||||
makes_footstep_sound = false,
|
||||
walk_velocity = 0.4,
|
||||
run_velocity = 0.6,
|
||||
runaway = true,
|
||||
runaway_from = {"animalworld:bear", "animalworld:crocodile", "animalworld:tiger", "animalworld:spider", "animalworld:spidermale", "animalworld:shark", "animalworld:hyena", "animalworld:kobra", "animalworld:monitor", "animalworld:snowleopard", "animalworld:volverine", "livingfloatlands:deinotherium", "livingfloatlands:carnotaurus", "livingfloatlands:lycaenops", "livingfloatlands:smilodon", "livingfloatlands:tyrannosaurus", "livingfloatlands:velociraptor", "animalworld:divingbeetle", "animalworld:divingbeetle", "animalworld:scorpion", "animalworld:polarbear", "animalworld:leopardseal", "animalworld:stellerseagle", "player", "animalworld:wolf", "animalworld:panda", "animalworld:stingray", "marinaramobs:jellyfish", "marinaramobs:octopus", "livingcavesmobs:biter", "livingcavesmobs:flesheatingbacteria"},
|
||||
jump = false,
|
||||
jump_height = 6,
|
||||
drops = {
|
||||
},
|
||||
stay_near = {{"marinara:sand_with_alage", "marinara:sand_with_seagrass", "default:sand_with_kelp", "marinara:sand_with_kelp", "marinara:reed_root", "flowers:waterlily_waving", "naturalbiomes:waterlily", "default:clay", "marinara:softcoral_red", "marinara:softcoral_white", "marinara:softcoral_green", "marinara:softcoral_white", "marinara:softcoral_green", "default:coral_cyan", "default:coral_pink", "default:coral_green"}, 5},
|
||||
water_damage = 0,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
fear_height = 2,
|
||||
animation = {
|
||||
speed_normal = 25,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
stand2_start = 200,
|
||||
stand2_end = 300,
|
||||
walk_start = 100,
|
||||
walk_end = 200,
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
fly_in = {"default:water_source", "default:water_flowing"},
|
||||
floats = 0,
|
||||
follow = {"marinara:seagrass", "marinara:seagrass2", "marinara:sand_with_seagrass",
|
||||
"marinara:sand_with_seagrass2", "marinara:alage", "marinara:sand_with_alage", "default:kelp", "default:sand_with_kelp"},
|
||||
view_range = 5,
|
||||
on_rightclick = function(self, clicker)
|
||||
|
||||
if mobs:feed_tame(self, clicker, 8, true, true) then return end
|
||||
if mobs:protect(self, clicker) then return end
|
||||
if mobs:capture_mob(self, clicker, 15, 25, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
if not mobs.custom_spawn_marinaramobs then
|
||||
mobs:spawn({
|
||||
name = "marinaramobs:seaslug",
|
||||
nodes = {"default:water_source"},
|
||||
neighbors = {"marinara:hardcoral_yellow", "marinara:hardcoral_red"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2, -- 15000
|
||||
active_object_count = 2,
|
||||
min_height = -30,
|
||||
max_height = 0,
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
mobs:register_egg("marinaramobs:seaslug", S("Seaslug"), "aseaslug.png", 0)
|
||||
|
||||
|
||||
mobs:alias_mob("marinaramobs:seaslug", "marinaramobs:seaslug") -- compatibility
|
106
mods/marinaramobs/seaurchin.lua
Normal file
|
@ -0,0 +1,106 @@
|
|||
local S = minetest.get_translator("marinaramobs")
|
||||
|
||||
mobs:register_mob("marinaramobs:seaurchin", {
|
||||
stepheight = 1,
|
||||
type = "animal",
|
||||
passive = false,
|
||||
reach = 1,
|
||||
attack_npcs = true,
|
||||
attack_type = "dogfight",
|
||||
group_attack = true,
|
||||
attack_animals = false,
|
||||
reach = 2,
|
||||
damage = 4,
|
||||
hp_min = 10,
|
||||
hp_max = 40,
|
||||
armor = 100,
|
||||
visual_size = {x = 0.7, y = 0.7},
|
||||
collisionbox = {-0.2, -0.01, -0.2, 0.2, 0.2, 0.2},
|
||||
visual = "mesh",
|
||||
mesh = "Seaurchin.b3d",
|
||||
drawtype = "front",
|
||||
textures = {
|
||||
{"textureseaurchin.png"},
|
||||
|
||||
},
|
||||
sounds = {
|
||||
},
|
||||
makes_footstep_sound = false,
|
||||
walk_velocity = 0.2,
|
||||
run_velocity = 0.3,
|
||||
runaway = false,
|
||||
jump = false,
|
||||
jump_height = 6,
|
||||
drops = {
|
||||
{name = "marinaramobs:seaurchin", chance = 1, min = 0, max = 1},
|
||||
},
|
||||
stay_near = {{"marinara:sand_with_alage", "marinara:sand_with_seagrass", "default:sand_with_kelp", "marinara:sand_with_kelp", "marinara:reed_root", "flowers:waterlily_waving", "naturalbiomes:waterlily", "default:clay", "marinara:softcoral_red", "marinara:softcoral_white", "marinara:softcoral_green", "marinara:softcoral_white", "marinara:softcoral_green", "default:coral_cyan", "default:coral_pink", "default:coral_green"}, 5},
|
||||
water_damage = 0,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
fear_height = 2,
|
||||
animation = {
|
||||
speed_normal = 25,
|
||||
stand_start = 100,
|
||||
stand_end = 200,
|
||||
stand2_start = 200,
|
||||
stand2_end = 300,
|
||||
walk_start = 0,
|
||||
walk_end = 100,
|
||||
punch_start = 0,
|
||||
punch_end = 100,
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
fly_in = {"default:water_source", "default:water_flowing"},
|
||||
floats = 0,
|
||||
follow = {"marinara:seagrass", "marinara:seagrass2", "marinara:sand_with_seagrass",
|
||||
"marinara:sand_with_seagrass2", "marinara:alage", "marinara:sand_with_alage", "default:kelp", "default:sand_with_kelp", "animalworld:rawfish", "mobs_fish:tropical", "mobs:clownfish_raw",
|
||||
"mobs:bluefish_raw", "fishing:bait_worm", "fishing:clownfish_raw", "fishing:bluewhite_raw", "fishing:exoticfish_raw", "fishing:fish_raw", "fishing:carp_raw", "fishing:perch_raw", "water_life:meat_raw", "fishing:shark_raw", "fishing:pike_raw", "marinaramobs:octopus_raw", "marinaramobs:raw_exotic_fish"},
|
||||
view_range = 5,
|
||||
on_rightclick = function(self, clicker)
|
||||
|
||||
if mobs:feed_tame(self, clicker, 8, true, true) then return end
|
||||
if mobs:protect(self, clicker) then return end
|
||||
if mobs:capture_mob(self, clicker, 0, 25, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
if not mobs.custom_spawn_marinaramobs then
|
||||
mobs:spawn({
|
||||
name = "marinaramobs:seaurchin",
|
||||
nodes = {"default:water_source"},
|
||||
neighbors = {"marinara:coastrock_alage"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2, -- 15000
|
||||
active_object_count = 2,
|
||||
min_height = -30,
|
||||
max_height = 0,
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
mobs:register_egg("marinaramobs:seaurchin", S("Seaurchin"), "aseaurchin.png", 0)
|
||||
|
||||
|
||||
mobs:alias_mob("marinaramobs:seaurchin", "marinaramobs:seaurchin") -- compatibility
|
||||
|
||||
minetest.register_craftitem(":marinaramobs:seaurchin_cooked", {
|
||||
description = S("Cooked Seaurchin"),
|
||||
inventory_image = "marinaramobs_seaurchin_cooked.png",
|
||||
on_use = minetest.item_eat(8),
|
||||
groups = {food_meat = 1, flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "marinaramobs:seaurchin_cooked",
|
||||
recipe = "marinaramobs:seaurchin",
|
||||
cooktime = 2,
|
||||
})
|
||||
|
||||
|
BIN
mods/marinaramobs/sounds/marinaramobs_dolphin.ogg
Normal file
BIN
mods/marinaramobs/sounds/marinaramobs_dolphin2.ogg
Normal file
BIN
mods/marinaramobs/sounds/marinaramobs_dolphin3.ogg
Normal file
BIN
mods/marinaramobs/sounds/marinaramobs_dolphin4.ogg
Normal file
115
mods/marinaramobs/starfish.lua
Normal file
|
@ -0,0 +1,115 @@
|
|||
local S = minetest.get_translator("marinaramobs")
|
||||
|
||||
mobs:register_mob("marinaramobs:starfish", {
|
||||
stepheight = 1,
|
||||
type = "animal",
|
||||
passive = true,
|
||||
reach = 1,
|
||||
attack_npcs = false,
|
||||
reach = 2,
|
||||
damage = 0,
|
||||
hp_min = 10,
|
||||
hp_max = 40,
|
||||
armor = 100,
|
||||
collisionbox = {-0.2, -0.01, -0.2, 0.2, 0.2, 0.2},
|
||||
visual = "mesh",
|
||||
mesh = "Starfish.b3d",
|
||||
drawtype = "front",
|
||||
textures = {
|
||||
{"texturestarfish.png"},
|
||||
|
||||
},
|
||||
sounds = {
|
||||
},
|
||||
makes_footstep_sound = false,
|
||||
walk_velocity = 0.2,
|
||||
run_velocity = 0.4,
|
||||
runaway = true,
|
||||
runaway_from = {"animalworld:bear", "animalworld:crocodile", "animalworld:tiger", "animalworld:spider", "animalworld:spidermale", "animalworld:shark", "animalworld:hyena", "animalworld:kobra", "animalworld:monitor", "animalworld:snowleopard", "animalworld:volverine", "livingfloatlands:deinotherium", "livingfloatlands:carnotaurus", "livingfloatlands:lycaenops", "livingfloatlands:smilodon", "livingfloatlands:tyrannosaurus", "livingfloatlands:velociraptor", "animalworld:divingbeetle", "animalworld:divingbeetle", "animalworld:scorpion", "animalworld:polarbear", "animalworld:leopardseal", "animalworld:stellerseagle", "player", "animalworld:wolf", "animalworld:panda", "animalworld:stingray", "marinaramobs:jellyfish", "marinaramobs:octopus", "livingcavesmobs:biter", "livingcavesmobs:flesheatingbacteria"},
|
||||
jump = false,
|
||||
jump_height = 6,
|
||||
drops = {
|
||||
{name = "marinaramobs:starfish", chance = 1, min = 0, max = 1},
|
||||
},
|
||||
stay_near = {{"marinara:sand_with_alage", "marinara:sand_with_seagrass", "default:sand_with_kelp", "marinara:sand_with_kelp", "marinara:reed_root", "flowers:waterlily_waving", "naturalbiomes:waterlily", "default:clay", "marinara:softcoral_red", "marinara:softcoral_white", "marinara:softcoral_green", "marinara:softcoral_white", "marinara:softcoral_green", "default:coral_cyan", "default:coral_pink", "default:coral_green"}, 5},
|
||||
water_damage = 0,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
fear_height = 2,
|
||||
animation = {
|
||||
speed_normal = 25,
|
||||
stand_start = 100,
|
||||
stand_end = 200,
|
||||
stand2_start = 200,
|
||||
stand2_end = 300,
|
||||
walk_start = 0,
|
||||
walk_end = 100,
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
fly_in = {"default:water_source", "default:water_flowing"},
|
||||
floats = 0,
|
||||
follow = {"animalworld:rawfish", "mobs_fish:tropical", "mobs:clownfish_raw",
|
||||
"mobs:bluefish_raw", "fishing:bait_worm", "fishing:clownfish_raw", "fishing:bluewhite_raw", "fishing:exoticfish_raw", "fishing:fish_raw", "fishing:carp_raw", "fishing:perch_raw", "water_life:meat_raw", "fishing:shark_raw", "fishing:pike_raw", "marinaramobs:octopus_raw", "marinaramobs:raw_exotic_fish"},
|
||||
view_range = 5,
|
||||
on_rightclick = function(self, clicker)
|
||||
|
||||
if mobs:feed_tame(self, clicker, 8, true, true) then return end
|
||||
if mobs:protect(self, clicker) then return end
|
||||
if mobs:capture_mob(self, clicker, 15, 25, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
if not mobs.custom_spawn_marinaramobs then
|
||||
mobs:spawn({
|
||||
name = "marinaramobs:starfish",
|
||||
nodes = {"default:water_source"},
|
||||
neighbors = {"marinara:coastrock"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2,
|
||||
active_object_count = 3,
|
||||
min_height = -30,
|
||||
max_height = 0,
|
||||
})
|
||||
|
||||
|
||||
mobs:register_egg("marinaramobs:starfish", S("Starfish"), "astarfish.png", 0)
|
||||
|
||||
|
||||
mobs:alias_mob("marinaramobs:starfish", "marinaramobs:starfish") -- compatibility
|
||||
|
||||
minetest.register_craft({
|
||||
output = "marinaramobs:starfishmobile",
|
||||
type = "shapeless",
|
||||
recipe =
|
||||
{"marinaramobs:starfish", "farming:string"}
|
||||
|
||||
})
|
||||
|
||||
minetest.register_node("marinaramobs:starfishmobile", {
|
||||
description = S("Starfish Mobile"),
|
||||
drawtype = "plantlike",
|
||||
waving = 0,
|
||||
tiles = {"marinaramobs_starfishmobile.png"},
|
||||
inventory_image = "marinaramobs_starfishmobile.png",
|
||||
wield_image = "marinaramobs_starfishmobile.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,
|
||||
})
|
||||
end
|
BIN
mods/marinaramobs/textures/adolphin.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
mods/marinaramobs/textures/ajellyfish.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
mods/marinaramobs/textures/anautilus.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
mods/marinaramobs/textures/aoctopus.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
mods/marinaramobs/textures/aparrotfish.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
mods/marinaramobs/textures/aseamouse.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
mods/marinaramobs/textures/aseaslug.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
mods/marinaramobs/textures/aseaurchin.png
Normal file
After Width: | Height: | Size: 3 KiB |
BIN
mods/marinaramobs/textures/astarfish.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
mods/marinaramobs/textures/marinaramobs_exotic_fish_cooked.png
Normal file
After Width: | Height: | Size: 7.6 KiB |
BIN
mods/marinaramobs/textures/marinaramobs_exotic_fish_raw.png
Normal file
After Width: | Height: | Size: 7.5 KiB |
BIN
mods/marinaramobs/textures/marinaramobs_nautilusshell.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
mods/marinaramobs/textures/marinaramobs_nautilusshellinv.png
Normal file
After Width: | Height: | Size: 8.1 KiB |
BIN
mods/marinaramobs/textures/marinaramobs_octopus_cooked.png
Normal file
After Width: | Height: | Size: 8 KiB |
BIN
mods/marinaramobs/textures/marinaramobs_octopus_raw.png
Normal file
After Width: | Height: | Size: 7.8 KiB |
BIN
mods/marinaramobs/textures/marinaramobs_octopusink.png
Normal file
After Width: | Height: | Size: 6.3 KiB |
BIN
mods/marinaramobs/textures/marinaramobs_seaurchin_cooked.png
Normal file
After Width: | Height: | Size: 7.3 KiB |
BIN
mods/marinaramobs/textures/marinaramobs_starfishmobile.png
Normal file
After Width: | Height: | Size: 6.7 KiB |
BIN
mods/marinaramobs/textures/texturedolphin.png
Normal file
After Width: | Height: | Size: 9.8 KiB |
BIN
mods/marinaramobs/textures/texturejellyfish.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
mods/marinaramobs/textures/texturenautilus.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
mods/marinaramobs/textures/textureoctopus.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
mods/marinaramobs/textures/textureparrotfish.png
Normal file
After Width: | Height: | Size: 19 KiB |
BIN
mods/marinaramobs/textures/textureseamouse.png
Normal file
After Width: | Height: | Size: 17 KiB |
BIN
mods/marinaramobs/textures/textureseasnail.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
mods/marinaramobs/textures/textureseaurchin.png
Normal file
After Width: | Height: | Size: 22 KiB |
BIN
mods/marinaramobs/textures/texturestarfish.png
Normal file
After Width: | Height: | Size: 13 KiB |