Mehr Mods hinzugefügt

This commit is contained in:
N-Nachtigal 2025-05-10 23:49:11 +02:00
parent 92a55732cf
commit 9e345a25fb
2805 changed files with 2096013 additions and 0 deletions

View file

@ -0,0 +1,6 @@
A few water critters ported from other mob frameworks to "Mobs-Redo".
Depends on Mobs Redo API - https://notabug.org/TenPlus1/mobs_redo
License information for the models and textures can be found inside
the respective folders.

View file

@ -0,0 +1,5 @@
Licenses
Code: MIT (code re-based)
Model/Textures: GPL v3
Author: Team NPX

View file

@ -0,0 +1,158 @@
-- load settings
local croc_walkers = core.settings:get_bool("mobs_crocs.enable_walkers", true)
local croc_floaters = core.settings:get_bool("mobs_crocs.enable_floaters", true)
local croc_swimmers = core.settings:get_bool("mobs_crocs.enable_swimmers", true)
local croc_spawn_chance = 60000
-- tweak croc spawn chance depending on which one's are enabled
croc_spawn_chance = croc_spawn_chance - (croc_walkers and 0 or 20000)
croc_spawn_chance = croc_spawn_chance - (croc_floaters and 0 or 20000)
croc_spawn_chance = croc_spawn_chance - (croc_swimmers and 0 or 20000)
-- Mineclone check
local mod_mcl = core.get_modpath("mcl_core")
-- crocodile definition
local croc_def = {
type = "monster",
attack_type = "dogfight",
damage = 8,
reach = 3,
hp_min = 20,
hp_max = 25,
armor = 100,
collisionbox = {-0.85, -0.30, -0.85, 0.85, 1.5, 0.85},
drawtype = "front",
visual = "mesh",
mesh = "crocodile.x",
textures = {
{"croco.png"},
{"croco2.png"}
},
visual_size = {x = 4, y = 4},
sounds = {
random = "croco"
},
fly = false,
floats = 0,
stepheight = 1,
view_range = 10,
water_damage = 0,
lava_damage = 10,
light_damage = 0,
animation = {
speed_normal = 24, speed_run = 24,
stand_start = 0, stand_end = 80,
walk_start = 81, walk_end = 170,
fly_start = 81, fly_end = 170,
run_start = 81, run_end = 170,
punch_start = 205, punch_end = 220
},
drops = {
{name = (mod_mcl and "mcl_mobitems:beef" or "mobs:meat_raw"),
chance = 1, min = 1, max = 3},
{name = (mod_mcl and "mcl_mobitems:leather" or "mobs:leather"),
chance = 1, min = 0, max = 2}
}
}
if croc_walkers then
mobs:register_mob("mobs_crocs:crocodile", table.copy(croc_def))
mobs:register_egg("mobs_crocs:crocodile", "Crocodile (walk)", "default_grass.png", 1)
end
if croc_floaters then
croc_def.reach = 2
croc_def.collisionbox = {-0.638, -0.23, -0.638, 0.638, 1.13, 0.638}
croc_def.visual_size = {x = 3, y = 3}
croc_def.floats = 1
mobs:register_mob("mobs_crocs:crocodile_float", table.copy(croc_def))
mobs:register_egg("mobs_crocs:crocodile_float", "Crocodile (float)", "default_grass.png", 1)
end
if croc_swimmers then
croc_def.reach = 1
croc_def.collisionbox = {-0.425, -0.15, -0.425, 0.425, 0.75, 0.425}
croc_def.visual_size = {x = 2, y = 2}
croc_def.fly = true
croc_def.fly_in = (mod_mcl and "mcl_core:water_source" or "default:water_source")
croc_def.fall_speed = -1
croc_def.floats = 0
mobs:register_mob("mobs_crocs:crocodile_swim", table.copy(croc_def))
mobs:register_egg("mobs_crocs:crocodile_swim", "Crocodile (swim)", "default_grass.png", 1)
end
-- Check for custom spawn.lua
local MP = core.get_modpath(core.get_current_modname()) .. "/"
local input = io.open(MP .. "spawn.lua", "r")
if input then
input:close() ; input = nil ; dofile(MP .. "spawn.lua")
else
if croc_walkers then
mobs:spawn({
name = "mobs_crocs:crocodile",
nodes = {
(mod_mcl and "group:shovely" or "group:crumbly")
},
neighbors = {
"group:water", "dryplants:juncus", "dryplants:reedmace",
(mod_mcl and "mcl_core:reeds" or "default:papyrus")
},
interval = 30,
chance = croc_spawn_chance,
min_height = 0,
max_height = 10
})
end
if croc_floaters then
mobs:spawn({
name = "mobs_crocs:crocodile_float",
nodes = {"group:water"},
neighbors = {
(mod_mcl and "group:shovely" or "group:crumbly"),
"group:seaplants", "dryplants:juncus", "dryplants:reedmace",
(mod_mcl and "mcl_core:reeds" or "default:papyrus")
},
interval = 30,
chance = croc_spawn_chance,
min_height = -3,
max_height = 10
})
end
if croc_swimmers then
mobs:spawn({
name = "mobs_crocs:crocodile_swim",
nodes = {"group:water"},
neighbors = {(mod_mcl and "group:shovely" or "group:crumbly")},
interval = 30,
chance = croc_spawn_chance,
min_height = -8,
max_height = 10
})
end
end
print("[MOD] Mobs Redo Crocs loaded")

View file

@ -0,0 +1,4 @@
name = mobs_crocs
description = Adds crocodiles into your world.
depends = mobs
min_minetest_version = 5.0

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,30 @@
# crocodiles for mobs_redo
## Requirements
* Minetest >= 0.4.17
## Settings
### mobs_crocs.enable_walkers
these guys are spawned on land near water, they do not
float so they will not attack you if they happen to
stumble into the water (L.O.S. limitation*)
default: **true**
### mobs_crocs.enable_floaters
these guys are spawned in shallow water, they float so they
will follow you onto land to take a bite out of you
default: **true**
### mobs_crocs.enable_swimmers
these guys are spawned in shallow water, they do not float and
will attack you on sight.
default: **true**

View file

@ -0,0 +1,8 @@
# Enable walking crocs
mobs_crocs.enable_walkers (Enable walking crocs) bool true
# Enable floating crocs
mobs_crocs.enable_floaters (Enable floating crocs) bool true
# Enable swimming crocs
mobs_crocs.enable_swimmers (Enable swimming crocs) bool true

Binary file not shown.

View file

@ -0,0 +1,52 @@
-- load settings
local croc_walkers = core.settings:get_bool("mobs_crocs.enable_walkers", true)
local croc_floaters = core.settings:get_bool("mobs_crocs.enable_floaters", true)
local croc_swimmers = core.settings:get_bool("mobs_crocs.enable_swimmers", true)
-- spawn examples
if croc_walkers then
mobs:spawn({
name = "mobs_crocs:crocodile",
nodes = {"group:crumbly"},
neighbors = {
"group:water", "dryplants:juncus", "dryplants:reedmace", "default:papyrus"
},
interval = 30,
chance = 20000,
min_height = 0,
max_height = 10
})
end
if croc_floaters then
mobs:spawn({
name = "mobs_crocs:crocodile_float",
nodes = {"group:water"},
neighbors = {
"group:crumbly", "group:seaplants", "dryplants:juncus",
"dryplants:reedmace", "default:papyrus"
},
interval = 30,
chance = 20000,
min_height = -3,
max_height = 10
})
end
if croc_swimmers then
mobs:spawn({
name = "mobs_crocs:crocodile_swim",
nodes = {"group:water"},
neighbors = {"group:crumbly"},
interval = 30,
chance = 20000,
min_height = -8,
max_height = 10
})
end

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

View file

@ -0,0 +1,7 @@
Licenses
Code: MIT
Model/Textures: CC-BY-SA 3.0
Author: Sapier
URL: http://creativecommons.org/licenses/by-sa/3.0/de/legalcode

View file

@ -0,0 +1,205 @@
local SPRITE_VERSION = false -- set to true to use upright sprites instead of meshes
-- local variables
local l_spawn_chance = 10000
local l_water_level = core.settings:get("water_level") - 1
local l_visual = "mesh"
local l_visual_size = {x = .75, y = .75}
local l_clown_mesh = "animal_clownfish.b3d"
local l_trop_mesh = "fish_blue_white.b3d"
local l_clown_textures = {
{"clownfish.png"},
{"clownfish2.png"}
}
local l_trop_textures = {
{"fish.png"},
{"fish2.png"},
{"fish3.png"}
}
if SPRITE_VERSION then
l_visual = "upright_sprite"
l_visual_size = {x = .5, y = .5}
l_clown_mesh = nil
l_trop_mesh = nil
l_clown_textures = {{"animal_clownfish_clownfish_item.png"}}
l_trop_textures = {{"animal_fish_blue_white_fish_blue_white_item.png"}}
end
-- Mineclone check
local mod_mcl = core.get_modpath("mcl_core")
-- Clownfish
mobs:register_mob("mobs_fish:clownfish", {
type = "animal",
passive = true,
hp_min = 1,
hp_max = 4,
armor = 100,
collisionbox = {-0.25, -0.25, -0.25, 0.25, 0.25, 0.25},
rotate = 270,
visual = l_visual,
mesh = l_clown_mesh,
textures = l_clown_textures,
visual_size = l_visual_size,
makes_footstep_sound = false,
stepheight = 0,
fly = true,
fly_in = (mod_mcl and "mcl_core:water_source" or "default:water_source"),
fall_speed = 0,
view_range = 2,
water_damage = 0,
air_damage = 0,
lava_damage = 5,
light_damage = 0,
animation = {
speed_normal = 24, speed_run = 24,
stand_start = 1, stand_end = 80,
walk_start = 81, walk_end = 155,
fly_start = 81, fly_end = 155,
run_start = 81, run_end = 155
},
stay_near = {(mod_mcl and "mcl_core:water_source" or "default:water_source"), 3},
on_rightclick = function(self, clicker)
mobs:capture_mob(self, clicker, 25, 80, 0, true, "mobs_fish:clownfish")
end,
on_flop = function(self)
-- print("=== am on land, help!", self.state)
self.object:set_acceleration({
x = math.random(-0.1, 0.1),
y = -10,
z = math.random(-0.1, 0.1)
})
self.object:set_velocity({x = 0, y = -10, z = 0})
return true
end
})
-- spawn egg
mobs:register_egg("mobs_fish:clownfish", "Clownfish", "animal_clownfish_clownfish_item.png", 0)
-- Tropical fish
mobs:register_mob("mobs_fish:tropical", {
type = "animal",
passive = true,
hp_min = 1,
hp_max = 4,
armor = 100,
collisionbox = {-0.25, -0.25, -0.25, 0.25, 0.25, 0.25},
rotate = 270,
visual = l_visual,
mesh = l_trop_mesh,
textures = l_trop_textures,
visual_size = l_visual_size,
makes_footstep_sound = false,
stepheight = 0,
fly = true,
fly_in = (mod_mcl and "mcl_core:water_source" or "default:water_source"),
fall_speed = 0,
view_range = 8,
water_damage = 0,
lava_damage = 5,
light_damage = 0,
air_damage = 0,
animation = {
speed_normal = 24, speed_run = 24,
stand_start = 1, stand_end = 80,
walk_start = 81, walk_end = 155,
run_start = 81, run_end = 155
},
stay_near = {(mod_mcl and "mcl_core:water_source" or "default:water_source"), 3},
on_rightclick = function(self, clicker)
mobs:capture_mob(self, clicker, 25, 80, 0, true, "mobs_fish:tropical")
end,
on_flop = function(self)
-- print("=== am on land, help!", self.state)
self.object:set_acceleration({
x = math.random(-0.1, 0.1),
y = -10,
z = math.random(-0.1, 0.1)
})
self.object:set_velocity({x = 0, y = -10, z = 0})
return true
end
})
-- spawn egg
mobs:register_egg("mobs_fish:tropical", "Tropical fish",
"animal_fish_blue_white_fish_blue_white_item.png", 0)
-- Check for custom spawn.lua
local MP = core.get_modpath(core.get_current_modname()) .. "/"
local input = io.open(MP .. "spawn.lua", "r")
if input then
input:close() ; input = nil ; dofile(MP .. "spawn.lua")
else
-- clownfish
mobs:spawn({
name = "mobs_fish:clownfish",
nodes = {"group:water"},
neighbors = {
(mod_mcl and "group:shovely" or "group:crumbly"),
"group:seaplants", "group:seacoral"
},
min_light = 5,
interval = 30,
chance = l_spawn_chance,
max_height = l_water_level,
active_object_count = 5
})
-- tropical fish
mobs:spawn({
name = "mobs_fish:tropical",
nodes = {"group:water"},
neighbors = {
(mod_mcl and "group:shovely" or "group:crumbly"),
"group:seaplants", "group:seacoral"
},
min_light = 5,
interval = 30,
chance = l_spawn_chance,
max_height = l_water_level,
active_object_count = 5
})
end
-- helper function
local function add_food_group(item)
local def = core.registered_items[item]
local grp = table.copy(def.groups)
grp.food_fish_raw = 1
core.override_item(item, {groups = grp})
end
add_food_group("mobs_fish:tropical")
add_food_group("mobs_fish:clownfish")
print("[MOD] Mobs Redo Fish loaded")

View file

@ -0,0 +1,4 @@
name = mobs_fish
description = Adds fish into your world.
depends = mobs
min_minetest_version = 5.0

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,24 @@
-- Fish spawn examples
mobs:spawn({
name = "mobs_fish:clownfish",
nodes = {"group:water"},
neighbors = {"group:crumbly", "group:seaplants", "group:seacoral"},
min_light = 5,
interval = 30,
chance = 10000,
max_height = -1,
active_object_count = 5
})
mobs:spawn({
name = "mobs_fish:tropical",
nodes = {"group:water"},
neighbors = {"group:crumbly", "group:seaplants", "group:seacoral"},
min_light = 5,
interval = 30,
chance = 10000,
max_height = -1,
active_object_count = 5
})

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 548 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 539 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 375 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View file

@ -0,0 +1,21 @@
Licenses
Code: MIT
Model/Textures: WTFPL
Author: blert2112
***************
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
Version 2, December 2004
Copyright (C) 2004 Sam Hocevar <sam@hocevar.net>
Everyone is permitted to copy and distribute verbatim or modified
copies of this license document, and changing it is allowed as long
as the name is changed.
DO WHAT THE FUCK YOU WANT TO PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. You just DO WHAT THE FUCK YOU WANT TO.

View file

@ -0,0 +1,68 @@
-- mineclone check
local mod_mcl = core.get_modpath("mcl_core")
-- jellyfish definition
mobs:register_mob("mobs_jellyfish:jellyfish", {
type = "monster",
attack_type = "dogfight",
passive = false,
damage = 5,
reach = 1.1,
hp_min = 5,
hp_max = 10,
armor = 100,
collisionbox = {-0.1, -0.25, -0.1, 0.1, 0.25, 0.1},
visual = "mesh",
mesh = "jellyfish.b3d",
textures = {
{"jellyfish.png"}
},
makes_footstep_sound = false,
walk_velocity = 0.1,
run_velocity = 0.1,
fly = true,
fly_in = (mod_mcl and "mcl_core:water_source" or "default:water_source"),
stepheight = 0,
fall_speed = 0,
view_range = 10,
water_damage = 0,
lava_damage = 5,
light_damage = 0,
on_rightclick = function(self, clicker)
mobs:capture_mob(self, clicker, 80, 100, 0, true, "mobs_jellyfish:jellyfish")
end
})
-- Check for custom spawn.lua
local MP = core.get_modpath(core.get_current_modname()) .. "/"
local input = io.open(MP .. "spawn.lua", "r")
if input then
input:close() ; input = nil ; dofile(MP .. "spawn.lua")
else
mobs:spawn({
name = "mobs_jellyfish:jellyfish",
nodes = {(mod_mcl and "mcl_core:water_source" or "default:water_source")},
neighbors = {"group:water"},
min_light = 5,
interval = 30,
chance = 10000,
max_height = 0
})
end
-- spawn egg
mobs:register_egg("mobs_jellyfish:jellyfish", "Jellyfish", "jellyfish_inv.png", 0)
-- compatibility
core.register_alias("mobs_jellyfish:jellyfish_set", "mobs_jellyfish:jellyfish")
print("[MOD] Mobs Redo Jellyfish loaded")

View file

@ -0,0 +1,4 @@
name = mobs_jellyfish
description = Adds jellyfish into your world.
depends = mobs
min_minetest_version = 5.0

Binary file not shown.

View file

@ -0,0 +1,12 @@
-- Jellyfish spawn example
mobs:spawn({
name = "mobs_jellyfish:jellyfish",
nodes = {"default:water_source"},
neighbors = {"group:water"},
min_light = 5,
interval = 30,
chance = 10000,
max_height = 0
})

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

View file

@ -0,0 +1,8 @@
Licenses
Code: MIT
Model/Textures: CC-BY-SA 3.0
http://creativecommons.org/licenses/by-sa/3.0/de/legalcode
Author: Sapier
texture modification by: blert2112

View file

@ -0,0 +1,232 @@
-- local variables
local l_skins = {
{
"(shark_first.png^[colorize:#404040:150" -- dark grey
.. ")^(shark_second.png^[colorize:#a0a0a0:150" -- grey
.. ")^shark_third.png"
},
{
"(shark_first.png^[colorize:#604000:175" -- brown
.. ")^(shark_second.png^[colorize:#ffffff:150" -- white
..")^shark_third.png"
},
{
"(shark_first.png^[colorize:#a0a0a0:150" -- grey
.. ")^(shark_second.png^[colorize:#ffffff:150" -- white
.. ")^shark_third.png"
}
}
local l_spawn_chance = 60000
-- load settings
local ENABLE_LARGE = core.settings:get_bool("mobs_sharks.enable_large") ~= false
local ENABLE_MEDIUM = core.settings:get_bool("mobs_sharks.enable_medium") ~= false
local ENABLE_SMALL = core.settings:get_bool("mobs_sharks.enable_small") ~= false
if not ENABLE_LARGE then
l_spawn_chance = l_spawn_chance - 20000
end
if not ENABLE_MEDIUM then
l_spawn_chance = l_spawn_chance - 20000
end
if not ENABLE_SMALL then
l_spawn_chance = l_spawn_chance - 20000
end
-- Mineclone check
local mod_mcl = core.get_modpath("mcl_core")
-- large
if ENABLE_LARGE then
mobs:register_mob("mobs_sharks:shark_lg", {
type = "monster",
attack_type = "dogfight",
damage = 10,
reach = 3,
hp_min = 20,
hp_max = 25,
armor = 100,
collisionbox = {-0.75, -0.5, -0.75, 0.75, 0.5, 0.75},
visual = "mesh",
mesh = "mob_shark.b3d",
textures = l_skins,
makes_footstep_sound = false,
walk_velocity = 4,
run_velocity = 6,
fly = true,
fly_in = (mod_mcl and "mcl_core:water_source" or "default:water_source"),
fall_speed = 0,
rotate = 270,
view_range = 10,
water_damage = 0,
lava_damage = 10,
light_damage = 0,
animation = {
speed_normal = 24, speed_run = 24,
stand_start = 1, stand_end = 80,
walk_start = 80, walk_end = 160,
fly_start = 80, fly_end = 160,
run_start = 80, run_end = 160
},
jump = false,
stepheight = 0,
stay_near = {(mod_mcl and "mcl_core:water_source" or "default:water_source"), 3},
drops = {
{name = (mod_mcl and "mcl_mobitems:beef" or "mobs:meat_raw"),
chance = 1, min = 1, max = 3}
}
})
mobs:register_egg("mobs_sharks:shark_lg", "Shark (large)",
"mob_shark_shark_item.png", 0)
end
-- medium
if ENABLE_MEDIUM then
mobs:register_mob("mobs_sharks:shark_md", {
type = "monster",
attack_type = "dogfight",
damage = 8,
reach = 2,
hp_min = 15,
hp_max = 20,
armor = 125,
collisionbox = {-0.57, -0.38, -0.57, 0.57, 0.38, 0.57},
visual = "mesh",
visual_size = {x = 0.75, y = 0.75},
mesh = "mob_shark.b3d",
textures = l_skins,
makes_footstep_sound = false,
walk_velocity = 2,
run_velocity = 4,
fly = true,
fly_in = (mod_mcl and "mcl_core:water_source" or "default:water_source"),
fall_speed = -1,
rotate = 270,
view_range = 10,
water_damage = 0,
lava_damage = 10,
light_damage = 0,
animation = {
speed_normal = 24, speed_run = 24,
stand_start = 1, stand_end = 80,
walk_start = 80, walk_end = 160,
run_start = 80, run_end = 160
},
jump = false,
stepheight = 0,
stay_near = {(mod_mcl and "mcl_core:water_source" or "default:water_source"), 3},
drops = {
{name = (mod_mcl and "mcl_mobitems:beef" or "mobs:meat_raw"),
chance = 1, min = 1, max = 3}
}
})
mobs:register_egg("mobs_sharks:shark_md", "Shark (medium)",
"mob_shark_shark_item.png", 0)
end
-- small
if ENABLE_SMALL then
mobs:register_mob("mobs_sharks:shark_sm", {
type = "monster",
attack_type = "dogfight",
damage = 6,
reach = 1,
hp_min = 10,
hp_max = 15,
armor = 100,
collisionbox = {-0.38, -0.25, -0.38, 0.38, 0.25, 0.38},
visual = "mesh",
visual_size = {x = 0.5, y = 0.5},
mesh = "mob_shark.b3d",
textures = l_skins,
makes_footstep_sound = false,
walk_velocity = 2,
run_velocity = 4,
fly = true,
fly_in = (mod_mcl and "mcl_core:water_source" or "default:water_source"),
fall_speed = -1,
rotate = 270,
view_range = 10,
water_damage = 0,
lava_damage = 10,
light_damage = 0,
animation = {
speed_normal = 24, speed_run = 24,
stand_start = 1, stand_end = 80,
walk_start = 80, walk_end = 160,
run_start = 80, run_end = 160
},
jump = false,
stepheight = 0,
stay_near = {(mod_mcl and "mcl_core:water_source" or "default:water_source"), 3},
drops = {
{name = (mod_mcl and "mcl_mobitems:beef" or "mobs:meat_raw"),
chance = 1, min = 1, max = 3}
}
})
mobs:register_egg("mobs_sharks:shark_sm", "Shark (small)",
"mob_shark_shark_item.png", 0)
end
-- Check for custom spawn.lua
local MP = core.get_modpath(core.get_current_modname()) .. "/"
local input = io.open(MP .. "spawn.lua", "r")
if input then
input:close() ; input = nil ; dofile(MP .. "spawn.lua")
else
if ENABLE_SMALL then
mobs:spawn({
name = "mobs_sharks:shark_sm",
nodes = {"mcl_core:water_source", "default:water_source"},
neighbors = {"group:water", "seawrecks:woodship", "seawrecks:uboot"},
interval = 30,
chance = l_spawn_chance,
max_height = -1
})
end
if ENABLE_MEDIUM then
mobs:spawn({
name = "mobs_sharks:shark_md",
nodes = {"mcl_core:water_source", "default:water_source"},
neighbors = {"group:water", "seawrecks:woodship", "seawrecks:uboot"},
interval = 30,
chance = l_spawn_chance,
max_height = -1
})
end
if ENABLE_LARGE then
mobs:spawn({
name = "mobs_sharks:shark_lg",
nodes = {"mcl_core:water_source", "default:water_source"},
neighbors = {"group:water", "seawrecks:woodship", "seawrecks:uboot"},
interval = 30,
chance = l_spawn_chance,
max_height = -1
})
end
end
print("[MOD] Mobs Redo Sharks loaded")

View file

@ -0,0 +1,4 @@
name = mobs_sharks
description = Adds sharks into your world.
depends = mobs
min_minetest_version = 5.0

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,3 @@
mobs_sharks.enable_large (Enable Large Sharks) bool true
mobs_sharks.enable_medium (Enable Medium Sharks) bool true
mobs_sharks.enable_small (Enable Small Sharks) bool true

View file

@ -0,0 +1,44 @@
-- load settings
local ENABLE_LARGE = core.settings:get_bool("mobs_sharks.enable_large") ~= false
local ENABLE_MEDIUM = core.settings:get_bool("mobs_sharks.enable_medium") ~= false
local ENABLE_SMALL = core.settings:get_bool("mobs_sharks.enable_small") ~= false
-- Shark spawn examples
if ENABLE_SMALL then
mobs:spawn({
name = "mobs_sharks:shark_sm",
nodes = {"group:water"},
neighbors = {"group:water", "seawrecks:woodship", "seawrecks:uboot"},
interval = 30,
chance = 20000,
max_height = 0
})
end
if ENABLE_MEDIUM then
mobs:spawn({
name = "mobs_sharks:shark_md",
nodes = {"group:water"},
neighbors = {"group:water", "seawrecks:woodship", "seawrecks:uboot"},
interval = 30,
chance = 20000,
max_height = 0
})
end
if ENABLE_LARGE then
mobs:spawn({
name = "mobs_sharks:shark_lg",
nodes = {"group:water"},
neighbors = {"group:water", "seawrecks:woodship", "seawrecks:uboot"},
interval = 30,
chance = 20000,
max_height = 0
})
end

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 677 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

View file

@ -0,0 +1,6 @@
Licenses
Code: MIT
Model/Textures: CC-BY-SA 3.0
http://creativecommons.org/licenses/by-sa/3.0/de/legalcode
Author: AspireMint

View file

@ -0,0 +1,174 @@
-- settings
local l_skins = {
{"turtle1.png^turtle2.png^turtle3.png^turtle4.png"
.. "^turtle5.png^turtle6.png^turtle7.png"},
{"turtle1.png^(turtle2.png^[colorize:#a0a0a0:150" -- grey
.. ")^(turtle3.png^[colorize:#404040:150" -- dark grey
.. ")^(turtle4.png^[colorize:#604000:175" -- brown
.. ")^(turtle5.png^[colorize:#604000:100" -- brown 2
.. ")^(turtle6.png^[colorize:#808000:150" .. ")^turtle7.png"} -- olive
}
local l_spawn_chance = 30000
-- Mineclone check
local mod_mcl = core.get_modpath("mcl_core")
-- land turtle
mobs:register_mob("mobs_turtles:turtle", {
type = "animal",
passive = true,
hp_min = 15,
hp_max = 20,
armor = 100,
collisionbox = {-0.4, 0.0, -0.4, 0.4, 0.35, 0.4},
visual = "mesh",
mesh = "mobf_turtle.x",
textures = l_skins,
makes_footstep_sound = false,
view_range = 8,
rotate = 270,
walk_velocity = 0.1,
run_velocity = 0.3,
jump = false,
fly = false,
floats = 1,
water_damage = 0,
lava_damage = 5,
light_damage = 0,
fall_damage = 1,
animation = {
speed_normal = 24, speed_run = 24,
stand_start = 1,stand_end = 50,
walk_start = 60, walk_end = 90,
run_start = 60, run_end = 90,
hide_start = 95, hide_end = 100
},
drops = {
{name = (mod_mcl and "mcl_mobitems:beef" or "mobs:meat_raw"),
chance = 1, min = 1, max = 3}
},
follow = (mod_mcl and "mcl_farming:carrot_item" or "farming:carrot"),
on_rightclick = function(self, clicker)
if mobs:feed_tame(self, clicker, 5, false, true) then return end
if mobs:capture_mob(self, clicker, nil, 80, 100, true, nil) then return end
self.state = "hide"
self:set_velocity(0)
self:set_animation("hide")
core.after(5, function()
if self and self.object then
self.state = "stand"
end
end)
end,
do_custom = function(self, dtime)
if self and self.state == "hide" then
self:set_velocity(0)
end
end
})
-- spawn egg
mobs:register_egg("mobs_turtles:turtle", "Turtle", "default_grass.png", 1)
-- sea turtle
mobs:register_mob("mobs_turtles:seaturtle", {
type = "animal",
passive = true,
hp_min = 20,
hp_max = 30,
armor = 250,
collisionbox = {-0.8, 0.0, -0.8, 0.8, 0.7, 0.8},
visual = "mesh",
visual_size = {x = 2, y = 2},
mesh = "mobf_turtle.x",
textures = l_skins,
makes_footstep_sound = false,
view_range = 10,
rotate = 270,
walk_velocity = 1,
run_velocity = 1.5,
stepheight = 1,
jump = false,
fly = true,
fly_in = (mod_mcl and "mcl_core:water_source" or "default:water_source"),
fall_speed = 0,
floats = 1,
water_damage = 0,
lava_damage = 5,
light_damage = 0,
fall_damage = 0,
animation = {
speed_normal = 24, speed_run = 24,
stand_start = 1, stand_end = 50,
walk_start = 60, walk_end = 90,
run_start = 60, run_end = 90,
hide_start = 95, hide_end = 100
},
drops = {
{name = (mod_mcl and "mcl_mobitems:beef" or "mobs:meat_raw"),
chance = 1, min = 1, max = 3}
},
on_rightclick = function(self, clicker)
mobs:capture_mob(self, clicker, 0, 0, 80, true, nil)
end
})
-- spawn egg
mobs:register_egg("mobs_turtles:seaturtle", "Sea Turtle", "default_water.png", 1)
-- Check for custom spawn.lua
local MP = core.get_modpath(core.get_current_modname()) .. "/"
local input = io.open(MP .. "spawn.lua", "r")
if input then
input:close() ; input = nil ; dofile(MP .. "spawn.lua")
else
-- land turtle
mobs:spawn({
name = "mobs_turtles:turtle",
nodes = {(mod_mcl and "group:shovely" or "group:crumbly")},
neighbors = {
(mod_mcl and "groups:shovely" or "group:crumbly"),
(mod_mcl and "mcl_core:reeds" or "default:papyrus"),
(mod_mcl and "mcl_core:cactus" or "default:cactus"),
"dryplants:juncus", "dryplants:reedmace"
},
min_light = 5,
interval = 30,
chance = l_spawn_chance,
min_height = 1,
max_height = 10
})
-- sea turtle
mobs:spawn({
name = "mobs_turtles:seaturtle",
nodes = {"group:water"},
neighbors = {
"group:water", "group:seaplants", "seawrecks:woodship", "seawrecks:uboot"
},
min_light = 5,
interval = 30,
chance = l_spawn_chance,
max_height = 0
})
end
print("[MOD] Mobs Redo Turtles loaded")

View file

@ -0,0 +1,4 @@
name = mobs_turtles
description = Adds turtles into your world.
depends = mobs
min_minetest_version = 5.0

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,30 @@
-- Turtle spawn examples
-- land turtle
mobs:spawn({
name = "mobs_turtles:turtle",
nodes = {"group:crumbly"},
neighbors = {
"group:crumbly", "default:papyrus", "default:cactus",
"dryplants:juncus", "dryplants:reedmace"
},
min_light = 5,
interval = 30,
chance = 30000,
min_height = 1,
max_height = 10
})
-- sea turtle
mobs:spawn({
name = "mobs_turtles:seaturtle",
nodes = {"group:water"},
neighbors = {
"group:water", "group:seaplants", "seawrecks:woodship", "seawrecks:uboot"
},
min_light = 5,
interval = 30,
chance = 30000,
max_height = 0
})

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 395 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 597 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 744 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 561 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 288 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 B

View file

@ -0,0 +1,5 @@
release = 30950
author = TenPlus1
name = mobs_water
description = Water Mobs for Mobs Redo
title = Water Mobs

View file

Binary file not shown.

After

Width:  |  Height:  |  Size: 102 KiB