Rebase code on Animalworld’s stingray

Also adds mobs dolphins eat as attack-targets.
This commit is contained in:
Jaidyn Ann 2024-08-14 15:41:25 -05:00
parent 2755667a41
commit 341043430e
3 changed files with 109 additions and 62 deletions

View File

@ -1,3 +0,0 @@
default
mobs
ethereal?

159
init.lua
View File

@ -1,59 +1,106 @@
if mobs.mod and mobs.mod == "redo" then -- animalworld:stingray was used as the base for this file:
-- https://github.com/Skandarella/animalworld/
local S = minetest.get_translator(minetest.get_current_modname())
local l_water_level = minetest.setting_get("water_level") - 1 mobs:register_mob("mobs_dolphin:dolphin", {
stepheight = 0.0,
mobs:register_mob("mobs_dolphin:dolphin", { type = "animal",
type = "animal", attack_type = "dogfight",
attack_type = "dogfight", attack_animals = true,
damage = 10, specific_attack = {
reach = 3, "animalworld:beluga", "animalworld:seahorse", "animalworld:squid", "animalworld:trout",
hp_min = 20, "mobs_fish:clownfish", "mobs_fish:tropical"
hp_max = 25, },
armor = 150, reach = 2,
collisionbox = {-0.75, -0.5, -0.75, 0.75, 0.5, 0.75}, damage = 6,
visual = "mesh", hp_min = 15,
mesh = "mobs_dolphin.b3d", hp_max = 65,
textures = { armor = 100,
{"dolphin_pink.png"}, collisionbox = {-0.7, -0.01, -0.7, 0.7, 0.95, 0.7},
{"dolphin_blue.png"}, visual = "mesh",
{"dolphin_white.png"} mesh = "mobs_dolphin.b3d",
visual_size = {x = 1.0, y = 1.0},
textures = {
{"dolphin_pink.png"},
{"dolphin_blue.png"},
{"dolphin_white.png"}
},
sounds = {
random = "dolphin"
},
makes_footstep_sound = false,
walk_velocity = 4,
run_velocity = 6,
fly = true,
fall_speed = 0,
runaway = false,
jump = false,
stepheight = 0.0,
stay_near = {
{
"marinara:sand_with_alage", "mcl_ocean:bubble_coral", "mcl_ocean:tubeff_coral",
"mcl_ocean:fire_coral", "mcl_ocean:brain_coral", "mcl_ocean:seagrass_gravel",
"mcl_flowers:waterlily", "marinara:sand_with_seagrass", "default:sand_with_kelp",
"marinara:sand_with_kelp", "marinara:reed_root", "flowers:waterlily_waving",
"naturalbiomes:waterlily", "default:clay"
}, },
sounds = { 5
random = "dolphin", },
}, drops = {
drops = { {name = "animalworld:rawfish", chance = 1, min = 1, max = 1},
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1}, },
}, water_damage = 0,
makes_footstep_sound = false, air_damage = 2,
walk_velocity = 4, lava_damage = 4,
run_velocity = 6, light_damage = 0,
fly = true, fear_height = 2,
fly_in = "default:water_source", animation = {
fall_speed = 0, speed_normal = 100,
rotate = 0, stand_start = 0,
view_range = 10, stand_end = 100,
water_damage = 0, fly_start = 100, -- swim animation
lava_damage = 10, fly_end = 200,
light_damage = 0, punch_start = 200,
animation = { punch_end = 300,
speed_normal = 15, die_start = 200,
speed_run = 15, die_end = 300,
stand_start = 66, die_speed = 50,
stand_end = 90, die_loop = false,
walk_start = 0, die_rotate = true,
walk_end = 40, },
run_start = 40, fly_in = "group:water",
run_end = 60, floats = 0,
punch_start = 40, follow = {
punch_end = 40, "mobs:meat_raw", "animalworld:raw_athropod", "xocean:fish_edible", "ethereal:fish_raw",
}, "mobs:clownfish_raw", "mobs:bluefish_raw", "fishing:bait_worm", "fishing:clownfish_raw",
follow = {"ethereal:fish_raw"}, "fishing:bluewhite_raw", "fishing:exoticfish_raw", "fishing:fish_raw", "fishing:carp_raw",
on_rightclick = function(self, clicker) "fishing:perch_raw", "water_life:meat_raw", "fishing:shark_raw", "fishing:pike_raw",
mobs:capture_mob(self, clicker, 80, 100, 0, true, nil) "animalworld:rawfish"
end },
}) view_range = 2,
--name, nodes, neighbours, minlight, maxlight, interval, chance, active_object_count, min_height, max_height
mobs:spawn_specific("mobs_dolphin:dolphin", {"default:water_source"}, {"default:water_flowing","default:water_source"}, 5, 20, 30, 10000, 2, -31000, l_water_level)
mobs:register_egg("mobs_dolphin:dolphin", "Dolphin", "dolphin_inv.png", 0)
end 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,
})
mobs:spawn({
name = "mobs_dolphin:dolphin",
nodes = {
"mcl_core:water_source", "default:water_source", "default:river_water_source",
"mcl_core:water_source", "mcl_core:water_flowing"
},
neighbors = {"naturalbiomes:palmbeach_sand", "mcl_core:sand", "mcl_core:gravel"},
min_light = 0,
interval = 60,
active_object_count = 2,
chance = 2000, -- 15000
min_height = -10,
max_height = 5,
})
mobs:register_egg("mobs_dolphin:dolphin", S("Dolphin"), "dolphin_inv.png")

3
mod.conf Normal file
View File

@ -0,0 +1,3 @@
name = mobs_dolphin
depends = mobs
description = Adds peaceful dolphins to the oceans.