Add files via upload

master
Skandarella 2021-01-31 21:16:02 +01:00 committed by GitHub
parent ef439ad009
commit 58fb8ef189
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
90 changed files with 1093 additions and 0 deletions

75
bear.lua Normal file
View File

@ -0,0 +1,75 @@
mobs:register_mob("wildlife:bear", {
stepheight = 1,
type = "monster",
passive = false,
attack_type = "dogfight",
attack_animals = true,
reach = 2,
damage = 3,
hp_min = 5,
hp_max = 35,
armor = 200,
collisionbox = {-0.6, -0.01, -0.6, 0.6, 0.95, 0.6},
visual = "mesh",
mesh = "Bear.b3d",
visual_size = {x = 1.0, y = 1.0},
textures = {
{"texturebear.png"},
},
sounds = {
random = "wildlife_bear",
},
makes_footstep_sound = true,
walk_velocity = 1,
run_velocity = 3,
runaway = false,
jump = false,
jump_height = 6,
stepheight = 1,
drops = {
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
},
water_damage = 0,
lava_damage = 4,
light_damage = 0,
fear_height = 2,
animation = {
speed_normal = 50,
stand_start = 0,
stand_end = 100,
walk_start = 100,
walk_end = 200,
punch_start = 200,
punch_end = 300,
-- 50-70 is slide/water idle
},
follow = {
"ethereal:fish_raw", "wildlife:rawfish", "mobs_fish:tropical",
"mobs:meat_raw", "wildlife:rabbit_raw", "xocean:fish_edible"
},
view_range = 8,
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, 5, 50, 80, false, nil) then return end
end,
})
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "wildlife:bear",
nodes = {"default:dirt_with_coniferous_litter"}, {"default:permafrost_with_moss"}, {"ethereal:bamboo_dirt"},
min_light = 0,
interval = 30,
chance = 8000, -- 15000
min_height = -15,
max_height = 200,
})
end
mobs:register_egg("wildlife:bear", ("Bear"), "abear.png")

158
blackbird.lua Normal file
View File

@ -0,0 +1,158 @@
mobs:register_mob("wildlife:blackbird", {
stepheight = 3,
type = "animal",
passive = true,
attack_type = "dogfight",
attack_animals = false,
reach = 2,
damage = 1,
hp_min = 5,
hp_max = 5,
armor = 200,
collisionbox = {-0.3, -0.01, -1, 0.3, 0.3, 0.3},
visual = "mesh",
mesh = "Blackbird.b3d",
visual_size = {x = 1.0, y = 1.0},
textures = {
{"textureblackbird.png"},
},
sounds = {
random = "wildlife_blackbird",
},
makes_footstep_sound = true,
walk_velocity = 2,
run_velocity = 4,
runaway = true,
runaway_from = {"wildlife:bear", "wildlife:crocodile", "wildlife:tiger", "player"},
jump = true,
jump_height = 6,
stepheight = 3,
drops = {
{name = "wildlife:chicken_raw", chance = 1, min = 1, max = 1},
{name = "wildlife:chicken_feather", chance = 1, min = 1, max = 1},
},
water_damage = 0,
lava_damage = 4,
light_damage = 0,
fear_height = 10,
animation = {
speed_normal = 100,
stand_start = 100,
stand_end = 200,
walk_start = 0,
walk_end = 100,
fly_start = 250, -- swim animation
fly_end = 350,
punch_start = 100,
punch_end = 200,
-- 50-70 is slide/water idle
},
fly_in = {"air"},
floats = 0,
follow = {
"fishing:bait:worm"
},
view_range = 4,
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, 5, 50, 80, false, nil) then return end
end,
})
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "wildlife:blackbird",
nodes = {"default:dirt_with_grass"},
min_light = 0,
interval = 10,
chance = 8000, -- 15000
min_height = 0,
max_height = 200,
day_toggle = true,
})
end
mobs:register_egg("wildlife:blackbird", ("Blackbird"), "ablackbird.png")
-- egg
minetest.register_node(":mobs:egg", {
description = ("Chicken Egg"),
tiles = {"mobs_chicken_egg.png"},
inventory_image = "mobs_chicken_egg.png",
visual_scale = 0.7,
drawtype = "plantlike",
wield_image = "mobs_chicken_egg.png",
paramtype = "light",
walkable = false,
is_ground_content = true,
sunlight_propagates = true,
selection_box = {
type = "fixed",
fixed = {-0.2, -0.5, -0.2, 0.2, 0, 0.2}
},
groups = {food_egg = 1, snappy = 2, dig_immediate = 3},
after_place_node = function(pos, placer, itemstack)
if placer:is_player() then
minetest.set_node(pos, {name = "mobs:egg", param2 = 1})
end
end,
on_use = mobs_shoot_egg
})
-- fried egg
minetest.register_craftitem(":wildlife:chicken_egg_fried", {
description = ("Bird Egg"),
inventory_image = "wildlife_chicken_egg_fried.png",
on_use = minetest.item_eat(2),
groups = {food_egg_fried = 1, flammable = 2},
})
minetest.register_craft({
type = "cooking",
recipe = "mobs:egg",
output = "wildlife:chicken_egg_fried",
})
-- raw chicken
minetest.register_craftitem(":wildlife:chicken_raw", {
description = ("Raw Bird Meat"),
inventory_image = "wildlife_chicken_raw.png",
on_use = minetest.item_eat(2),
groups = {food_meat_raw = 1, food_chicken_raw = 1, flammable = 2},
})
-- cooked chicken
minetest.register_craftitem(":wildlife:chicken_cooked", {
description = ("Cooked Bird Meat"),
inventory_image = "wildlife_chicken_cooked.png",
on_use = minetest.item_eat(6),
groups = {food_meat = 1, food_chicken = 1, flammable = 2},
})
minetest.register_craft({
type = "cooking",
recipe = "wildlife:chicken_raw",
output = "wildlife:chicken_cooked",
})
-- feather
minetest.register_craftitem(":wildlife:chicken_feather", {
description = ("Bird Feather"),
inventory_image = "wildlife_chicken_feather.png",
groups = {flammable = 2},
})
minetest.register_craft({
type = "fuel",
recipe = "wildlife:chicken_feather",
burntime = 1,
})

112
boar.lua Normal file
View File

@ -0,0 +1,112 @@
mobs:register_mob("wildlife:boar", {
stepheight = 1,
type = "animal",
passive = false,
attack_type = "dogfight",
group_attack = true,
owner_loyal = true,
attack_npcs = true,
reach = 2,
damage = 2,
hp_min = 5,
hp_max = 15,
armor = 200,
collisionbox = {-0.5, -0.01, -0.5, 0.5, 0.95, 0.5},
visual = "mesh",
mesh = "Boar.b3d",
textures = {
{"textureboar.png"},
},
makes_footstep_sound = true,
sounds = {
random = "wildlife_boar",
attack = "wildlife_boar",
},
walk_velocity = 1,
run_velocity = 2,
jump = true,
jump_height = 6,
pushable = true,
follow = {"default:apple", "farming:potato"},
view_range = 6,
drops = {
{name = "wildlife:pork_raw", chance = 1, min = 1, max = 3},
},
water_damage = 0,
lava_damage = 5,
light_damage = 0,
fear_height = 2,
animation = {
speed_normal = 100,
stand_start = 0,
stand_end = 100,
walk_start = 300,
walk_end = 450,
punch_start = 100,
punch_end = 300,
die_start = 1, -- we dont have a specific death animation so we will
die_end = 2, -- re-use 2 standing frames at a speed of 1 fps and
die_speed = 1, -- have mob rotate when dying.
die_loop = false,
die_rotate = true,
},
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, 5, 50, false, nil) then return end
end,
})
local spawn_on = {"default:dirt_with_coniferous_litter"}
if minetest.get_mapgen_setting("mg_name") ~= "v6" then
spawn_on = {"default:dirt_with_dry_grass", "default:dirt_with_coniferous_litter"}
end
if minetest.get_modpath("ethereal") then
spawn_on = {"ethereal:mushroom_dirt", "ethereal:bamboo_dirt"}
end
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "wildlife:boar",
nodes = {"default:dirt_with_coniferous_litter", "default:dirt_gray"},
min_light = 14,
interval = 30,
chance = 8000, -- 15000
min_height = 1,
max_height = 100,
day_toggle = true,
})
end
mobs:register_egg("wildlife:boar", ("Boar"), "aboar.png")
mobs:alias_mob("wildlife:boar", "wildlife:boa") -- compatibility
-- raw porkchop
minetest.register_craftitem(":wildlife:pork_raw", {
description = ("Raw Pork"),
inventory_image = "wildlife_pork_raw.png",
on_use = minetest.item_eat(4),
groups = {food_meat_raw = 1, food_pork_raw = 1, flammable = 2},
})
-- cooked porkchop
minetest.register_craftitem(":wildlife:pork_cooked", {
description = ("Cooked Pork"),
inventory_image = "wildlife_pork_cooked.png",
on_use = minetest.item_eat(8),
groups = {food_meat = 1, food_pork = 1, flammable = 2},
})
minetest.register_craft({
type = "cooking",
output = "wildlife:pork_cooked",
recipe = "wildlife:pork_raw",
cooktime = 5,
})

90
camel.lua Normal file
View File

@ -0,0 +1,90 @@
mobs:register_mob("wildlife:camel", {
stepheight = 1,
type = "animal",
passive = false,
attack_type = "dogfight",
group_attack = true,
owner_loyal = true,
attack_npcs = false,
reach = 2,
damage = 2,
hp_min = 5,
hp_max = 30,
armor = 200,
collisionbox = {-0.7, -0.01, -0.7, 0.7, 0.95, 0.7},
visual = "mesh",
mesh = "Camel.b3d",
textures = {
{"texturecamel.png"},
},
makes_footstep_sound = true,
sounds = {
random = "wildlife_camel",
attack = "wildlife_camel",
},
walk_velocity = 2,
run_velocity = 5,
runaway = true,
runaway_from = {"wildlife:bear", "wildlife:crocodile", "wildlife:tiger"},
jump = false,
jump_height = 3,
pushable = true,
follow = {"default:dry_shrub ", "default:grass_1"},
view_range = 7,
drops = {
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
},
water_damage = 0,
lava_damage = 5,
light_damage = 0,
fear_height = 2,
animation = {
speed_normal = 35,
stand_start = 0,
stand_end = 100,
walk_start = 200,
walk_end = 300,
punch_start = 100,
punch_end = 200,
die_start = 1, -- we dont have a specific death animation so we will
die_end = 2, -- re-use 2 standing frames at a speed of 1 fps and
die_speed = 1, -- have mob rotate when dying.
die_loop = false,
die_rotate = true,
},
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, 5, 50, false, nil) then return end
end,
})
local spawn_on = {"default:desert_sand", "default:sandstone"}
if minetest.get_mapgen_setting("mg_name") ~= "v6" then
spawn_on = {"default:desert_sand", "default:sandstone"}
end
if minetest.get_modpath("ethereal") then
spawn_on = {"default:desert_sand"}
end
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "wildlife:camel",
nodes = {"default:desert_sand", "default:sandstone"},
min_light = 0,
interval = 20,
chance = 8000, -- 15000
min_height = 0,
max_height = 40,
})
end
mobs:register_egg("wildlife:camel", ("Camel"), "acamel.png")
mobs:alias_mob("wildlife:camel", "wildlife:camel") -- compatibility

103
carp.lua Normal file
View File

@ -0,0 +1,103 @@
mobs:register_mob("wildlife:carp", {
stepheight = 0.0,
type = "animal",
passive = true,
attack_type = "dogfight",
attack_animals = false,
reach = 1,
damage = 1,
hp_min = 5,
hp_max = 5,
armor = 200,
collisionbox = {-0.4, -0.01, -0.4, 0.4, 0.95, 0.4},
visual = "mesh",
mesh = "Carp.b3d",
visual_size = {x = 1.0, y = 1.0},
textures = {
{"texturecarp.png"},
},
sounds = {},
makes_footstep_sound = false,
walk_velocity = 2,
run_velocity = 3,
fly = true,
fly_in = "default:water_source", "default:river_water_source", "default:water_flowing",
fall_speed = 0,
runaway = true,
runaway_from = {"wildlife:bear", "wildlife:crocodile", "wildlife:tiger", "wildlife:elephant", "wildlife:hippo", "player"},
jump = false,
stepheight = 0.0,
drops = {
{name = "wildlife:rawfish", chance = 1, min = 1, max = 1},
},
water_damage = 0,
air_damage = 1,
lava_damage = 4,
light_damage = 0,
fear_height = 2,
animation = {
speed_normal = 100,
stand_start = 0,
stand_end = 100,
walk_start = 150,
walk_end = 250,
fly_start = 150, -- swim animation
fly_end = 250,
punch_start = 100,
punch_end = 200,
-- 50-70 is slide/water idle
},
fly_in = {"default:water_source", "default:river_water_source", "default:water_flowing"},
floats = 0,
follow = {
"default:kelp", "seaweed", "xocean:kelp",
"default:grass", "farming:cucumber", "farming:cabbage"
},
view_range = 10,
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, 5, 50, 80, false, nil) then return end
end,
})
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "wildlife:carp",
nodes = {"default:water_source"}, {"default:river_water_source"},
min_light = 14,
interval = 10,
chance = 8000, -- 15000
min_height = 0,
max_height = 30,
day_toggle = true,
})
end
mobs:register_egg("wildlife:carp", ("Carp"), "acarp.png")
-- raw fish
minetest.register_craftitem(":wildlife:rawfish", {
description = ("Raw Fish"),
inventory_image = "wildlife_rawfish.png",
on_use = minetest.item_eat(3),
groups = {food_meat_raw = 1, flammable = 2},
})
-- cooked fish
minetest.register_craftitem(":wildlife:cookedfish", {
description = ("Cooked Fish"),
inventory_image = "wildlife_cookedfish.png",
on_use = minetest.item_eat(5),
groups = {food_meat = 1, flammable = 2},
})
minetest.register_craft({
type = "cooking",
output = "wildlife:cookedfish",
recipe = "wildlife:rawfish",
cooktime = 5,
})

79
crocodile.lua Normal file
View File

@ -0,0 +1,79 @@
mobs:register_mob("wildlife:crocodile", {
stepheight = 1,
type = "monster",
passive = false,
attack_type = "dogfight",
attack_animals = true,
reach = 2,
damage = 6,
hp_min = 5,
hp_max = 40,
armor = 200,
collisionbox = {-0.6, -0.01, -0.6, 0.6, 0.95, 0.6},
visual = "mesh",
mesh = "Crocodile.b3d",
visual_size = {x = 1.0, y = 1.0},
textures = {
{"texturecrocodile.png"},
},
sounds = {
random = "wildlife_crocodile",
attack = "wildlife_crocodile",
},
makes_footstep_sound = true,
walk_velocity = 1,
run_velocity = 2,
runaway = false,
jump = true,
jump_height = 0.5,
stepheight = 1,
drops = {
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
},
water_damage = 0,
lava_damage = 4,
light_damage = 0,
fear_height = 2,
animation = {
speed_normal = 75,
stand_start = 0,
stand_end = 100,
walk_start = 250,
walk_end = 350,
fly_start = 400, -- swim animation
fly_end = 500,
punch_start = 100,
punch_end = 200,
-- 50-70 is slide/water idle
},
fly_in = {"default:water_source", "default:river_water_source", "default:water_flowing"},
floats = 0,
follow = {
"ethereal:fish_raw", "wildlife:rawfish", "mobs_fish:tropical",
"mobs:meat_raw", "wildlife:rabbit_raw", "xocean:fish_edible"
},
view_range = 12,
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, 5, 50, 80, false, nil) then return end
end,
})
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "wildlife:crocodile",
nodes = {"default:dry_dirt_with_dry_grass"}, {"default:dirt_with_rainforest_litter"},
min_light = 14,
interval = 60,
chance = 8000, -- 15000
min_height = 0,
max_height = 3,
day_toggle = true,
})
end
mobs:register_egg("wildlife:crocodile", ("Crocodile"), "acrocodile.png")

6
depends.txt Normal file
View File

@ -0,0 +1,6 @@
mobs
default
ethereal?
xocean?
farming?
fishing?

1
description.txt Normal file
View File

@ -0,0 +1 @@
Adds various wild animals to your Minetest Game world.

76
elephant.lua Normal file
View File

@ -0,0 +1,76 @@
mobs:register_mob("wildlife:elephant", {
stepheight = 2,
type = "monster",
passive = false,
attack_type = "dogfight",
attack_animals = true,
reach = 3,
damage = 8,
hp_min = 5,
hp_max = 45,
armor = 200,
collisionbox = {-2, -0.01, -2, 2, 2, 2},
visual = "mesh",
mesh = "Elephant.b3d",
visual_size = {x = 1.0, y = 1.0},
textures = {
{"textureelephant.png"},
},
sounds = {
random = "wildlife_elephant",
attack = "wildlife_elephant",
},
makes_footstep_sound = true,
walk_velocity = 2,
run_velocity = 4,
runaway = false,
jump = false,
jump_height = 6,
stepheight = 2,
drops = {
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
},
water_damage = 0,
lava_damage = 4,
light_damage = 0,
fear_height = 4,
animation = {
speed_normal = 80,
stand_start = 0,
stand_end = 100,
walk_start = 300,
walk_end = 450,
punch_start = 100,
punch_end = 300,
-- 50-70 is slide/water idle
},
follow = {
"ethereal:banana_single", "farming:corn_cob", "farming:cabbage",
"default:apple"
},
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, 5, 50, 80, false, nil) then return end
end,
})
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "wildlife:elephant",
nodes = {"default:dry_dirt_with_dry_grass"}, {"default:dirt_with_rainforest_litter"},
min_light = 0,
interval = 60,
chance = 8000, -- 15000
min_height = 0,
max_height = 65,
day_toggle = true,
})
end
mobs:register_egg("wildlife:elephant", ("Elephant"), "aelephant.png")

173
hare.lua Normal file
View File

@ -0,0 +1,173 @@
mobs:register_mob("wildlife:hare", {
stepheight = 1,
type = "animal",
passive = true,
reach = 1,
hp_min = 1,
hp_max = 5,
armor = 200,
collisionbox = {-0.268, -0.01, -0.268, 0.268, 0.167, 0.268},
visual = "mesh",
mesh = "Hare.b3d",
drawtype = "front",
textures = {
{"texturehare.png"},
{"texturehare.png"},
{"texturehare.png"},
},
sounds = {},
makes_footstep_sound = false,
walk_velocity = 3,
run_velocity = 6,
runaway = true,
runaway_from = {"wildlife:bear", "wildlife:crocodile", "wildlife:tiger", "player"},
jump = true,
jump_height = 6,
drops = {
{name = "wildlife:rabbit_raw", chance = 1, min = 1, max = 1},
{name = "wildlife:rabbit_hide", chance = 1, min = 0, max = 1},
},
water_damage = 0,
lava_damage = 4,
light_damage = 0,
fear_height = 2,
animation = {
speed_normal = 100,
stand_start = 1,
stand_end = 100,
walk_start = 100,
walk_end = 200,
punch_start = 100,
punch_end = 200,
},
follow = {"farming:carrot", "farming_plus:carrot_item", "default:grass_1"},
view_range = 8,
replace_rate = 10,
replace_what = {"farming:carrot_7", "farming:carrot_8", "farming_plus:carrot"},
replace_with = "air",
on_rightclick = function(self, clicker)
-- feed or tame
if mobs:feed_tame(self, clicker, 4, true, true) then return end
if mobs:protect(self, clicker) then return end
if mobs:capture_mob(self, clicker, 30, 50, 80, false, nil) then return end
-- Monty Python tribute
local item = clicker:get_wielded_item()
if item:get_name() == "mobs:lava_orb" then
if not mobs.is_creative(clicker:get_player_name()) then
item:take_item()
clicker:set_wielded_item(item)
end
self.object:set_properties({
textures = {"texturehare.png"},
})
self.type = "monster"
self.health = 20
self.passive = false
return
end
end,
on_spawn = function(self)
local pos = self.object:get_pos() ; pos.y = pos.y - 1
-- white snowy bunny
if minetest.find_node_near(pos, 1,
{"default:snow", "default:snowblock", "default:dirt_with_snow"}) then
self.base_texture = {"texturehare.png"}
self.object:set_properties({textures = self.base_texture})
-- brown desert bunny
elseif minetest.find_node_near(pos, 1,
{"default:desert_sand", "default:desert_stone"}) then
self.base_texture = {"texturehare.png"}
self.object:set_properties({textures = self.base_texture})
-- grey stone bunny
elseif minetest.find_node_near(pos, 1,
{"default:stone", "default:gravel"}) then
self.base_texture = {"texturehare.png"}
self.object:set_properties({textures = self.base_texture})
end
return true -- run only once, false/nil runs every activation
end,
attack_type = "dogfight",
damage = 5,
})
local spawn_on = "default:dirt_with_grass"
if minetest.get_modpath("ethereal") then
spawn_on = "ethereal:prairie_dirt"
end
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "wildlife:hare",
nodes = {"default:dirt_with_grass"},
min_light = 0,
interval = 10,
chance = 15000, -- 15000
min_height = 5,
max_height = 500,
day_toggle = true,
})
end
mobs:register_egg("wildlife:hare", ("Hare"), "ahare.png", 0)
mobs:alias_mob("wildlife:hare", "wildlife:hare") -- compatibility
-- raw rabbit
minetest.register_craftitem(":wildlife:rabbit_raw", {
description = ("Raw Hare"),
inventory_image = "wildlife_rabbit_raw.png",
on_use = minetest.item_eat(3),
groups = {food_meat_raw = 1, food_rabbit_raw = 1, flammable = 2},
})
-- cooked rabbit
minetest.register_craftitem(":wildlife:rabbit_cooked", {
description = ("Cooked Hare"),
inventory_image = "wildlife_rabbit_cooked.png",
on_use = minetest.item_eat(5),
groups = {food_meat = 1, food_rabbit = 1, flammable = 2},
})
minetest.register_craft({
type = "cooking",
output = "wildlife:rabbit_cooked",
recipe = "wildlife:rabbit_raw",
cooktime = 5,
})
-- rabbit hide
minetest.register_craftitem(":wildlife:rabbit_hide", {
description = ("Hare Hide"),
inventory_image = "wildlife_rabbit_hide.png",
groups = {flammable = 2},
})
minetest.register_craft({
type = "fuel",
recipe = "wildlife:rabbit_hide",
burntime = 2,
})
minetest.register_craft({
output = "mobs:leather",
type = "shapeless",
recipe = {
"wildlife:rabbit_hide", "wildlife:rabbit_hide",
"wildlife:rabbit_hide", "wildlife:rabbit_hide"
}
})

81
hippo.lua Normal file
View File

@ -0,0 +1,81 @@
mobs:register_mob("wildlife:hippo", {
stepheight = 1,
type = "monster",
passive = false,
attack_type = "dogfight",
attack_animals = true,
reach = 3,
damage = 6,
hp_min = 5,
hp_max = 35,
armor = 200,
collisionbox = {-1.4, -0.01, -1.4, 1.4, 1.4, 1.4},
visual = "mesh",
mesh = "Hippo2.b3d",
visual_size = {x = 1.0, y = 1.0},
textures = {
{"texturehippo.png"},
},
sounds = {
random = "wildlife_hippo",
attack = "wildlife_hippo",
},
makes_footstep_sound = true,
walk_velocity = 1,
run_velocity = 2,
runaway = false,
jump = true,
jump_height = 0.5,
stepheight = 1,
drops = {
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
},
water_damage = 0,
lava_damage = 4,
light_damage = 0,
fear_height = 4,
animation = {
speed_normal = 50,
stand_start = 0,
stand_end = 100,
walk_start = 250,
walk_end = 350,
fly_start = 250, -- swim animation
fly_end = 350,
punch_start = 100,
punch_end = 200,
-- 50-70 is slide/water idle
},
fly_in = {"default:water_source", "default:river_water_source", "default:water_flowing"},
floats = 0,
follow = {
"ethereal:banana_single", "farming:corn_cob", "farming:cabbage",
"default:apple"
},
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, 5, 50, 80, false, nil) then return end
end,
})
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "wildlife:hippo",
nodes = {"default:dry_dirt_with_dry_grass"}, {"default:dirt_with_rainforest_litter"},
min_light = 0,
interval = 40,
chance = 8000, -- 15000
min_height = 0,
max_height = 5,
day_toggle = true,
})
end
mobs:register_egg("wildlife:hippo", ("Hippo"), "ahippo.png")

47
init.lua Normal file
View File

@ -0,0 +1,47 @@
-- Load support for intllib.
local path = minetest.get_modpath(minetest.get_current_modname()) .. "/"
local S = minetest.get_translator and minetest.get_translator("wildlife") or
dofile(path .. "intllib.lua")
mobs.intllib = S
-- Check for custom mob spawn file
local input = io.open(path .. "spawn.lua", "r")
if input then
mobs.custom_spawn_animal = true
input:close()
input = nil
end
-- Animals
dofile(path .. "seal.lua") --
dofile(path .. "hare.lua") --
dofile(path .. "moose.lua") --
dofile(path .. "crocodile.lua") --
dofile(path .. "manatee.lua") --
dofile(path .. "tiger.lua") --
dofile(path .. "camel.lua") --
dofile(path .. "elephant.lua") --
dofile(path .. "carp.lua") --
dofile(path .. "trout.lua") --
dofile(path .. "blackbird.lua") --
dofile(path .. "bear.lua") --
dofile(path .. "boar.lua") --
dofile(path .. "kangaroo.lua") --
dofile(path .. "tortoise.lua") --
dofile(path .. "hippo.lua") --
-- Load custom spawning
if mobs.custom_spawn_animal then
dofile(path .. "spawn.lua")
end
print (S("[MOD] Mobs Redo Animals loaded"))

3
intllib.lua Normal file
View File

@ -0,0 +1,3 @@
-- Support for the old multi-load method
dofile(minetest.get_modpath("intllib").."/init.lua")

89
kangaroo.lua Normal file
View File

@ -0,0 +1,89 @@
mobs:register_mob("wildlife:kangaroo", {
stepheight = 2,
type = "animal",
passive = false,
attack_type = "dogfight",
group_attack = true,
owner_loyal = true,
attack_npcs = false,
reach = 2,
damage = 2,
hp_min = 5,
hp_max = 15,
armor = 200,
collisionbox = {-0.5, -0.01, -0.5, 0.5, 0.95, 0.5},
visual = "mesh",
mesh = "Kangaroo.b3d",
textures = {
{"texturekangaroo.png"},
},
makes_footstep_sound = true,
sounds = {},
walk_velocity = 5,
run_velocity = 5,
runaway = true,
runaway_from = {"wildlife:bear", "wildlife:crocodile", "wildlife:tiger", "player"},
jump = true,
jump_height = 8,
pushable = true,
follow = {"default:grass_3", "default:dry_grass_3"},
view_range = 10,
drops = {
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
},
water_damage = 0,
lava_damage = 5,
light_damage = 0,
fear_height = 4,
animation = {
speed_normal = 100,
stand_start = 0,
stand_end = 100,
walk_start = 100,
walk_end = 200,
punch_start = 200,
punch_end = 300,
die_start = 1, -- we dont have a specific death animation so we will
die_end = 2, -- re-use 2 standing frames at a speed of 1 fps and
die_speed = 1, -- have mob rotate when dying.
die_loop = false,
die_rotate = true,
},
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, 5, 50, false, nil) then return end
end,
})
local spawn_on = {"default:desert_sand", "default:dry_dirt_with_dry_grass"}
if minetest.get_mapgen_setting("mg_name") ~= "v6" then
spawn_on = {"default:desert_sand", "default:dry_dirt_with_dry_grass"}
end
if minetest.get_modpath("ethereal") then
spawn_on = {"ethereal:grass_grove"}
end
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "wildlife:kangaroo",
nodes = {"default:desert_sand", "default:dry_dirt_with_dry_grass"},
neighbors = spawn_by,
min_light = 0,
interval = 30,
chance = 8000, -- 15000
min_height = 5,
max_height = 100,
day_toggle = true,
})
end
mobs:register_egg("wildlife:kangaroo", ("Kangaroo"), "akangaroo.png")
mobs:alias_mob("wildlife:kangaroo", "wildlife:kangaroo") -- compatibility

BIN
models/Bear.b3d Normal file

Binary file not shown.

BIN
models/Blackbird.b3d Normal file

Binary file not shown.

BIN
models/Boar.b3d Normal file

Binary file not shown.

BIN
models/Camel.b3d Normal file

Binary file not shown.

BIN
models/Carp.b3d Normal file

Binary file not shown.

BIN
models/Crocodile.b3d Normal file

Binary file not shown.

BIN
models/Elephant.b3d Normal file

Binary file not shown.

BIN
models/Hare.b3d Normal file

Binary file not shown.

BIN
models/Hippo2.b3d Normal file

Binary file not shown.

BIN
models/Kangaroo.b3d Normal file

Binary file not shown.

BIN
models/Manatee.b3d Normal file

Binary file not shown.

BIN
models/Moose.b3d Normal file

Binary file not shown.

BIN
models/Seal.b3d Normal file

Binary file not shown.

BIN
models/Tiger.b3d Normal file

Binary file not shown.

BIN
models/Tortoise.b3d Normal file

Binary file not shown.

BIN
models/Trout.b3d Normal file

Binary file not shown.

BIN
sounds/wildlife_bear.ogg Normal file

Binary file not shown.

Binary file not shown.

BIN
sounds/wildlife_boar.ogg Normal file

Binary file not shown.

BIN
sounds/wildlife_camel.ogg Normal file

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
sounds/wildlife_hippo.ogg Normal file

Binary file not shown.

BIN
sounds/wildlife_moose.ogg Normal file

Binary file not shown.

BIN
sounds/wildlife_seal.ogg Normal file

Binary file not shown.

BIN
sounds/wildlife_tiger.ogg Normal file

Binary file not shown.

BIN
textures/abear.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
textures/ablackbird.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
textures/aboar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

BIN
textures/acamel.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 KiB

BIN
textures/acarp.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

BIN
textures/acrocodile.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

BIN
textures/aelephant.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
textures/ahare.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
textures/ahippo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

BIN
textures/akangaroo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
textures/amanatee.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
textures/amoose.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

BIN
textures/aseal.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
textures/atiger.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

BIN
textures/atortoise.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

BIN
textures/atrout.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

BIN
textures/texturebear.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

BIN
textures/textureboar.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
textures/texturecamel.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
textures/texturecarp.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

BIN
textures/texturehare.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

BIN
textures/texturehippo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

BIN
textures/texturemanatee.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
textures/texturemoose.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

BIN
textures/textureseal.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

BIN
textures/texturetiger.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

BIN
textures/texturetrout.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB