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?

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