Mehr Mods hinzugefügt
This commit is contained in:
parent
92a55732cf
commit
9e345a25fb
2805 changed files with 2096013 additions and 0 deletions
41
mods/animalworld/LICENSE
Normal file
41
mods/animalworld/LICENSE
Normal file
|
@ -0,0 +1,41 @@
|
|||
MIT License
|
||||
|
||||
Copyright (c) 2021 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.
|
||||
|
||||
|
||||
Lincense for original Code (mobs redo + mobs_animal): (MIT) Copyright (c) 2014 Krupnov Pavel and 2016 TenPlus1
|
||||
|
||||
Modified Code by Liil/Wilhelmine/Liil (c) 2022
|
||||
Textures, Models and Animation by Liil/Wilhelmine/Liil under (MIT) License (c) 2022
|
||||
|
||||
Thanks to davidflavigne from Github for French Translation!
|
||||
Thanks to nonfreegithub from Github for Mineclone + Mineclonia support!
|
||||
Thanks to Cpyte-Engine-Developer from Guthub for Russian Translation!
|
||||
|
||||
Beluga and Leopard Seal sound by Liil/Wilhelmine/Liil.
|
||||
Other sounds are from freesound.org under Creative Commons License. Thanks to Lauramel, Gleith, Theveomammoth11, Vataa, D-Jones, Pol, Robinhood76,
|
||||
sesmo42, Missburusdeer2011, Hazure, Inspectorj, Benboncan, Spookymodem, Drobiumdesign, J-zazvurek, Benboncan, Felix-blume, Sihil, Kabit, Roubignolle,
|
||||
Egomassive, Florianreichelt, Fxasc, Extrafon, Cognito-perceptu, Jjbubo, Blessedcup, Jaegrover, Yks, Pillonoise, Traade, Tilano408, j0ck0, Mings, Befig,
|
||||
Stackpool, vilatzara, viorelvio, newagesoup, slunali, fr0608bg, reinsamba, kangaroovindaloo, breviceps, guyburns, tyler7687, navadaux, fairhavencollection, acclivity and sarena6487528 for the sounds!
|
||||
Thanks to Nagaty Studio for the Hyena Sounds! Source: https://www.youtube.com/c/NagatyStudio/about
|
||||
Also thanks to Ian Fairley (https://www.youtube.com/channel/UChVk1Pvn-JMWkepnQLK-gCg) for the Zebra sounds.
|
||||
Thanks to Lars Edenius for the Black Grouse sounds.
|
||||
Thanks to SOS Orangutans for the Orang Utan sounds! https://www.youtube.com/@SOSorangutans (The Sumatran Orangutan Society. Visit www.orangutans-sos.org)
|
150
mods/animalworld/ant.lua
Normal file
150
mods/animalworld/ant.lua
Normal file
|
@ -0,0 +1,150 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:ant", {
|
||||
type = "monster",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
reach = 1,
|
||||
damage = 1,
|
||||
hp_min = 1,
|
||||
hp_max = 10,
|
||||
armor = 100,
|
||||
collisionbox = {-0.1, -0.01, -0.1, 0.1, 0.1, 0.1},
|
||||
visual = "mesh",
|
||||
mesh = "Ant.b3d",
|
||||
visual_size = {x = 1, y = 1},
|
||||
textures = {
|
||||
{"textureant.png"},
|
||||
},
|
||||
sounds = {
|
||||
random = "animalworld_ant",
|
||||
attack = "animalworld_ant",
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
stay_near = {"animalworld:anthill", 3},
|
||||
view_range = 3,
|
||||
walk_velocity = 0.5,
|
||||
walk_chance = 70,
|
||||
run_velocity = 0.7,
|
||||
runaway = false,
|
||||
jump = false,
|
||||
jump_height = 0,
|
||||
stepheight = 3,
|
||||
stay_near = {{"animalworld:anthill"}, 4},
|
||||
drops = {
|
||||
{name = "animalworld:ant", chance = 1, min = 1, max = 1},
|
||||
},
|
||||
water_damage = 1,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
fear_height = 3,
|
||||
animation = {
|
||||
speed_normal = 200,
|
||||
stand_start = 0,
|
||||
stand_end = 0,
|
||||
walk_start = 0,
|
||||
walk_end = 100,
|
||||
punch_start = 100,
|
||||
punch_end = 200,
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
})
|
||||
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:ant",
|
||||
nodes = {"mcl_core:podzol", "mcl_core:dirt_with_grass", "default:dirt_with_conifrous_litter"},
|
||||
neighbors = {"animalworld:anthill"},
|
||||
min_light = 0,
|
||||
interval = 30,
|
||||
chance = 1, -- 15000
|
||||
active_object_count = 7,
|
||||
min_height = 0,
|
||||
max_height = 50,
|
||||
day_toggle = true
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:ant", S("Ant"), "aant.png")
|
||||
|
||||
mobs:alias_mob("animalworld:ant", "animalworld:ant")
|
||||
|
||||
|
||||
minetest.register_craftitem(":animalworld:anteggs_raw", {
|
||||
description = S("Raw Ant Eggs"),
|
||||
inventory_image = "animalworld_anteggs_raw.png",
|
||||
on_use = minetest.item_eat(2),
|
||||
groups = {food_meat_raw = 1, flammable = 2},
|
||||
})
|
||||
|
||||
|
||||
minetest.register_craftitem(":animalworld:anteggs_cooked", {
|
||||
description = S("Cooked Ant Eggs"),
|
||||
inventory_image = "animalworld_anteggs_cooked.png",
|
||||
on_use = minetest.item_eat(6),
|
||||
groups = {food_meat = 1, flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "animalworld:anteggs_cooked",
|
||||
recipe = "animalworld:anteggs_raw",
|
||||
cooktime = 5,
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
deco_type = "simple",
|
||||
place_on = {"default:dirt_with_coniferous_litter", "mcl_core:podzol"},
|
||||
sidelen = 16,
|
||||
noise_params = {
|
||||
offset = 0.0012,
|
||||
scale = 0.0007,
|
||||
spread = {x = 250, y = 250, z = 250},
|
||||
seed = 2,
|
||||
octaves = 3,
|
||||
persist = 0.66
|
||||
},
|
||||
y_max = 50,
|
||||
y_min = 0,
|
||||
decoration = "animalworld:anthill"
|
||||
})
|
||||
|
||||
minetest.register_node("animalworld:anthill", {
|
||||
description = S"Anthill",
|
||||
visual_scale = 0.5,
|
||||
mesh = "Anthil.b3d",
|
||||
tiles = {"textureanthil.png"},
|
||||
inventory_image = "aanthil.png",
|
||||
paramtype = "light",
|
||||
paramtype2 = "facedir",
|
||||
walkable = false,
|
||||
groups = {crumbly = 3, shovely = 1, handy = 1, sand = 2},
|
||||
drawtype = "mesh",
|
||||
collision_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.1, 0.5},
|
||||
--[[{-0.5, -0.5, -0.5, 0.5, 0.1, 0.5},
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.1, 0.5}]]
|
||||
}
|
||||
},
|
||||
selection_box = {
|
||||
type = "fixed",
|
||||
fixed = {
|
||||
{-0.5, -0.5, -0.5, 0.5, 0.1, 0.5}
|
||||
}
|
||||
},
|
||||
drop = "animalworld:anteggs_raw",
|
||||
sounds = animalworld.sounds.node_sound_dirt_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "animalworld:anthill",
|
||||
burntime = 1,
|
||||
})
|
97
mods/animalworld/anteater.lua
Normal file
97
mods/animalworld/anteater.lua
Normal file
|
@ -0,0 +1,97 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:anteater", {
|
||||
stepheight = 1,
|
||||
type = "animal",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
group_attack = true,
|
||||
owner_loyal = true,
|
||||
attack_npcs = false,
|
||||
reach = 2,
|
||||
damage = 10,
|
||||
hp_min = 25,
|
||||
hp_max = 65,
|
||||
armor = 100,
|
||||
collisionbox = {-0.5, -0.01, -0.5, 0.5, 0.95, 0.5},
|
||||
visual = "mesh",
|
||||
mesh = "Anteater.b3d",
|
||||
textures = {
|
||||
{"textureanteater.png"},
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
sounds = {
|
||||
|
||||
},
|
||||
walk_velocity = 0.7,
|
||||
run_velocity = 2,
|
||||
runaway = false,
|
||||
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:scorpion", "animalworld:polarbear", "animalworld:leopardseal", "animalworld:stellerseagle", "animalworld:wolf", "animalworld:panda", "animalworld:stingray", "marinaramobs:jellyfish", "marinaramobs:octopus", "livingcavesmobs:biter", "livingcavesmobs:flesheatingbacteria"},
|
||||
jump = false,
|
||||
jump_height = 3,
|
||||
pushable = true,
|
||||
follow = {"fishing:bait:worm", "bees:frame_full", "ethereal:worm", "animalworld:ant", "animalworld:termitequeen", "animalworld:termite", "animalworld:anteggs_raw"},
|
||||
view_range = 10,
|
||||
stay_near = {{"default:jungletree", "default:junglegrass", "livingjungle::grass2", "livingjungle::grass1", "livingjungle:alocasia", "livingjungle:flamingoflower"}, 6},
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "mobs:leather", chance = 1, min = 0, max = 2},
|
||||
{name = "animalworld:anteatercorpse", chance = 7, min = 1, max = 1},
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 5,
|
||||
light_damage = 0,
|
||||
fear_height = 2,
|
||||
animation = {
|
||||
speed_normal = 75,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
walk_start = 100,
|
||||
walk_end = 200,
|
||||
punch_start = 250,
|
||||
punch_end = 350,
|
||||
|
||||
die_start = 250,
|
||||
die_end = 350,
|
||||
die_speed = 50,
|
||||
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, 25, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
local spawn_on = {"mcl_core:podzol", "default:dirt_withforest_litter"}
|
||||
|
||||
if minetest.get_mapgen_setting("mg_name") ~= "v6" then
|
||||
spawn_on = {"mcl_core:podzol", "default:dirt_withforest_litter", "default:dry_dirt_with_dry_grass"}
|
||||
end
|
||||
|
||||
if minetest.get_modpath("ethereal") then
|
||||
spawn_on = {"ethereal:grass_grove", "ethereal:green_dirt", "default:dirt_with_rainforest_litter", "livingjungle:jungleground", "livingjungle:leafyjungleground"}
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:anteater",
|
||||
nodes = {"mcl_core:podzol", "default:dirt_with_rainforest_litter", "mcl_core:dirt_with_gras"},
|
||||
neighbors = {"default:jungletree", "mcl_core:jungletree"},
|
||||
min_light = 0,
|
||||
interval = 1,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 2,
|
||||
min_height = 1,
|
||||
max_height = 50,
|
||||
day_toggle = true,
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:anteater", S("Anteater"), "aanteater.png")
|
||||
|
||||
|
||||
mobs:alias_mob("animalworld:manteater", "animalworld:anteater") -- compatibility
|
||||
|
90
mods/animalworld/bat.lua
Normal file
90
mods/animalworld/bat.lua
Normal file
|
@ -0,0 +1,90 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:bat", {
|
||||
stepheight = 3,
|
||||
type = "animal",
|
||||
passive = true,
|
||||
attack_type = "dogfight",
|
||||
attack_animals = false,
|
||||
reach = 2,
|
||||
damage = 2,
|
||||
hp_min = 5,
|
||||
hp_max = 35,
|
||||
armor = 100,
|
||||
collisionbox = {-0.2, -0.01, -0.2, 0.2, 0.5, 0.2},
|
||||
visual = "mesh",
|
||||
mesh = "Bat.b3d",
|
||||
visual_size = {x = 1.0, y = 1.0},
|
||||
textures = {
|
||||
{"texturebat.png"},
|
||||
},
|
||||
sounds = {
|
||||
random = "animalworld_bat",
|
||||
},
|
||||
makes_footstep_sound = false,
|
||||
walk_velocity = 5,
|
||||
run_velocity = 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:scorpion", "animalworld:polarbear", "animalworld:leopardseal", "animalworld:stellerseagle", "player", "animalworld:wolf", "animalworld:panda", "animalworld:stingray", "marinaramobs:jellyfish", "marinaramobs:octopus", "livingcavesmobs:biter", "livingcavesmobs:flesheatingbacteria"},
|
||||
fall_speed = 0,
|
||||
jump = true,
|
||||
jump_height = 6,
|
||||
fly = true,
|
||||
stepheight = 3,
|
||||
drops = {
|
||||
{name = "mobs:leather", chance = 1, min = 0, max = 2},
|
||||
|
||||
},
|
||||
water_damage = 1,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
fear_height = 0,
|
||||
animation = {
|
||||
speed_normal = 130,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
fly_start = 150, -- swim animation
|
||||
fly_end = 250,
|
||||
die_start = 0,
|
||||
die_end = 100,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
|
||||
fly_in = {"air"},
|
||||
floats = 0,
|
||||
follow = {
|
||||
"animalworld:rawfish", "mcl_fishing:pufferfish_raw", "ethereal:worm", "ethereal:fish_raw", "fishing:fish_raw", "xocean:fish_edible", "livingdesert:date_palm_fruits", "livingdesert:figcactus_fruit"
|
||||
},
|
||||
|
||||
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, 0, 25, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
if minetest.get_modpath("ethereal") then
|
||||
spawn_on = {"mcl_core:dirt_with_grass", "default:dirt_with_grass", "default:dry_dirt_with_dry_grass", "default:dirt_with_rainforest_litter", "default:dirt_with_coniferous_litter", "ethereal:gray_dirt", "ethereal:mushroom_dirt", "ethereal:grove_dirt"}
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:bat",
|
||||
nodes = {"mcl_core:dirt_with_grass", "default:dirt_with_grass", "default:dry_dirt_with_dry_grass", "default:dirt_with_rainforest_litter", "default:dirt_with_coniferous_litter", "naturalbiomes:mediterran_litter", "livingjungle:jungleground", "livingjungle:leafyjungleground", "naturalbiomes:bushland_bushlandlitter"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 8000, -- 15000
|
||||
active_object_count = 5,
|
||||
min_height = -100,
|
||||
max_height = 50,
|
||||
day_toggle = false,
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:bat", S("Bat"), "abat.png")
|
87
mods/animalworld/bear.lua
Normal file
87
mods/animalworld/bear.lua
Normal file
|
@ -0,0 +1,87 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:bear", {
|
||||
stepheight = 1,
|
||||
type = "monster",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
attack_animals = true,
|
||||
reach = 2,
|
||||
damage = 8,
|
||||
hp_min = 15,
|
||||
hp_max = 60,
|
||||
armor = 100,
|
||||
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 = "animalworld_bear",
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
walk_velocity = 1,
|
||||
run_velocity = 3,
|
||||
runaway = false,
|
||||
jump = false,
|
||||
jump_height = 6,
|
||||
stay_near = {{"people:feeder", "default:fern_1", "default:fern_2", "marinara:reed_bundle", "naturalbiomes:reed_bundle", "farming:straw"}, 6},
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "animalworld:bearcorpse", chance = 7, 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,
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
|
||||
follow = {
|
||||
"ethereal:fish_raw", "animalworld:whalemeat_raw", "animalworld:rawfish", "mobs_fish:tropical",
|
||||
"mobs:meat_raw", "animalworld:rabbit_raw", "xocean:fish_edible", "farming:melon_slice", "farming:melon_slice", "water_life:meat_raw", "water_life:meat_raw", "fishing:fish_raw", "mcl_mobitems:chicken", "mcl_fishing:pufferfish_raw", "mcl_mobitems:rotten_flesh", "mcl_mobitems:mutton", "mcl_mobitems:beef", "mcl_mobitems:porkchop", "mcl_mobitems:rabbit", "animalworld:chicken_raw"
|
||||
},
|
||||
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, 0, 0, 25, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
if minetest.get_modpath("ethereal") then
|
||||
spawn_on = {"mcl_core:dirt_with_grass", "default:dirt_with_coniferous_litter", "default:permafrost_with_moss", "ethereal:bamboo_dirt", "ethereal:gray_dirt"}
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:bear",
|
||||
nodes = {"mcl_core:podzol", "mcl_core:dirt_with_grass", "default:dirt_with_conifrous_litter"}, {"default:permafrost_with_moss"}, {"livingdesert:coldsteppe_ground3"},
|
||||
neighbors = {"livingdesert:pine_leaves", "livingdesert:pine_leaves2", "livingdesert:pine_leaves3", "animalworld:animalworld_tundrashrub1", "animalworld:animalworld_tundrashrub2", "animalworld:animalworld_tundrashrub3", "animalworld:animalworld_tundrashrub4", "default:fern_1", "default:fern_2", "mcl_core:sprucetree", "mcl_trees:tree_spruce", "mcl_trees:leaves_spruce"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 1000, -- 15000
|
||||
min_height = -15,
|
||||
max_height = 120,
|
||||
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:bear", S("Bear"), "abear.png")
|
122
mods/animalworld/beaver.lua
Normal file
122
mods/animalworld/beaver.lua
Normal file
|
@ -0,0 +1,122 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:beaver", {
|
||||
stepheight = 1,
|
||||
type = "monster",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
attack_animals = false,
|
||||
attack_npcs = false,
|
||||
reach = 2,
|
||||
damage = 6,
|
||||
hp_min = 35,
|
||||
hp_max = 65,
|
||||
armor = 100,
|
||||
collisionbox = {-0.6, -0.01, -0.6, 0.6, 0.95, 0.6},
|
||||
visual = "mesh",
|
||||
mesh = "Beaver.b3d",
|
||||
visual_size = {x = 1.0, y = 1.0},
|
||||
textures = {
|
||||
{"texturebeaver.png"},
|
||||
},
|
||||
sounds = {
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
walk_velocity = 1,
|
||||
run_velocity = 2,
|
||||
runaway = false,
|
||||
jump = true,
|
||||
jump_height = 6,
|
||||
stepheight = 2,
|
||||
stay_near = {{"animalworld:beaver_nest"}, 4},
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
fear_height = 3,
|
||||
animation = {
|
||||
speed_normal = 75,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
stand1_start = 100,
|
||||
stand1_end = 200,
|
||||
walk_start = 200,
|
||||
walk_end = 300,
|
||||
fly_start = 450, -- swim animation
|
||||
fly_end = 550,
|
||||
punch_start = 300,
|
||||
punch_end = 400,
|
||||
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", "mcl_core:water_source", "mcl_core:water_flowing"},
|
||||
floats = 1,
|
||||
follow = {
|
||||
"naturalbiomes:alder_sapling", "naturalbiomes:alppine1_sapling", "naturalbiomes:alppine2_sapling",
|
||||
"naturalbiomes:alpine_bush_sapling", "default:sapling", "default:junglesapling", "default:pine_sapling", "default:acacia_sapling", "default:aspen_sapling", "naturalbiomes:olive_sapling", "naturalbiomes:pine_sapling", "naturalbiomes:acacia_sapling", "naturalbiomes:bamboo_sapling", "ethereal:bamboo_sprout", "ethereal:yellow_tree_sapling", "ethereal:willow_sapling", "ethereal:birch_sapling", "ethereal:olive_tree_sapling"
|
||||
},
|
||||
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 minetest.get_modpath("ethereal") then
|
||||
spawn_on = {"ethereal:grove_dirt", "default:dry_dirt_with_dry_grass", "default:dirt_with_rainforest_litter"}
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:beaver",
|
||||
nodes = {"mcl_core:water_source", "default:water_source", "default:river_water_source", "mcl_core:water_source", "mcl_core:water_flowing"},
|
||||
neighbors = {"animalworld:beaver_nest"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 1, -- 15000
|
||||
active_object_count = 2,
|
||||
min_height = 0,
|
||||
max_height = 6,
|
||||
day_toggle = true,
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:beaver", S("Beaver"), "abeaver.png")
|
||||
|
||||
-- beaver nest
|
||||
minetest.register_node("animalworld:beaver_nest", {
|
||||
description = S("Beaver Nest"),
|
||||
tiles = {"animalworld_beaver_nest.png"},
|
||||
is_ground_content = false,
|
||||
groups = {wood = 1, choppy = 2, axey = 2, handy = 1, oddly_breakable_by_hand = 1, flammable = 3},
|
||||
_mcl_hardness = 1,
|
||||
_mcl_blast_resistance = 1,
|
||||
sounds = animalworld.sounds.node_sound_wood_defaults(),
|
||||
})
|
||||
|
||||
minetest.register_decoration({
|
||||
name = "animalworld:beavernest",
|
||||
deco_type = "schematic",
|
||||
place_on = {"naturalbiomes:alderswamp_litter"},
|
||||
place_offset_y = -2,
|
||||
sidelen = 16,
|
||||
fill_ratio = 0.00018,
|
||||
biomes = {"naturalbiomes:alderswamp"},
|
||||
y_max = 1,
|
||||
y_min = 0,
|
||||
schematic = minetest.get_modpath("animalworld") .. "/schematics/animalworld_beavernest.mts",
|
||||
flags = "place_center_x",
|
||||
flags = "force_placement",
|
||||
rotation = "random",
|
||||
spawn_by = "naturalbiomes:alderswamp_litter",
|
||||
num_spawn_by = 8,
|
||||
})
|
159
mods/animalworld/beluga.lua
Normal file
159
mods/animalworld/beluga.lua
Normal file
|
@ -0,0 +1,159 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
local random = math.random
|
||||
|
||||
mobs:register_mob("animalworld:beluga", {
|
||||
stepheight = 1,
|
||||
type = "animal",
|
||||
passive = true,
|
||||
attack_type = "dogfight",
|
||||
group_attack = true,
|
||||
owner_loyal = true,
|
||||
attack_npcs = false,
|
||||
reach = 2,
|
||||
damage = 1,
|
||||
hp_min = 250,
|
||||
hp_max = 455,
|
||||
armor = 100,
|
||||
collisionbox = {-0.8, -0.01, -0.8, 0.8, 1.2, 0.8},
|
||||
visual = "mesh",
|
||||
mesh = "Beluga.b3d",
|
||||
textures = {
|
||||
{"texturebeluga.png"},
|
||||
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
sounds = {
|
||||
random = "animalworld_beluga",
|
||||
attack = "animalworld_beluga2",
|
||||
damage = "animalworld_beluga3",
|
||||
death = "animalworld_beluga4",
|
||||
},
|
||||
walk_velocity = 2,
|
||||
run_velocity = 5,
|
||||
fly = true,
|
||||
fly_in = "default:water_source", "default:river_water_source", "default:water_flowing", "default:river_water_flowing", "mcl_core:water_source", "mcl_core:water_flowing",
|
||||
fall_speed = 0,
|
||||
jump = true,
|
||||
jump_height = 0,
|
||||
stay_near = {{"default:clay", "marinara:sand_with_seagrass", "marinara:coastrock_with:brownalage", "marinara:sand_with_seagrass2", "mcl_ocean:seagrass:sand", "mcl_ocean:tube_coral", "mcl_ocean:fire_coral", "mcl_ocean:brain_coral", "mcl_ocean:seagrass_gravel"}, 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:scorpion", "animalworld:polarbear", "animalworld:leopardseal", "animalworld:stellerseagle", "animalworld:wolf", "animalworld:panda", "animalworld:stingray", "marinaramobs:jellyfish", "marinaramobs:octopus", "livingcavesmobs:biter", "livingcavesmobs:flesheatingbacteria"},
|
||||
pushable = true,
|
||||
follow = {
|
||||
"animalworld:rawmollusk", "mcl_fishing:pufferfish_raw", "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"
|
||||
},
|
||||
view_range = 20,
|
||||
drops = {
|
||||
{name = "animalworld:whaleblubber", chance = 1, min = 3, max = 10},
|
||||
{name = "animalworld:whalemeat_raw", chance = 1, min = 3, max = 10},
|
||||
},
|
||||
water_damage = 0,
|
||||
air_damage = 1,
|
||||
lava_damage = 5,
|
||||
light_damage = 0,
|
||||
fear_height = 0,
|
||||
animation = {
|
||||
speed_normal = 50,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
fly_start = 150,
|
||||
fly_end = 250,
|
||||
fly2_start = 250,
|
||||
fly2_end = 350,
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
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, 0, 25, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:beluga",
|
||||
nodes = {"mcl_core:water_source", "default:water_source"},
|
||||
neighbors = {"default:ice", "default:snowblock", "mcl_core:ice", "mcl_core:snow"},
|
||||
min_light = 0,
|
||||
interval = 30,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 3,
|
||||
min_height = -20,
|
||||
max_height = 0,
|
||||
|
||||
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("--- beluga 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 = "animalworld:beluga", child = kid})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:beluga", S("Beluga Whale"), "abeluga.png")
|
||||
|
||||
|
||||
mobs:alias_mob("animalworld:beluga", "animalworld:beluga") -- compatibility
|
||||
|
||||
|
||||
-- raw whale
|
||||
minetest.register_craftitem(":animalworld:whalemeat_raw", {
|
||||
description = S("Raw Whale Meat"),
|
||||
inventory_image = "animalworld_whalemeat_raw.png",
|
||||
on_use = minetest.item_eat(4),
|
||||
groups = {food_meat_raw = 1, flammable = 2},
|
||||
})
|
||||
|
||||
-- cooked whale
|
||||
minetest.register_craftitem(":animalworld:whalemeat_cooked", {
|
||||
description = S("Cooked Whale Meat"),
|
||||
inventory_image = "animalworld_whalemeat_cooked.png",
|
||||
on_use = minetest.item_eat(8),
|
||||
groups = {food_meat = 1, flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "animalworld:whalemeat_cooked",
|
||||
recipe = "animalworld:whalemeat_raw",
|
||||
cooktime = 2,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "animalworld:whaleblubber",
|
||||
burntime = 10,
|
||||
})
|
||||
|
||||
minetest.register_craftitem("animalworld:whaleblubber", {
|
||||
description = S("Whale Blubber"),
|
||||
inventory_image = "animalworld_whaleblubber.png",
|
||||
})
|
94
mods/animalworld/blackbird.lua
Normal file
94
mods/animalworld/blackbird.lua
Normal file
|
@ -0,0 +1,94 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:blackbird", {
|
||||
stepheight = 3,
|
||||
type = "animal",
|
||||
passive = true,
|
||||
attack_type = "dogfight",
|
||||
attack_animals = false,
|
||||
reach = 2,
|
||||
damage = 2,
|
||||
hp_min = 5,
|
||||
hp_max = 30,
|
||||
armor = 100,
|
||||
collisionbox = {-0.3, -0.01, -0.3, 0.3, 0.5, 0.3},
|
||||
visual = "mesh",
|
||||
mesh = "Blackbird.b3d",
|
||||
visual_size = {x = 1.0, y = 1.0},
|
||||
textures = {
|
||||
{"textureblackbird.png"},
|
||||
},
|
||||
sounds = {
|
||||
random = "animalworld_blackbird",
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
walk_velocity = 2,
|
||||
run_velocity = 4,
|
||||
runaway = true,
|
||||
fall_speed = -1,
|
||||
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:scorpion", "animalworld:polarbear", "animalworld:leopardseal", "animalworld:stellerseagle", "player", "animalworld:wolf", "animalworld:panda", "animalworld:stingray", "marinaramobs:jellyfish", "marinaramobs:octopus", "livingcavesmobs:biter", "livingcavesmobs:flesheatingbacteria"},
|
||||
jump = true,
|
||||
jump_height = 4,
|
||||
stay_near = {{"default:tree", "default:leaves", "flowers_dandelion_yellow", "default:bush_leaves", "default:grass_1", "naturalbiomes:heath_grass", "naturalbiomes:heath_grass2", "naturalbiomes:heath_grass3", "naturalbiomes:heatherflower", "naturalbiomes:heatherflower2", "naturalbiomes:heatherflower3"}, 6},
|
||||
drops = {
|
||||
{name = "animalworld:chicken_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "animalworld:chicken_feather", chance = 1, min = 1, max = 1},
|
||||
{name = "animalworld:blackbirdcorpse", chance = 7, min = 1, max = 1},
|
||||
|
||||
},
|
||||
water_damage = 1,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
fear_height = 4,
|
||||
animation = {
|
||||
speed_normal = 100,
|
||||
stand_start = 100,
|
||||
stand_end = 200,
|
||||
walk_start = 0,
|
||||
walk_end = 100,
|
||||
fly_start = 250,
|
||||
fly_end = 350,
|
||||
jump_start = 250,
|
||||
jump_end = 350,
|
||||
punch_start = 100,
|
||||
punch_end = 200,
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
|
||||
fly_in = {"air"},
|
||||
floats = 0,
|
||||
follow = {
|
||||
"fishing:bait:worm", "farming:seed_wheat", "farming:seed_rice", "farming:seed_oat", "ethereal:pine_nuts", "ethereal:worm", "naturalbiomes:blackberry", "animalworld:bugice", "animalworld:termitequeen", "animalworld:notoptera", "animalworld:anteggs_raw", "farming:seed_hemp", "farming:seed_barley", "farming:seed_oat", "farming:seed_cotton", "farming:seed_sunflower", "farming:seed_wheat", "farming:seed_rye"
|
||||
},
|
||||
|
||||
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, 15, 25, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:blackbird",
|
||||
nodes = {"mcl_core:dirt_with_grass", "default:dirt_with_grass", "naturalbiomes:heath_litter"},
|
||||
neighbors = {"group:grass", "group:normal_grass", "naturalbiomes:heath_grass", "naturalbiomes:heath_grass2", "naturalbiomes:heath_grass3", "naturalbiomes:heatherflower"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 2,
|
||||
min_height = 0,
|
||||
max_height = 100,
|
||||
day_toggle = true,
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:blackbird", S("Blackbird"), "ablackbird.png")
|
122
mods/animalworld/blackgrouse.lua
Normal file
122
mods/animalworld/blackgrouse.lua
Normal file
|
@ -0,0 +1,122 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:blackgrouse", {
|
||||
stepheight = 2,
|
||||
type = "animal",
|
||||
passive = true,
|
||||
attack_type = "dogfight",
|
||||
group_attack = false,
|
||||
owner_loyal = true,
|
||||
attack_npcs = false,
|
||||
reach = 2,
|
||||
damage = 1,
|
||||
hp_min = 10,
|
||||
hp_max = 25,
|
||||
armor = 100,
|
||||
collisionbox = {-0.4, -0.01, -0.3, 0.4, 0.8, 0.4},
|
||||
visual = "mesh",
|
||||
mesh = "Blackgrouse.b3d",
|
||||
textures = {
|
||||
{"textureblackgrouse.png"},
|
||||
{"textureblackgrouse2.png"},
|
||||
|
||||
},
|
||||
child_texture = {
|
||||
{"textureblackgrousechick.png"},
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
sounds = {
|
||||
random = "animalworld_blackgrouse3",
|
||||
damage = "animalworld_blackgrouse2",
|
||||
death = "animalworld_blackgrouse",
|
||||
},
|
||||
walk_velocity = 1,
|
||||
run_velocity = 3,
|
||||
jumps = true,
|
||||
jump_height = 3,
|
||||
fall_speed = -1,
|
||||
fall_damage = 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:scorpion", "animalworld:wolf", "animalworld:panda", "animalworld:stingray", "marinaramobs:jellyfish", "marinaramobs:octopus", "livingcavesmobs:biter", "livingcavesmobs:flesheatingbacteria"},
|
||||
drops = {
|
||||
{name = "animalworld:chicken_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "animalworld:chicken_feather", chance = 1, min = 1, max = 1},
|
||||
},
|
||||
water_damage = 1,
|
||||
lava_damage = 5,
|
||||
light_damage = 0,
|
||||
fear_height = 3,
|
||||
stay_near = {{"naturalbiomes:heath_grass", "mcl_flowers:double:fern", "mcl_flowers:fern", "mcl_flowers:tallgrass", "mcl_farming:sweet_berry_bush_3", "naturalbiomes:heath_grass2", "naturalbiomes:heath_grass3", "naturalbiomes:heatherflower", "naturalbiomes:heatherflower2", "naturalbiomes:heatherflower3"}, 5},
|
||||
animation = {
|
||||
speed_normal = 75,
|
||||
stand_speed = 40,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
stand1_start = 100,
|
||||
stand1_end = 200,
|
||||
stand2_start = 200,
|
||||
stand2_end = 300,
|
||||
jump_start = 400,
|
||||
jump_end = 500,
|
||||
walk_start = 300,
|
||||
walk_end = 400,
|
||||
die_start = 400,
|
||||
die_end = 500,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
follow = {
|
||||
"naturalbiomes:bamboo_sapling", "mcl_flowers:tallgrass", "mcl_core:deadbush", "mcl_bamboo:bamboo", "livingfloatlands:coldsteppe_pine3_sapling", "livingfloatlands:coldsteppe_pine2_sapling", "livingfloatlands:coldsteppe_pine_sapling", "naturalbiomes:alppine1_sapling", "naturalbiomes:alpine_cowberrybush_sapling", "naturalbiomes:alppine2_sapling", "livingfloatlands:giantforest_paleoredwood_sapling", "naturalbiomes:juniper_sapling", "default:pine_sapling", "livingdesert:pine_sapling3", "livingdesert:pine_sapling2", "livingdesert:pine_sapling"
|
||||
},
|
||||
view_range = 10,
|
||||
|
||||
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,
|
||||
|
||||
do_custom = function(self, dtime)
|
||||
|
||||
self.egg_timer = (self.egg_timer or 0) + dtime
|
||||
if self.egg_timer < 10 then
|
||||
return
|
||||
end
|
||||
self.egg_timer = 0
|
||||
|
||||
if self.child
|
||||
or math.random(1, 100) > 1 then
|
||||
return
|
||||
end
|
||||
|
||||
local pos = self.object:get_pos()
|
||||
|
||||
minetest.add_item(pos, "mobs:egg")
|
||||
|
||||
minetest.sound_play("default_place_node_hard", {
|
||||
pos = pos,
|
||||
gain = 1.0,
|
||||
max_hear_distance = 5,
|
||||
})
|
||||
end,
|
||||
})
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:blackgrouse",
|
||||
nodes = {"naturalbiomes:heath_litter", "mcl_core:dirt_with_grass", "mcl_core:podzol"},
|
||||
neighbors = {"mcl_flowers:double:fern", "mcl_flowers:fern", "naturalbiomes:heath_grass", "naturalbiomes:heath_grass2", "naturalbiomes:heath_grass3", "naturalbiomes:heatherflower", "naturalbiomes:heatherflower2", "naturalbiomes:heatherflower3"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 2,
|
||||
min_height = 5,
|
||||
max_height = 60,
|
||||
day_toggle = true,
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
mobs:register_egg("animalworld:blackgrouse", S("Black Grouse"), "ablackgrouse.png")
|
152
mods/animalworld/boar.lua
Normal file
152
mods/animalworld/boar.lua
Normal file
|
@ -0,0 +1,152 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
local random = math.random
|
||||
|
||||
mobs:register_mob("animalworld:boar", {
|
||||
stepheight = 1,
|
||||
type = "animal",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
group_attack = true,
|
||||
owner_loyal = true,
|
||||
attack_npcs = true,
|
||||
reach = 2,
|
||||
damage = 5,
|
||||
hp_min = 5,
|
||||
hp_max = 55,
|
||||
armor = 100,
|
||||
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 = "animalworld_boar",
|
||||
attack = "animalworld_boar",
|
||||
},
|
||||
walk_velocity = 1,
|
||||
run_velocity = 2,
|
||||
jump = false,
|
||||
pushable = true,
|
||||
stay_near = {{"people:feeder", "default:fern_1", "default:fern_2", "marinara:reed_bundle", "naturalbiomes:reed_bundle", "farming:straw"}, 5},
|
||||
follow = {"default:apple", "mcl_farming:beetroot_item", "mcl_farming:carrot_item", "mcl_farming:melon_item", "mcl_farming:potato_item", "mcl_farming:pumpkin_item", "mcl_farming:wheat_item", "mcl_farming:sweet_berry", "mcl_farming:mushroom_red", "mcl_farming:mushroom_brown", "farming:potato", "ethereal:banana_bread", "farming:melon_slice", "farming:carrot", "farming:seed_rice", "farming:corn", "naturalbiomes:hazelnut", "livingfloatlands:giantforest_oaknut", "farming:corn_cob", "farming:seed_barley", "farming:seed_oat", "farming:pumpkin_8", "livingfloatlands:giantforest_oaknut", "farming:baked_potato", "farming:sunflower_bread", "farming:pumpkin_bread", "farming:bread_multigrain", "farming:spanish_potatoes"},
|
||||
view_range = 6,
|
||||
replace_rate = 10,
|
||||
replace_what = {"farming:soil", "farming:soil_wet"},
|
||||
replace_with = "default:dirt",
|
||||
drops = {
|
||||
{name = "animalworld:pork_raw", chance = 1, min = 2, max = 5},
|
||||
{name = "animalworld:boarcorpse", chance = 7, min = 1, max = 1},
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 5,
|
||||
light_damage = 0,
|
||||
fear_height = 2,
|
||||
animation = {
|
||||
speed_normal = 100,
|
||||
stand_speed = 50,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
walk_start = 100,
|
||||
walk_end = 200,
|
||||
punch_start = 200,
|
||||
punch_end = 300,
|
||||
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
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, 15, 25, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
local spawn_on = {"mcl_core:dirt_with_grass", "default:dirt_with_coniferous_litter"}
|
||||
|
||||
if minetest.get_mapgen_setting("mg_name") ~= "v6" then
|
||||
spawn_on = {"mcl_core:dirt_with_grass", "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", "ethereal:green_dirt", "ethereal:mushroom"}
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animal then
|
||||
mobs:spawn({
|
||||
name = "animalworld:boar",
|
||||
nodes = {"mcl_core:podzol", "default:dirt_with_conifrous_litter", "default:dirt_gray", "mcl_core:dirt_with_grass"},
|
||||
neighbors = {"default:fern_1", "default:fern_2", "mcl_flowers:double:fern", "mcl_flowers:fern"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 2,
|
||||
min_height = 1,
|
||||
max_height = 80,
|
||||
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:dirt_with_coniferous_litter", "default:dirt_gray"})
|
||||
|
||||
if nods and #nods > 0 then
|
||||
|
||||
-- min herd of 2
|
||||
local iter = math.min(#nods, 2)
|
||||
|
||||
-- print("--- boar 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 = "animalworld:boar", child = kid})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:boar", S("Boar"), "aboar.png")
|
||||
|
||||
|
||||
mobs:alias_mob("animalworld:boar", "animalworld:boar") -- compatibility
|
||||
|
||||
|
||||
-- raw porkchop
|
||||
minetest.register_craftitem(":animalworld:pork_raw", {
|
||||
description = S("Raw Pork"),
|
||||
inventory_image = "animalworld_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(":animalworld:pork_cooked", {
|
||||
description = S("Cooked Pork"),
|
||||
inventory_image = "animalworld_pork_cooked.png",
|
||||
on_use = minetest.item_eat(8),
|
||||
groups = {food_meat = 1, food_pork = 1, flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "animalworld:pork_cooked",
|
||||
recipe = "animalworld:pork_raw",
|
||||
cooktime = 5,
|
||||
})
|
127
mods/animalworld/camel.lua
Normal file
127
mods/animalworld/camel.lua
Normal file
|
@ -0,0 +1,127 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
local random = math.random
|
||||
|
||||
mobs:register_mob("animalworld:camel", {
|
||||
stepheight = 1,
|
||||
type = "animal",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
group_attack = true,
|
||||
owner_loyal = true,
|
||||
attack_npcs = false,
|
||||
reach = 2,
|
||||
damage = 5,
|
||||
hp_min = 20,
|
||||
hp_max = 60,
|
||||
armor = 100,
|
||||
collisionbox = {-0.7, -0.01, -0.7, 0.7, 2, 0.7},
|
||||
visual = "mesh",
|
||||
mesh = "Camel.b3d",
|
||||
textures = {
|
||||
{"texturecamel.png"},
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
sounds = {
|
||||
random = "animalworld_camel",
|
||||
attack = "animalworld_camel",
|
||||
},
|
||||
walk_velocity = 2,
|
||||
run_velocity = 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:scorpion", "animalworld:polarbear", "animalworld:leopardseal", "animalworld:stellerseagle", "animalworld:wolf", "animalworld:panda", "animalworld:stingray", "marinaramobs:jellyfish", "marinaramobs:octopus", "livingcavesmobs:biter", "livingcavesmobs:flesheatingbacteria"},
|
||||
jump = false,
|
||||
jump_height = 3,
|
||||
pushable = true,
|
||||
follow = {"default:dry_shrub", "default:grass_1", "ethereal:dry_shrub", "farming:seed_wheat", "farming:seed_rye", "default:junglegrass", "farming:melon_8", "farming:pumpkin_8", "ethereal:strawberry", "farming:blackberry", "naturalbiomes:blackberry", "naturalbiomes:cowberry", "naturalbiomes:banana", "naturalbiomes:banana_bunch", "farming:blueberries", "ethereal:orange", "livingdesert:figcactus_fruit", "livingfloatlands:paleojungle_clubmoss_fruit", "ethereal:banana", "livingdesert:date_palm_fruits", "farming:melon_slice", "naturalbiomes:wildrose", "naturalbiomes:banana", "default:dry_grass_1", "default:dry_grass_2", "default:dry_grass_3", "default:grass_1", "default:grass_2", "default:grass_3", "default:grass_4", "default:grass_5", "default:marram_grass_1", "default:marram_grass_2", "default:marram_grass_3", "default:coldsteppe_grass_1", "default:coldsteppe_grass_2", "default:coldsteppe_grass_3", "default:coldsteppe_grass_4", "default:coldsteppe_grass_5", "default:coldsteppe_grass_6", "naturalbiomes:savanna_grass1", "naturalbiomes:savanna_grass2", "mcl_flowers:tallgrass", "mcl_core:deadbush", "mcl_bamboo:bamboo", "naturalbiomes:savanna_grass3", "naturalbiomes:outback_grass1", "naturalbiomes:outback_grass2", "naturalbiomes:outback_grass3", "naturalbiomes:outback_grass4", "naturalbiomes:outback_grass5", "naturalbiomes:outback_grass6", "naturalbiomes:med_grass1", "naturalbiomes:med_grass2", "naturalbiomes:heath_grass1", "naturalbiomes:heath_grass2", "naturalbiomes:heath_grass3", "naturalbiomes:alpine_grass1", "naturalbiomes:alpine_grass2", "naturalbiomes:heath_grass2", "naturalbiomes:heath_grass3", "naturalbiomes:", "naturalbiomes:", "naturalbiomes:bushland_grass", "naturalbiomes:bushland_grass2", "naturalbiomes:bushland_grass3", "naturalbiomes:bushland_grass4", "naturalbiomes:bushland_grass5", "naturalbiomes:bushland_grass6", "naturalbiomes:bushland_grass7", "group:grass", "group:normal_grass"},
|
||||
view_range = 7,
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "animalworld:camelcorpse", chance = 7, min = 1, max = 1},
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 5,
|
||||
light_damage = 0,
|
||||
knock_back = false,
|
||||
fear_height = 2,
|
||||
stay_near = {{"livingdesert:date_palm_leaves", "mcl_flowers:tallgrass", "mcl_core:deadbush", "livingdesert:yucca", "default:dry_shrub", "livingdesert:figcactus_trunk", "livingdesert:coldsteppe_grass1", "livingdesert:cactus", "livingdesert:cactus3", "livingdesert:cactus2", "livingdesert:cactus4"}, 5},
|
||||
animation = {
|
||||
speed_normal = 35,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
walk_start = 200,
|
||||
walk_end = 300,
|
||||
punch_start = 100,
|
||||
punch_end = 200,
|
||||
die_start = 100,
|
||||
die_end = 200,
|
||||
die_speed = 50,
|
||||
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, 0, 25, 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", "ethereal:dry_dirt"}
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:camel",
|
||||
nodes = {"default:desert_sand", "default:sandstone", "mcl_core:sand", "mcl_core:redsand"},
|
||||
neighbors = {"livingdesert:date_palm_leaves", "mcl_core:deadbush", "mcl_core:cactus", "livingdesert:yucca", "default:dry_shrub", "livingdesert:figcactus_trunk", "livingdesert:coldsteppe_grass1", "livingdesert:cactus", "livingdesert:cactus3", "livingdesert:cactus2", "livingdesert:cactus4", "default:cactus"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 3,
|
||||
min_height = 0,
|
||||
max_height = 40,
|
||||
|
||||
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:desert_sand", "default:sandstone"})
|
||||
|
||||
if nods and #nods > 0 then
|
||||
|
||||
-- min herd of 3
|
||||
local iter = math.min(#nods, 3)
|
||||
|
||||
-- print("--- camel 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 = "animalworld:camel", child = kid})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:camel", S("Camel"), "acamel.png")
|
||||
|
||||
|
||||
mobs:alias_mob("animalworld:camel", "animalworld:camel") -- compatibility
|
||||
|
110
mods/animalworld/carp.lua
Normal file
110
mods/animalworld/carp.lua
Normal file
|
@ -0,0 +1,110 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:carp", {
|
||||
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.4, -0.01, -0.4, 0.4, 0.5, 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", "default:river_water_flowing", "mcl_core:water_source", "mcl_core: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,
|
||||
stay_near = {{"marinara:sand_with_alage", "mcl_flowers:waterlily", "mcl_ocean:seagrass:sand", "mcl_core:reeds", "mcl_ocean:bubble_coral", "mcl_ocean:tube_coral", "mcl_ocean:fire_coral", "mcl_ocean:brain_coral", "mcl_ocean:seagrass_gravel", "marinara:sand_with_seagrass", "default:sand_with_kelp", "marinara:sand_with_kelp", "marinara:reed_root", "flowers:waterlily_waving", "naturalbiomes:waterlily", "default:clay"}, 5},
|
||||
stepheight = 0.0,
|
||||
drops = {
|
||||
{name = "animalworld: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,
|
||||
fly_start = 150, -- swim animation
|
||||
fly_end = 250,
|
||||
punch_start = 100,
|
||||
punch_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", "mcl_core:water_source", "mcl_core:water_flowing"},
|
||||
floats = 0,
|
||||
follow = {
|
||||
"ethereal:worm", "marinara:sand_with_seagrass", "marinara:sand_with_seagrass2", "seaweed", "fishing:bait_worm",
|
||||
"default:grass", "farming:cucumber", "farming:cabbage", "animalworld:ant", "animalworld:termite", "animalworld:fishfood", "animalworld:cockroach", "animalworld:anteggs_raw", "group:grass", "group:normal_grass"
|
||||
},
|
||||
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, 25, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:carp",
|
||||
nodes = {"mcl_core:water_source", "default:water_source"}, {"default:river_water_source"},
|
||||
neighbors = {"marinara:sand_with_alage", "mcl_flowers:waterlily", "mcl_ocean:seagrass:sand", "mcl_core:reeds", "marinara:sand_with_seagrass", "default:sand_with_kelp", "marinara:sand_with_kelp", "marinara:reed_root", "flowers:waterlily_waving", "naturalbiomes:waterlily", "default:clay"},
|
||||
min_light = 14,
|
||||
interval = 60,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 3,
|
||||
min_height = -10,
|
||||
max_height = 30,
|
||||
day_toggle = true,
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:carp", S("Carp"), "acarp.png")
|
||||
|
||||
-- raw fish
|
||||
minetest.register_craftitem(":animalworld:rawfish", {
|
||||
description = S("Raw Fish"),
|
||||
inventory_image = "animalworld_rawfish.png",
|
||||
on_use = minetest.item_eat(3),
|
||||
groups = {food_meat_raw = 1, flammable = 2},
|
||||
})
|
||||
|
||||
-- cooked fish
|
||||
minetest.register_craftitem(":animalworld:cookedfish", {
|
||||
description = S("Cooked Fish"),
|
||||
inventory_image = "animalworld_cookedfish.png",
|
||||
on_use = minetest.item_eat(5),
|
||||
groups = {food_meat = 1, flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "animalworld:cookedfish",
|
||||
recipe = "animalworld:rawfish",
|
||||
cooktime = 5,
|
||||
})
|
95
mods/animalworld/clamydosaurus.lua
Normal file
95
mods/animalworld/clamydosaurus.lua
Normal file
|
@ -0,0 +1,95 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:clamydosaurus", {
|
||||
stepheight = 3,
|
||||
type = "animal",
|
||||
passive = true,
|
||||
reach = 1,
|
||||
attack_npcs = false,
|
||||
damage = 1,
|
||||
hp_min = 10,
|
||||
hp_max = 35,
|
||||
armor = 100,
|
||||
collisionbox = {-0.268, -0.01, -0.268, 0.268, 0.25, 0.268},
|
||||
visual = "mesh",
|
||||
mesh = "Clamydosaurus.b3d",
|
||||
drawtype = "front",
|
||||
textures = {
|
||||
{"textureclamydosaurus.png"},
|
||||
|
||||
},
|
||||
sounds = {
|
||||
random = "animalworld_monitor",},
|
||||
makes_footstep_sound = true,
|
||||
walk_velocity = 2,
|
||||
run_velocity = 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:scorpion", "animalworld:polarbear", "animalworld:leopardseal", "animalworld:stellerseagle", "player", "animalworld:wolf", "animalworld:panda", "animalworld:stingray", "marinaramobs:jellyfish", "marinaramobs:octopus", "livingcavesmobs:biter", "livingcavesmobs:flesheatingbacteria"},
|
||||
jump = true,
|
||||
jump_height = 6,
|
||||
stepheight = 5,
|
||||
stay_near = {{"naturalbiomes:outback_rock", "mcl_core:deadbush", "mcl_core:cactus", "naturalbiomes:outback_trunk", "naturalbiomes:outback_bush_leaves", "livingdesert:cactus", "livingdesert:cactus3", "livingdesert:cactus2", "livingdesert:cactus4"}, 5},
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "mobs:leather", chance = 1, min = 0, max = 2},
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
fear_height = 6,
|
||||
animation = {
|
||||
speed_normal = 50,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
stand1_start = 100,
|
||||
stand1_end = 200,
|
||||
walk_speed = 150,
|
||||
walk_start = 250,
|
||||
walk_end = 350,
|
||||
fly_start = 250, -- swim animation
|
||||
fly_end = 350,
|
||||
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", "mcl_core:water_source", "mcl_core:water_flowing"},
|
||||
floats = 0,
|
||||
follow = {"animalworld:cockroach", "bees:frame_full", "animalworld:fishfood", "animalworld:ant", "animalworld:termite", "animalworld:bugice", "animalworld:termitequeen", "animalworld:notoptera", "animalworld:anteggs_raw"},
|
||||
view_range = 6,
|
||||
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,
|
||||
})
|
||||
|
||||
|
||||
local spawn_on = "default:sand"
|
||||
|
||||
if minetest.get_modpath("ethereal") then
|
||||
spawn_on = "ethereal:prairie_dirt", "default:dirt_with_grass", "ethereal:green_dirt"
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:clamydosaurus",
|
||||
nodes = {"naturalbiomes:outback_litter", "mcl_core:sand", "mcl_core:redsand"},
|
||||
neighbors = {"naturalbiomes:outback_rock", "naturalbiomes:outback_trunk", "naturalbiomes:outback_bush_leaves", "mcl_core:deadbush", "mcl_core:cactus"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 2,
|
||||
min_height = 2,
|
||||
max_height = 50,
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
mobs:register_egg("animalworld:clamydosaurus", S("Clamydosaurus"), "aclamydosaurus.png", 0)
|
||||
|
||||
|
||||
mobs:alias_mob("animalworld:clamydosaurus", "animalworld:clamdydosaurus") -- compatibility
|
||||
|
95
mods/animalworld/cockatoo.lua
Normal file
95
mods/animalworld/cockatoo.lua
Normal file
|
@ -0,0 +1,95 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:cockatoo", {
|
||||
stepheight = 3,
|
||||
type = "animal",
|
||||
passive = true,
|
||||
attack_type = "dogfight",
|
||||
attack_animals = false,
|
||||
reach = 2,
|
||||
damage = 2,
|
||||
hp_min = 10,
|
||||
hp_max = 35,
|
||||
armor = 100,
|
||||
collisionbox = {-0.3, -0.01, -0.3, 0.3, 0.3, 0.3},
|
||||
visual = "mesh",
|
||||
mesh = "Cockatoo.b3d",
|
||||
visual_size = {x = 1.0, y = 1.0},
|
||||
textures = {
|
||||
{"texturecockatoo.png"},
|
||||
},
|
||||
sounds = {
|
||||
attack = "animalworld_cockatoo3",
|
||||
random = "animalworld_cockatoo",
|
||||
damage = "animalworld_cockatoo2",
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
walk_velocity = 2,
|
||||
run_velocity = 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:scorpion", "animalworld:polarbear", "animalworld:leopardseal", "animalworld:stellerseagle", "player", "animalworld:wolf", "animalworld:panda", "animalworld:stingray", "marinaramobs:jellyfish", "marinaramobs:octopus", "livingcavesmobs:biter", "livingcavesmobs:flesheatingbacteria"},
|
||||
jump = true,
|
||||
jump_height = 6,
|
||||
stepheight = 3,
|
||||
stay_near = {{"naturalbiomes:outback_leaves", "naturalbiomes:outback_trunk", "naturalbiomes:outback_bush_leaves", "livingdesert:cactus", "livingdesert:cactus3", "livingdesert:cactus2", "livingdesert:cactus4"}, 5},
|
||||
drops = {
|
||||
{name = "animalworld:chicken_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "animalworld:chicken_feather", chance = 1, min = 1, max = 1},
|
||||
|
||||
},
|
||||
water_damage = 1,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
fear_height = 10,
|
||||
animation = {
|
||||
speed_normal = 100,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
stand1_start = 100,
|
||||
stand1_end = 200,
|
||||
walk_start = 200,
|
||||
walk_end = 300,
|
||||
fly_start = 350, -- swim animation
|
||||
fly_end = 450,
|
||||
punch_start = 100,
|
||||
punch_end = 200,
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
|
||||
fly_in = {"air"},
|
||||
floats = 0,
|
||||
follow = {
|
||||
"farming:melon_slice", "mcl_farming:beetroot_item", "mcl_farming:carrot_item", "mcl_farming:melon_item", "mcl_farming:potato_item", "mcl_farming:pumpkin_item", "mcl_farming:wheat_item", "mcl_farming:sweet_berry", "farming:pineapple", "ethereal:banana", "ethereal:orange", "farming:grapes", "default:apple", "farming:potato", "ethereal:banana_bread", "farming:carrot", "farming:seed_rice", "farming:corn", "farming:wheat", "farming:beans", "farming:barley", "farming:oat", "farming:rye", "mobs:cheese", "farming:bread", "ethereal:banana_bread", "ethereal:banana", "farming:cabbage", "farming:lettuce", "farming:melon_slice", "naturalbiomes:coconut", "naturalbiomes:banana", "livingdesert:date_palm_fruits", "livingdesert:figcactus_fruit"
|
||||
},
|
||||
|
||||
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, 15, 25, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:cockatoo",
|
||||
nodes = {"naturalbiomes:outback_litter", "mcl_core:dirt_with_grass", "mcl_core:acaciatree", "mcl_trees:tree_acacia"},
|
||||
neighbors = {"naturalbiomes:outback_trunk", "naturalbiomes:outback_bush_leaves", "naturalbiomes:outback_leaves", "mcl_trees:leaves_acacia", "mcl_core:acacialeaves"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 800, -- 15000
|
||||
active_object_count = 2,
|
||||
min_height = 5,
|
||||
max_height = 31000,
|
||||
day_toggle = true,
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:cockatoo", S("Cockatoo"), "acockatoo.png")
|
105
mods/animalworld/cockroach.lua
Normal file
105
mods/animalworld/cockroach.lua
Normal file
|
@ -0,0 +1,105 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:cockroach", {
|
||||
stepheight = 3,
|
||||
type = "animal",
|
||||
passive = true,
|
||||
attack_type = "dogfight",
|
||||
group_attack = false,
|
||||
owner_loyal = true,
|
||||
reach = 2,
|
||||
damage = 1,
|
||||
hp_min = 5,
|
||||
hp_max = 10,
|
||||
armor = 100,
|
||||
collisionbox = {-0.3, -0.01, -0.2, 0.3, 0.3, 0.2},
|
||||
visual = "mesh",
|
||||
mesh = "Cockroach.b3d",
|
||||
textures = {
|
||||
{"texturecockroach.png"},
|
||||
},
|
||||
child_texture = {
|
||||
{"texturecockroachbaby.png"},
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
sounds = {
|
||||
random = "animalworld_ant",
|
||||
damage = "animalworld_ant",
|
||||
},
|
||||
walk_velocity = 1,
|
||||
run_velocity = 2,
|
||||
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:scorpion", "animalworld:polarbear", "animalworld:leopardseal", "animalworld:stellerseagle", "player", "animalworld:wolf", "animalworld:panda", "animalworld:stingray", "marinaramobs:jellyfish", "marinaramobs:octopus", "livingcavesmobs:biter", "livingcavesmobs:flesheatingbacteria"},
|
||||
jump = true,
|
||||
jump_height = 8,
|
||||
pushable = true,
|
||||
follow = {"farming:melon_slice", "mcl_farming:beetroot_item", "mcl_farming:carrot_item", "mcl_farming:melon_item", "mcl_farming:potato_item", "mcl_farming:pumpkin_item", "mcl_farming:wheat_item", "mcl_farming:sweet_berry", "farming:pineapple", "ethereal:banana", "ethereal:orange", "farming:grapes", "default:apple", "farming:potato", "ethereal:banana_bread", "farming:carrot", "farming:seed_rice", "farming:corn", "farming:wheat", "farming:beans", "farming:barley", "farming:oat", "farming:rye", "mobs:cheese", "farming:bread", "ethereal:banana_bread", "ethereal:banana", "farming:cabbage", "farming:lettuce", "farming:melon_slice", "naturalbiomes:coconut", "naturalbiomes:banana", "mobs:meatblock_raw", "animalworld:chicken_raw", "livingfloatlands:ornithischiaraw", "livingfloatlands:largemammalraw", "livingfloatlands:theropodraw", "livingfloatlands:sauropodraw", "animalworld:raw_athropod", "animalworld:whalemeat_raw", "animalworld:rabbit_raw", "nativevillages:chicken_raw", "mobs:meat_raw", "animalworld:pork_raw", "people:mutton:raw"},
|
||||
view_range = 2,
|
||||
stay_near = {{"default:jungletree", "default:junglegrass", "livingjungle::grass2", "livingjungle::grass1", "livingjungle:alocasia", "livingjungle:flamingoflower"}, 5},
|
||||
drops = {
|
||||
{name = "animalworld:cockroach", chance = 1, min = 1, max = 1},
|
||||
},
|
||||
water_damage = 2,
|
||||
lava_damage = 5,
|
||||
air_damage = 0,
|
||||
light_damage = 0,
|
||||
fear_height = 4,
|
||||
animation = {
|
||||
speed_normal = 100,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
walk_start = 100,
|
||||
walk_end = 200,
|
||||
jump_start = 220,
|
||||
jump_end = 330,
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
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, 25, 0, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:cockroach",
|
||||
nodes = {"livingjungle:jungleground", "livingjungle:leafyjungleground", "mcl_core:dirt_with_gras"},
|
||||
neighbors = {"livingjungle:samauma_trunk", "mcl_trees:tree_jungle", "livingjungle:liana_stem", "livingjungle:alocasia", "livingjungle:flamingoflower", "mcl_core:jungletree", "mcl_core:jungleleaves", "mcl_trees:leaves_jungle", "mcl_trees:leaves_mangrove"},
|
||||
min_light = 0,
|
||||
interval = 30,
|
||||
chance = 1000, -- 15000
|
||||
active_object_count = 3,
|
||||
min_height = 5,
|
||||
max_height = 31000,
|
||||
day_toggle = false,
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:cockroach", S("Cockroach"), "acockroach.png")
|
||||
|
||||
|
||||
mobs:alias_mob("animalworld:cockroach", "animalworld:cockroach") -- compatibility
|
||||
|
||||
minetest.register_craftitem(":animalworld:roastroach", {
|
||||
description = S("Roasted Cockroach"),
|
||||
inventory_image = "animalworld_roastroach.png",
|
||||
on_use = minetest.item_eat(2),
|
||||
groups = {food_meat_raw = 1, flammable = 2},
|
||||
})
|
||||
|
||||
|
||||
minetest.register_craft({
|
||||
output = "animalworld:roastroach",
|
||||
type = "shapeless",
|
||||
recipe =
|
||||
{"animalworld:cockroach", "default:torch"}
|
||||
})
|
||||
|
||||
|
||||
|
332
mods/animalworld/concretecrafting.lua
Normal file
332
mods/animalworld/concretecrafting.lua
Normal file
|
@ -0,0 +1,332 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
walls.register(":animalworld:termiteconcrete_wall", S"Termite Concrete Wall", "termiteconcrete.png",
|
||||
"animalworld:termiteconcrete_wall", animalworld.sounds.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab(
|
||||
"termiteconcrete",
|
||||
"animalworld:termiteconcrete",
|
||||
{cracky = 2, oddly_breakable_by_hand = 0, flammable = 0},
|
||||
{"termiteconcrete.png"},
|
||||
S("Termite Concrete Stair"),
|
||||
S("Termite Concrete Slab"),
|
||||
animalworld.sounds.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
minetest.register_craft({
|
||||
output = "animalworld:termiteconcrete_wall",
|
||||
type = "shapeless",
|
||||
recipe =
|
||||
{"animalworld:termiteconcrete", "animalworld:termiteconcrete", "animalworld:termiteconcrete", "animalworld:termiteconcrete", "animalworld:termiteconcrete", "animalworld:termiteconcrete"}
|
||||
|
||||
|
||||
})
|
||||
|
||||
walls.register(":animalworld:termiteconcretewhite_wall", S"Termite Concrete White Wall", "termiteconcretewhite.png",
|
||||
"animalworld:termiteconcretewhite_wall", animalworld.sounds.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab(
|
||||
"termiteconcretewhite",
|
||||
"animalworld:termiteconcretewhite",
|
||||
{cracky = 2, oddly_breakable_by_hand = 0, flammable = 0},
|
||||
{"termiteconcretewhite.png"},
|
||||
S("Termite Concrete White Stair"),
|
||||
S("Termite Concrete White Slab"),
|
||||
animalworld.sounds.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
minetest.register_craft({
|
||||
output = "animalworld:termiteconcretewhite_wall",
|
||||
type = "shapeless",
|
||||
recipe =
|
||||
{"animalworld:termiteconcretewhite", "animalworld:termiteconcretewhite", "animalworld:termiteconcretewhite", "animalworld:termiteconcretewhite", "animalworld:termiteconcretewhite", "animalworld:termiteconcretewhite"}
|
||||
|
||||
|
||||
})
|
||||
|
||||
walls.register(":animalworld:termiteconcretegrey_wall", S"Termite Concrete Grey Wall", "termiteconcretegrey.png",
|
||||
"animalworld:termiteconcretegrey_wall", animalworld.sounds.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab(
|
||||
"termiteconcretegrey",
|
||||
"animalworld:termiteconcretegrey",
|
||||
{cracky = 2, oddly_breakable_by_hand = 0, flammable = 0},
|
||||
{"termiteconcretegrey.png"},
|
||||
S("Termite Concrete Grey Stair"),
|
||||
S("Termite Concrete Grey Slab"),
|
||||
animalworld.sounds.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
minetest.register_craft({
|
||||
output = "animalworld:termiteconcretegrey_wall",
|
||||
type = "shapeless",
|
||||
recipe =
|
||||
{"animalworld:termiteconcretegrey", "animalworld:termiteconcretegrey", "animalworld:termiteconcretegrey", "animalworld:termiteconcretegrey", "animalworld:termiteconcretegrey", "animalworld:termiteconcretegrey"}
|
||||
|
||||
|
||||
})
|
||||
|
||||
walls.register(":animalworld:termiteconcreteblack_wall", S"Termite Concrete Black Wall", "termiteconcreteblack.png",
|
||||
"animalworld:termiteconcreteblack_wall", default.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab(
|
||||
"termiteconcreteblack",
|
||||
"animalworld:termiteconcreteblack",
|
||||
{cracky = 2, oddly_breakable_by_hand = 0, flammable = 0},
|
||||
{"termiteconcreteblack.png"},
|
||||
S("Termite Concrete Black Stair"),
|
||||
S("Termite Concrete Black Slab"),
|
||||
animalworld.sounds.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
minetest.register_craft({
|
||||
output = "animalworld:termiteconcreteblack_wall",
|
||||
type = "shapeless",
|
||||
recipe =
|
||||
{"animalworld:termiteconcreteblack", "animalworld:termiteconcreteblack", "animalworld:termiteconcreteblack", "animalworld:termiteconcreteblack", "animalworld:termiteconcreteblack", "animalworld:termiteconcreteblack"}
|
||||
|
||||
|
||||
})
|
||||
|
||||
walls.register(":animalworld:termiteconcreteblue_wall", S"Termite Concrete Blue Wall", "termiteconcreteblue.png",
|
||||
"animalworld:termiteconcreteblue_wall", animalworld.sounds.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab(
|
||||
"termiteconcreteblue",
|
||||
"animalworld:termiteconcreteblue",
|
||||
{cracky = 2, oddly_breakable_by_hand = 0, flammable = 0},
|
||||
{"termiteconcreteblue.png"},
|
||||
S("Termite Concrete Blue Stair"),
|
||||
S("Termite Concrete Blue Slab"),
|
||||
animalworld.sounds.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
minetest.register_craft({
|
||||
output = "animalworld:termiteconcreteblue_wall",
|
||||
type = "shapeless",
|
||||
recipe =
|
||||
{"animalworld:termiteconcreteblue", "animalworld:termiteconcreteblue", "animalworld:termiteconcreteblue", "animalworld:termiteconcreteblue", "animalworld:termiteconcreteblue", "animalworld:termiteconcreteblue"}
|
||||
|
||||
|
||||
})
|
||||
|
||||
walls.register(":animalworld:termiteconcretecyan_wall", S"Termite Concrete Cyan Wall", "termiteconcretecyan.png",
|
||||
"animalworld:termiteconcretecyan_wall", animalworld.sounds.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab(
|
||||
"termiteconcretecyan",
|
||||
"animalworld:termiteconcretecyan",
|
||||
{cracky = 2, oddly_breakable_by_hand = 0, flammable = 0},
|
||||
{"termiteconcretecyan.png"},
|
||||
S("Termite Concrete Cyan Stair"),
|
||||
S("Termite Concrete Cyan Slab"),
|
||||
animalworld.sounds.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
minetest.register_craft({
|
||||
output = "animalworld:termiteconcretecyan_wall",
|
||||
type = "shapeless",
|
||||
recipe =
|
||||
{"animalworld:termiteconcretecyan", "animalworld:termiteconcretecyan", "animalworld:termiteconcretecyan", "animalworld:termiteconcretecyan", "animalworld:termiteconcretecyan", "animalworld:termiteconcretecyan"}
|
||||
|
||||
|
||||
})
|
||||
|
||||
walls.register(":animalworld:termiteconcretegreen_wall", S"Termite Concrete Green Wall", "termiteconcretegreen.png",
|
||||
"animalworld:termiteconcretegreen_wall", animalworld.sounds.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab(
|
||||
"termiteconcretegreen",
|
||||
"animalworld:termiteconcretegreen",
|
||||
{cracky = 2, oddly_breakable_by_hand = 0, flammable = 0},
|
||||
{"termiteconcretegreen.png"},
|
||||
S("Termite Concrete Green Stair"),
|
||||
S("Termite Concrete Green Slab"),
|
||||
animalworld.sounds.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
minetest.register_craft({
|
||||
output = "animalworld:termiteconcretegreen_wall",
|
||||
type = "shapeless",
|
||||
recipe =
|
||||
{"animalworld:termiteconcretegreen", "animalworld:termiteconcretegreen", "animalworld:termiteconcretegreen", "animalworld:termiteconcretegreen", "animalworld:termiteconcretegreen", "animalworld:termiteconcretegreen"}
|
||||
|
||||
|
||||
})
|
||||
|
||||
walls.register(":animalworld:termiteconcretedarkgreen_wall", S"Termite Concrete Dark Green Wall", "termiteconcretedarkgreen.png",
|
||||
"animalworld:termiteconcretedarkgreen_wall", animalworld.sounds.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab(
|
||||
"termiteconcretedarkgreen",
|
||||
"animalworld:termiteconcretedarkgreen",
|
||||
{cracky = 2, oddly_breakable_by_hand = 0, flammable = 0},
|
||||
{"termiteconcretedarkgreen.png"},
|
||||
S("Termite Concrete Dark Green Stair"),
|
||||
S("Termite Concrete Dark Green Slab"),
|
||||
animalworld.sounds.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
minetest.register_craft({
|
||||
output = "animalworld:termiteconcretedarkgreen_wall",
|
||||
type = "shapeless",
|
||||
recipe =
|
||||
{"animalworld:termiteconcretedarkgreen", "animalworld:termiteconcretedarkgreen", "animalworld:termiteconcretedarkgreen", "animalworld:termiteconcretedarkgreen", "animalworld:termiteconcretedarkgreen", "animalworld:termiteconcretedarkgreen"}
|
||||
|
||||
|
||||
})
|
||||
|
||||
walls.register(":animalworld:termiteconcreteyellow_wall", S"Termite Concrete Yellow Wall", "termiteconcreteyellow.png",
|
||||
"animalworld:termiteconcreteyellow_wall", animalworld.sounds.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab(
|
||||
"termiteconcreteyellow",
|
||||
"animalworld:termiteconcreteyellow",
|
||||
{cracky = 2, oddly_breakable_by_hand = 0, flammable = 0},
|
||||
{"termiteconcreteyellow.png"},
|
||||
S("Termite Concrete Yellow Stair"),
|
||||
S("Termite Concrete Yellow Slab"),
|
||||
animalworld.sounds.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
minetest.register_craft({
|
||||
output = "animalworld:termiteconcreteyellow_wall",
|
||||
type = "shapeless",
|
||||
recipe =
|
||||
{"animalworld:termiteconcreteyellow", "animalworld:termiteconcreteyellow", "animalworld:termiteconcreteyellow", "animalworld:termiteconcreteyellow", "animalworld:termiteconcreteyellow", "animalworld:termiteconcreteyellow"}
|
||||
|
||||
|
||||
})
|
||||
|
||||
walls.register(":animalworld:termiteconcreteorange_wall", S"Termite Concrete Orange Wall", "termiteconcreteorange.png",
|
||||
"animalworld:termiteconcreteorange_wall", animalworld.sounds.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab(
|
||||
"termiteconcreteorange",
|
||||
"animalworld:termiteconcreteorange",
|
||||
{cracky = 2, oddly_breakable_by_hand = 0, flammable = 0},
|
||||
{"termiteconcreteorange.png"},
|
||||
S("Termite Concrete Orange Stair"),
|
||||
S("Termite Concrete Orange Slab"),
|
||||
animalworld.sounds.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
minetest.register_craft({
|
||||
output = "animalworld:termiteconcreteorange_wall",
|
||||
type = "shapeless",
|
||||
recipe =
|
||||
{"animalworld:termiteconcreteorange", "animalworld:termiteconcreteorange", "animalworld:termiteconcreteorange", "animalworld:termiteconcreteorange", "animalworld:termiteconcreteorange", "animalworld:termiteconcreteorange"}
|
||||
|
||||
|
||||
})
|
||||
|
||||
walls.register(":animalworld:termiteconcretebrown_wall", S"Termite Concrete Brown Wall", "termiteconcretebrown.png",
|
||||
"animalworld:termiteconcretebrown_wall", animalworld.sounds.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab(
|
||||
"termiteconcretebrown",
|
||||
"animalworld:termiteconcretebrown",
|
||||
{cracky = 2, oddly_breakable_by_hand = 0, flammable = 0},
|
||||
{"termiteconcretebrown.png"},
|
||||
S("Termite Concrete Brown Stair"),
|
||||
S("Termite Concrete Brown Slab"),
|
||||
animalworld.sounds.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
minetest.register_craft({
|
||||
output = "animalworld:termiteconcretebrown_wall",
|
||||
type = "shapeless",
|
||||
recipe =
|
||||
{"animalworld:termiteconcretebrown", "animalworld:termiteconcretebrown", "animalworld:termiteconcretebrown", "animalworld:termiteconcretebrown", "animalworld:termiteconcretebrown", "animalworld:termiteconcretebrown"}
|
||||
|
||||
|
||||
})
|
||||
|
||||
walls.register(":animalworld:termiteconcretered_wall", S"Termite Concrete Red Wall", "termiteconcretered.png",
|
||||
"animalworld:termiteconcretered_wall", animalworld.sounds.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab(
|
||||
"termiteconcretered",
|
||||
"animalworld:termiteconcretered",
|
||||
{cracky = 2, oddly_breakable_by_hand = 0, flammable = 0},
|
||||
{"termiteconcretered.png"},
|
||||
S("Termite Concrete Red Stair"),
|
||||
S("Termite Concrete Red Slab"),
|
||||
animalworld.sounds.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
minetest.register_craft({
|
||||
output = "animalworld:termiteconcretered_wall",
|
||||
type = "shapeless",
|
||||
recipe =
|
||||
{"animalworld:termiteconcretered", "animalworld:termiteconcretered", "animalworld:termiteconcretered", "animalworld:termiteconcretered", "animalworld:termiteconcretered", "animalworld:termiteconcretered"}
|
||||
|
||||
|
||||
})
|
||||
|
||||
walls.register(":animalworld:termiteconcretepink_wall", S"Termite Concrete Pink Wall", "termiteconcretepink.png",
|
||||
"animalworld:termiteconcretepink_wall", animalworld.sounds.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab(
|
||||
"termiteconcretepink",
|
||||
"animalworld:termiteconcretepink",
|
||||
{cracky = 2, oddly_breakable_by_hand = 0, flammable = 0},
|
||||
{"termiteconcretepink.png"},
|
||||
S("Termite Concrete Pink Stair"),
|
||||
S("Termite Concrete Pink Slab"),
|
||||
animalworld.sounds.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
minetest.register_craft({
|
||||
output = "animalworld:termiteconcretepink_wall",
|
||||
type = "shapeless",
|
||||
recipe =
|
||||
{"animalworld:termiteconcretepink", "animalworld:termiteconcretepink", "animalworld:termiteconcretepink", "animalworld:termiteconcretepink", "animalworld:termiteconcretepink", "animalworld:termiteconcretepink"}
|
||||
|
||||
|
||||
})
|
||||
|
||||
walls.register(":animalworld:termiteconcretemagenta_wall", S"Termite Concrete Magenta Wall", "termiteconcretemagenta.png",
|
||||
"animalworld:termiteconcretemagenta_wall", animalworld.sounds.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab(
|
||||
"termiteconcretemagenta",
|
||||
"animalworld:termiteconcretemagenta",
|
||||
{cracky = 2, oddly_breakable_by_hand = 0, flammable = 0},
|
||||
{"termiteconcretemagenta.png"},
|
||||
S("Termite Concrete Magenta Stair"),
|
||||
S("Termite Concrete Magenta Slab"),
|
||||
animalworld.sounds.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
minetest.register_craft({
|
||||
output = "animalworld:termiteconcretemagenta_wall",
|
||||
type = "shapeless",
|
||||
recipe =
|
||||
{"animalworld:termiteconcretemagenta", "animalworld:termiteconcretemagenta", "animalworld:termiteconcretemagenta", "animalworld:termiteconcretemagenta", "animalworld:termiteconcretemagenta", "animalworld:termiteconcretemagenta"}
|
||||
|
||||
|
||||
})
|
||||
|
||||
walls.register(":animalworld:termiteconcreteviolet_wall", S"Termite Concrete Violet Wall", "termiteconcreteviolet.png",
|
||||
"animalworld:termiteconcreteviolet_wall", animalworld.sounds.node_sound_stone_defaults())
|
||||
|
||||
stairs.register_stair_and_slab(
|
||||
"termiteconcreteviolet",
|
||||
"animalworld:termiteconcreteviolet",
|
||||
{cracky = 2, oddly_breakable_by_hand = 0, flammable = 0},
|
||||
{"termiteconcreteviolet.png"},
|
||||
S("Termite Concrete Violet Stair"),
|
||||
S("Termite Concrete Violet Slab"),
|
||||
animalworld.sounds.node_sound_stone_defaults()
|
||||
)
|
||||
|
||||
minetest.register_craft({
|
||||
output = "animalworld:termiteconcreteviolet_wall",
|
||||
type = "shapeless",
|
||||
recipe =
|
||||
{"animalworld:termiteconcreteviolet", "animalworld:termiteconcreteviolet", "animalworld:termiteconcreteviolet", "animalworld:termiteconcreteviolet", "animalworld:termiteconcreteviolet", "animalworld:termiteconcreteviolet"}
|
||||
|
||||
|
||||
})
|
||||
|
97
mods/animalworld/crab.lua
Normal file
97
mods/animalworld/crab.lua
Normal file
|
@ -0,0 +1,97 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:crab", {
|
||||
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.4, -0.01, -0.4, 0.4, 0.4, 0.4},
|
||||
visual = "mesh",
|
||||
mesh = "Crab.b3d",
|
||||
drawtype = "front",
|
||||
textures = {
|
||||
{"texturecrab.png"},
|
||||
|
||||
},
|
||||
sounds = {
|
||||
random = "animalworld_crab",
|
||||
attack = "animalworld_crab",
|
||||
},
|
||||
makes_footstep_sound = false,
|
||||
walk_velocity = 0.7,
|
||||
run_velocity = 1,
|
||||
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,
|
||||
stay_near = {{"default:marram_grass_1", "default:marram_grass_2", "default:marram_grass_3", "livingdesert:date_palm_leaves", "livingdesert:yucca", "default:dry_shrub", "livingdesert:figcactus_trunk", "livingdesert:coldsteppe_grass1", "naturalbiomes:bushland_grass", "naturalbiomes:bushland_grass2", "naturalbiomes:bushland_grass3", "naturalbiomes:bushland_grass4", "marinara:sand_with_seashells"}, 5},
|
||||
drops = {
|
||||
{name = "animalworld:raw_athropod", chance = 1, min = 0, max = 2},
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
fear_height = 2,
|
||||
animation = {
|
||||
speed_normal = 75,
|
||||
stand_start = 1,
|
||||
stand_end = 100,
|
||||
walk_start = 100,
|
||||
walk_end = 200,
|
||||
punch_start = 200,
|
||||
punch_end = 400,
|
||||
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", "mcl_mobitems:chicken", "mcl_fishing:pufferfish_raw", "mcl_mobitems:rotten_flesh", "mcl_mobitems:mutton", "mcl_mobitems:beef", "mcl_mobitems:porkchop", "mcl_mobitems:rabbit", "default:marram_grass_2", "default:dry_grass_1", "default:dry_grass_2", "default:dry_grass_3", "default:grass_1", "default:grass_2", "default:grass_3", "default:grass_4", "default:grass_5", "default:marram_grass_1", "default:marram_grass_2", "default:marram_grass_3", "default:coldsteppe_grass_1", "default:coldsteppe_grass_2", "default:coldsteppe_grass_3", "default:coldsteppe_grass_4", "default:coldsteppe_grass_5", "default:coldsteppe_grass_6", "naturalbiomes:savanna_grass1", "naturalbiomes:savanna_grass2", "naturalbiomes:savanna_grass3", "naturalbiomes:outback_grass1", "naturalbiomes:outback_grass2", "naturalbiomes:outback_grass3", "naturalbiomes:outback_grass4", "naturalbiomes:outback_grass5", "naturalbiomes:outback_grass6", "naturalbiomes:med_grass1", "naturalbiomes:med_grass2", "naturalbiomes:heath_grass1", "naturalbiomes:heath_grass2", "naturalbiomes:heath_grass3", "naturalbiomes:alpine_grass1", "naturalbiomes:alpine_grass2", "naturalbiomes:heath_grass2", "naturalbiomes:heath_grass3", "naturalbiomes:", "naturalbiomes:", "naturalbiomes:bushland_grass", "naturalbiomes:bushland_grass2", "naturalbiomes:bushland_grass3", "naturalbiomes:bushland_grass4", "naturalbiomes:bushland_grass5", "naturalbiomes:bushland_grass6", "naturalbiomes:bushland_grass7", "mobs:meatblock_raw", "animalworld:chicken_raw", "livingfloatlands:ornithischiaraw", "livingfloatlands:largemammalraw", "livingfloatlands:theropodraw", "livingfloatlands:sauropodraw", "animalworld:raw_athropod", "animalworld:whalemeat_raw", "animalworld:rabbit_raw", "nativevillages:chicken_raw", "mobs:meat_raw", "animalworld:pork_raw", "people:mutton:raw", "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", "animalworld:cockroach", "bees:frame_full", "animalworld:fishfood", "animalworld:ant", "animalworld:termite", "animalworld:bugice", "animalworld:termitequeen", "animalworld:notoptera", "animalworld:anteggs_raw"},
|
||||
view_range = 5,
|
||||
replace_rate = 10,
|
||||
replace_what = {"default:marram_grass_2", "ethereal:fish_raw", "fishing:fish_raw", "xocean:fish_edible", "water_life:meat_raw", "mobs:clownfish_raw"},
|
||||
replace_with = "air",
|
||||
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,
|
||||
})
|
||||
|
||||
|
||||
local spawn_on = "default:sand"
|
||||
|
||||
if minetest.get_modpath("ethereal") then
|
||||
spawn_on = "default:sand"
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:crab",
|
||||
nodes = {"default:sand", "mcl_core:sand", "mcl_core:gravel"},
|
||||
neighbors = {"group:grass", "mcl_core:reeds", "group:normal_grass", "mcl_core:dirt_with_grass", "marinara:sand_with_seashells", "marinara:sand_with_seashells_pink", "marinara:sand_with_seashells_orange", "marinara:sand_with_seashells_yellow", "marinara:sand_with_seashells_brown", "marinara:sand_with_seashells_white"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 500, -- 15000
|
||||
active_object_count = 2,
|
||||
min_height = 0,
|
||||
max_height = 4,
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
mobs:register_egg("animalworld:crab", S("Crab"), "acrab.png", 0)
|
||||
|
||||
|
||||
mobs:alias_mob("animalworld:crab", "animalworld:crab") -- compatibility
|
||||
|
||||
|
93
mods/animalworld/crocodile.lua
Normal file
93
mods/animalworld/crocodile.lua
Normal file
|
@ -0,0 +1,93 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:crocodile", {
|
||||
stepheight = 1,
|
||||
type = "monster",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
attack_animals = true,
|
||||
reach = 2,
|
||||
damage = 12,
|
||||
hp_min = 50,
|
||||
hp_max = 95,
|
||||
armor = 100,
|
||||
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 = "animalworld_crocodile",
|
||||
attack = "animalworld_crocodile",
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
walk_velocity = 1,
|
||||
run_velocity = 2,
|
||||
runaway = false,
|
||||
jump = true,
|
||||
jump_height = 0.5,
|
||||
stepheight = 1,
|
||||
stay_near = {{"default:dry_grass_1", "default:dry_grass_2", "default:dry_grass_3", "default:dry_grass_4", "livingjungle::grass2", "livingjungle::grass1", "livingjungle:alocasia", "livingjungle:flamingoflower", "naturalbiomes:ourback_grass", "naturalbiomes:ourback_grass3", "naturalbiomes:ourback_grass2", "naturalbiomes:ourback_grass4", "naturalbiomes:ourback_grass5"}, 6},
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "animalworld:crocodilecorpse", chance = 7, 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,
|
||||
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", "mcl_core:water_source", "mcl_core:water_flowing"},
|
||||
floats = 0,
|
||||
follow = {
|
||||
"ethereal:fish_raw", "mcl_mobitems:chicken", "mcl_fishing:pufferfish_raw", "mcl_mobitems:rotten_flesh", "mcl_mobitems:mutton", "mcl_mobitems:beef", "mcl_mobitems:porkchop", "mcl_mobitems:rabbit", "animalworld:rawfish", "mobs_fish:tropical",
|
||||
"mobs:meat_raw", "animalworld:rabbit_raw", "xocean:fish_edible", "fishing:fish_raw", "water_life:meat_raw", "fishing:carp_raw", "animalworld:chicken_raw", "mobs:meatblock_raw", "animalworld:chicken_raw", "livingfloatlands:ornithischiaraw", "livingfloatlands:largemammalraw", "livingfloatlands:theropodraw", "livingfloatlands:sauropodraw", "animalworld:raw_athropod", "animalworld:whalemeat_raw", "animalworld:rabbit_raw", "nativevillages:chicken_raw", "mobs:meat_raw", "animalworld:pork_raw", "people:mutton:raw", "mobs:meatblock_raw", "animalworld:chicken_raw", "livingfloatlands:ornithischiaraw", "livingfloatlands:largemammalraw", "livingfloatlands:theropodraw", "livingfloatlands:sauropodraw", "animalworld:raw_athropod", "animalworld:whalemeat_raw", "animalworld:rabbit_raw", "nativevillages:chicken_raw", "mobs:meat_raw", "animalworld:pork_raw", "people:mutton:raw", "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"
|
||||
},
|
||||
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, 0, 0, 25, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
if minetest.get_modpath("ethereal") then
|
||||
spawn_on = {"ethereal:grove_dirt", "default:dry_dirt_with_dry_grass", "default:dirt_with_rainforest_litter"}
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:crocodile",
|
||||
nodes = {"default:dry_dirt_with_dry_grass", "mcl_core:acaciatree", "mcl_trees:tree_acacia", "default:dirt_with_rainforest_litter", "naturalbiomes:outback_litter", "livingjungle:jungleground", "livingjungle:leafyjungleground"},
|
||||
neighbors = {"group:grass", "group:normal_grass"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 3,
|
||||
min_height = 0,
|
||||
max_height = 3,
|
||||
day_toggle = true,
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:crocodile", S("Crocodile"), "acrocodile.png")
|
11
mods/animalworld/depends.txt
Normal file
11
mods/animalworld/depends.txt
Normal file
|
@ -0,0 +1,11 @@
|
|||
mobs
|
||||
default?
|
||||
mcl_core?
|
||||
mcl_sounds?
|
||||
bucket?
|
||||
ethereal?
|
||||
xocean?
|
||||
farming?
|
||||
fishing?
|
||||
hunger_ng?
|
||||
livingcaves?
|
1
mods/animalworld/description.txt
Normal file
1
mods/animalworld/description.txt
Normal file
|
@ -0,0 +1 @@
|
|||
Adds various wild animals to your Minetest Game world.
|
84
mods/animalworld/divingbeetle.lua
Normal file
84
mods/animalworld/divingbeetle.lua
Normal file
|
@ -0,0 +1,84 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:divingbeetle", {
|
||||
stepheight = 1,
|
||||
type = "monster",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
attack_npcs = true,
|
||||
reach = 2,
|
||||
damage = 1,
|
||||
hp_min = 5,
|
||||
hp_max = 25,
|
||||
armor = 100,
|
||||
collisionbox = {-0.3, -0.01, -0.3, 0.3, 0.3, 0.3},
|
||||
visual = "mesh",
|
||||
mesh = "Divingbeetle.b3d",
|
||||
textures = {
|
||||
{"texturedivingbeetle.png"},
|
||||
},
|
||||
makes_footstep_sound = false,
|
||||
sounds = {
|
||||
},
|
||||
walk_velocity = 1,
|
||||
run_velocity = 2,
|
||||
runaway = false,
|
||||
jump = false,
|
||||
jump_height = 3,
|
||||
pushable = true,
|
||||
view_range = 6,
|
||||
drops = {
|
||||
{name = "animalworld:fishfood", chance = 1, min = 0, max = 2},
|
||||
},
|
||||
fly_in = {"default:water_source", "default:river_water_source", "default:water_flowing", "default:river_water_flowing", "mcl_core:water_source", "mcl_core:water_flowing"},
|
||||
floats = 0,
|
||||
fly = true,
|
||||
follow = {
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 5,
|
||||
air_damage = 1,
|
||||
light_damage = 0,
|
||||
fear_height = 2,
|
||||
stay_near = {{"marinara:sand_with_alage", "mcl_flowers:waterlily", "mcl_ocean:seagrass:sand", "mcl_core:reeds", "marinara:sand_with_seagrass", "default:sand_with_kelp", "marinara:sand_with_kelp", "marinara:reed_root", "flowers:waterlily_waving", "naturalbiomes:waterlily", "default:clay"}, 4},
|
||||
animation = {
|
||||
speed_normal = 100,
|
||||
stand_speed = 50,
|
||||
stand_start = 100,
|
||||
stand_end = 300,
|
||||
walk_start = 0,
|
||||
walk_end = 100,
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
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, 5, 25, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:divingbeetle",
|
||||
nodes = {"mcl_core:water_source", "default:water_source", "default:river_water_source", "mcl_core:water_source", "mcl_core:water_flowing"},
|
||||
neighbors = {"default:papyrus", "mcl_core:reeds"},
|
||||
min_light = 0,
|
||||
interval = 30,
|
||||
active_object_count = 2,
|
||||
chance = 500, -- 15000
|
||||
min_height = -10,
|
||||
max_height = 30,
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:divingbeetle", S("Diving Beetle"), "adivingbeetle.png")
|
||||
|
||||
|
||||
mobs:alias_mob("animalworld:divingbeetle", "animalworld:divingbeetle") -- compatibility
|
||||
|
88
mods/animalworld/dragonfly.lua
Normal file
88
mods/animalworld/dragonfly.lua
Normal file
|
@ -0,0 +1,88 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:dragonfly", {
|
||||
stepheight = 3,
|
||||
type = "animal",
|
||||
passive = true,
|
||||
attack_type = "dogfight",
|
||||
attack_animals = true,
|
||||
owner_loyal = true,
|
||||
reach = 2,
|
||||
damage = 1,
|
||||
hp_min = 5,
|
||||
hp_max = 25,
|
||||
armor = 100,
|
||||
collisionbox = {-0.1, -0.01, -0.1, 0.1, 0.2, 0.1},
|
||||
visual = "mesh",
|
||||
mesh = "Dragonfly.b3d",
|
||||
visual_size = {x = 1.0, y = 1.0},
|
||||
textures = {
|
||||
{"texturedragonfly.png"},
|
||||
},
|
||||
sounds = {
|
||||
random = "animalworld_dragonfly",
|
||||
},
|
||||
makes_footstep_sound = false,
|
||||
walk_velocity = 5,
|
||||
run_velocity = 7,
|
||||
walk_chance = 15,
|
||||
fall_speed = 0,
|
||||
jump = true,
|
||||
jump_height = 6,
|
||||
stepheight = 3,
|
||||
fly = true,
|
||||
stay_near = {{"naturalbiomes:alderswamp_reed3", "mcl_core:reeds", "naturalbiomes:alderswamp_reed2", "naturalbiomes:alderswamp_reed", "naturalbiomes:alderswamp_yellowflower", "naturalbiomes:waterlily", "marinara:reed_root"}, 4},
|
||||
drops = {
|
||||
|
||||
},
|
||||
water_damage = 4,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
fear_height = 0,
|
||||
animation = {
|
||||
speed_normal = 150,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
fly_start = 100, -- swim animation
|
||||
fly_end = 200,
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
|
||||
fly_in = {"air"},
|
||||
floats = 0,
|
||||
follow = {
|
||||
"animalworld:termitequeen", "animalworld:ant", "animalworld:termite"
|
||||
},
|
||||
|
||||
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, 0, 25, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:dragonfly",
|
||||
nodes = {"air"},
|
||||
neighbors = {"flowers:waterlily_waving", "mcl_core:reeds", "mcl_flowers:waterlily"},
|
||||
min_light = 0,
|
||||
interval = 30,
|
||||
active_object_count = 2,
|
||||
chance = 2000, -- 15000
|
||||
min_height = 0,
|
||||
max_height = 40,
|
||||
day_toggle = true
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:dragonfly", S("Dragonfly"), "adragonfly.png")
|
99
mods/animalworld/echidna.lua
Normal file
99
mods/animalworld/echidna.lua
Normal file
|
@ -0,0 +1,99 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:echidna", {
|
||||
stepheight = 1,
|
||||
type = "animal",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
group_attack = true,
|
||||
owner_loyal = true,
|
||||
attack_npcs = true,
|
||||
reach = 3,
|
||||
damage = 15,
|
||||
hp_min = 25,
|
||||
hp_max = 65,
|
||||
armor = 100,
|
||||
collisionbox = {-0.2, -0.01, -0.2, 0.2, 0.95, 0.2},
|
||||
visual = "mesh",
|
||||
mesh = "Echidna.b3d",
|
||||
textures = {
|
||||
{"textureechidna.png"},
|
||||
},
|
||||
child_texture = {
|
||||
{"textureechidnababy.png"},
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
sounds = {
|
||||
|
||||
},
|
||||
walk_velocity = 0.5,
|
||||
run_velocity = 0.5,
|
||||
runaway = false,
|
||||
jump = false,
|
||||
jump_height = 3,
|
||||
pushable = true,
|
||||
stay_near = {{"animalworld:termitemould", "naturalbiomes:outback_grass", "naturalbiomes:outback_grass3", "naturalbiomes:outback_grass2", "naturalbiomes:outback_grass4", "naturalbiomes:outback_grass5", "livingdesert:cactus", "livingdesert:cactus3", "livingdesert:cactus2", "livingdesert:cactus4"}, 6},
|
||||
follow = {"fishing:bait:worm", "bees:frame_full", "ethereal:worm", "animalworld:ant", "animalworld:termite"},
|
||||
view_range = 3,
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "mobs:leather", chance = 1, min = 0, max = 2},
|
||||
},
|
||||
water_damage = 1,
|
||||
lava_damage = 5,
|
||||
light_damage = 0,
|
||||
fear_height = 2,
|
||||
animation = {
|
||||
speed_normal = 70,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
stand1_start = 100,
|
||||
stand1_end = 200,
|
||||
walk_start = 200,
|
||||
walk_end = 300,
|
||||
punch_start = 300,
|
||||
punch_end = 400,
|
||||
die_start = 300,
|
||||
die_end = 400,
|
||||
die_speed = 50,
|
||||
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, 15, 25, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
local spawn_on = {"mcl_core:podzol", "default:dirt_withforest_litter"}
|
||||
|
||||
if minetest.get_mapgen_setting("mg_name") ~= "v6" then
|
||||
spawn_on = {"mcl_core:podzol", "default:dirt_withforest_litter", "default:dry_dirt_with_dry_grass"}
|
||||
end
|
||||
|
||||
if minetest.get_modpath("ethereal") then
|
||||
spawn_on = {"ethereal:grass_grove", "ethereal:green_dirt", "default:dirt_with_rainforest_litter"}
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:echidna",
|
||||
nodes = {"naturalbiomes:outback_litter", "mcl_core:sand", "mcl_core:redsand"},
|
||||
neighbors = {"group:grass", "mcl_core:deadbush", "mcl_core:cactus", "group:normal_grass", "naturalbiomes:outback_grass", "naturalbiomes:outback_grass3", "naturalbiomes:outback_grass2", "naturalbiomes:outback_grass4", "naturalbiomes:outback_grass5"},
|
||||
min_light = 0,
|
||||
interval = 30,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 2,
|
||||
min_height = 5,
|
||||
max_height = 50,
|
||||
day_toggle = true,
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:echidna", S("Echidna"), "aechidna.png")
|
||||
|
||||
|
||||
mobs:alias_mob("animalworld:echidna", "animalworld:echidna") -- compatibility
|
||||
|
125
mods/animalworld/elephant.lua
Normal file
125
mods/animalworld/elephant.lua
Normal file
|
@ -0,0 +1,125 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
local random = math.random
|
||||
|
||||
mobs:register_mob("animalworld:elephant", {
|
||||
stepheight = 2,
|
||||
type = "monster",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
attack_animals = true,
|
||||
reach = 3,
|
||||
damage = 16,
|
||||
hp_min = 75,
|
||||
hp_max = 120,
|
||||
armor = 100,
|
||||
collisionbox = {-1.0, -0.01, -1.0, 1.0, 2, 1.0},
|
||||
visual = "mesh",
|
||||
mesh = "Elephant.b3d",
|
||||
visual_size = {x = 1.0, y = 1.0},
|
||||
textures = {
|
||||
{"textureelephant.png"},
|
||||
},
|
||||
sounds = {
|
||||
random = "animalworld_elephant",
|
||||
attack = "animalworld_elephant",
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
walk_velocity = 2,
|
||||
run_velocity = 4,
|
||||
runaway = false,
|
||||
jump = false,
|
||||
jump_height = 6,
|
||||
stepheight = 2,
|
||||
knock_back = false,
|
||||
stay_near = {{"default:dry_grass_1", "default:dry_grass_2", "default:dry_grass_3", "default:dry_grass_4"}, 6},
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "animalworld:elephantcorpse", chance = 7, min = 1, max = 1},
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
fear_height = 4,
|
||||
pathfinding = true,
|
||||
animation = {
|
||||
speed_normal = 80,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
walk_start = 300,
|
||||
walk_end = 450,
|
||||
punch_start = 100,
|
||||
punch_end = 300,
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
|
||||
follow = {
|
||||
"ethereal:banana_single", "mcl_farming:beetroot_item", "mcl_farming:carrot_item", "mcl_farming:melon_item", "mcl_farming:potato_item", "mcl_farming:pumpkin_item", "mcl_farming:wheat_item", "mcl_farming:sweet_berry", "farming:corn_cob", "farming:cabbage",
|
||||
"default:apple", "farming:cabbage", "farming:carrot", "farming:cucumber", "farming:grapes", "farming:pineapple", "ethereal:orange", "ethereal:coconut", "ethereal:coconut_slice", "livingdesert:date_palm_fruits", "livingdesert:figcactus_fruit", "default:dry_grass_1", "default:dry_grass_2", "default:dry_grass_3", "default:grass_1", "default:grass_2", "default:grass_3", "default:grass_4", "default:grass_5", "default:marram_grass_1", "default:marram_grass_2", "default:marram_grass_3", "default:coldsteppe_grass_1", "default:coldsteppe_grass_2", "default:coldsteppe_grass_3", "default:coldsteppe_grass_4", "default:coldsteppe_grass_5", "default:coldsteppe_grass_6", "naturalbiomes:savanna_grass1", "naturalbiomes:savanna_grass2", "naturalbiomes:savanna_grass3", "naturalbiomes:outback_grass1", "naturalbiomes:outback_grass2", "naturalbiomes:outback_grass3", "naturalbiomes:outback_grass4", "naturalbiomes:outback_grass5", "naturalbiomes:outback_grass6", "naturalbiomes:med_grass1", "naturalbiomes:med_grass2", "naturalbiomes:heath_grass1", "naturalbiomes:heath_grass2", "naturalbiomes:heath_grass3", "naturalbiomes:alpine_grass1", "naturalbiomes:alpine_grass2", "naturalbiomes:heath_grass2", "naturalbiomes:heath_grass3", "naturalbiomes:", "naturalbiomes:", "naturalbiomes:bushland_grass", "naturalbiomes:bushland_grass2", "naturalbiomes:bushland_grass3", "naturalbiomes:bushland_grass4", "naturalbiomes:bushland_grass5", "naturalbiomes:bushland_grass6", "naturalbiomes:bushland_grass7", "farming:melon_8", "farming:pumpkin_8", "ethereal:strawberry", "farming:blackberry", "naturalbiomes:blackberry", "naturalbiomes:cowberry", "naturalbiomes:banana", "naturalbiomes:banana_bunch", "farming:blueberries", "ethereal:orange", "livingdesert:figcactus_fruit", "livingfloatlands:paleojungle_clubmoss_fruit", "ethereal:banana", "livingdesert:date_palm_fruits", "farming:melon_slice", "naturalbiomes:wildrose", "naturalbiomes:banana", "group:grass", "group:normal_grass"
|
||||
},
|
||||
view_range = 6,
|
||||
replace_rate = 10,
|
||||
replace_what = {"farming:soil", "farming:soil_wet"},
|
||||
replace_with = "default:dirt",
|
||||
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, 0, 25, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
if minetest.get_modpath("ethereal") then
|
||||
spawn_on = {"default:dry_dirt_with_dry_grass"}, {"default:dirt_with_rainforest_litter"}, {"ethereal:grove_dirt"}, {"ethereal:bamboo_dirt"}
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:elephant",
|
||||
nodes = {"default:dry_dirt_with_dry_grass", "mcl_core:dirt_with_grass", "mcl_core:dirt_with_grass"},
|
||||
neighbors = {"group:grass", "group:normal_grass", "mcl_trees:leaves_acacia", "mcl_core:acacialeaves"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 3,
|
||||
min_height = 0,
|
||||
max_height = 65,
|
||||
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:dry_dirt_with_dry_grass"})
|
||||
|
||||
if nods and #nods > 0 then
|
||||
|
||||
-- min herd of 3
|
||||
local iter = math.min(#nods, 3)
|
||||
|
||||
-- print("--- elephant 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 = "animalworld:elephant", child = kid})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:elephant", S("Elephant"), "aelephant.png")
|
91
mods/animalworld/fox.lua
Normal file
91
mods/animalworld/fox.lua
Normal file
|
@ -0,0 +1,91 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:fox", {
|
||||
stepheight = 1,
|
||||
type = "animal",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
group_attack = true,
|
||||
owner_loyal = true,
|
||||
attack_npcs = false,
|
||||
reach = 2,
|
||||
damage = 3,
|
||||
hp_min = 10,
|
||||
hp_max = 25,
|
||||
armor = 100,
|
||||
collisionbox = {-0.5, -0.01, -0.5, 0.5, 0.95, 0.5},
|
||||
visual = "mesh",
|
||||
mesh = "Fox.b3d",
|
||||
textures = {
|
||||
{"texturefox.png"},
|
||||
{"texturefox2.png"},
|
||||
{"texturefox3.png"},
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
sounds = {
|
||||
random = "animalworld_fox3",
|
||||
attack = "animalworld_fox",
|
||||
damage = "animalworld_fox2",
|
||||
},
|
||||
walk_velocity = 2,
|
||||
run_velocity = 3,
|
||||
jump = true,
|
||||
jump_height = 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:scorpion", "animalworld:polarbear", "animalworld:leopardseal", "animalworld:stellerseagle", "player", "animalworld:wolf", "animalworld:panda", "animalworld:stingray", "marinaramobs:jellyfish", "marinaramobs:octopus", "livingcavesmobs:biter", "livingcavesmobs:flesheatingbacteria"},
|
||||
pushable = true,
|
||||
stay_near = {{"default:pine_needles", "animalworld:animalworld_tundrashrub5", "animalworld:animalworld_tundrashrub1", "animalworld:animalworld_tundrashrub2", "animalworld:animalworld_tundrashrub3", "animalworld:animalworld_tundrashrub4"}, 6},
|
||||
follow = {"default:apple", "farming:potato", "ethereal:banana_bread", "farming:melon_slice", "farming:carrot", "farming:seed_rice", "farming:corn", "ethereal:fish_raw", "animalworld:rawfish", "mobs_fish:tropical",
|
||||
"mobs:meat_raw", "animalworld:rabbit_raw", "xocean:fish_edible", "fishing:fish_raw", "water_life:meat_raw", "fishing:carp_raw", "animalworld:chicken_raw", "naturalbiomes:blackberry", "mobs:meatblock_raw", "animalworld:chicken_raw", "livingfloatlands:ornithischiaraw", "livingfloatlands:largemammalraw", "livingfloatlands:theropodraw", "livingfloatlands:sauropodraw", "animalworld:raw_athropod", "animalworld:whalemeat_raw", "animalworld:rabbit_raw", "nativevillages:chicken_raw", "mobs:meat_raw", "animalworld:pork_raw", "people:mutton:raw"},
|
||||
view_range = 12,
|
||||
drops = {
|
||||
{name = "mobs:leather", chance = 7, min = 1, max = 1},
|
||||
},
|
||||
water_damage = 1,
|
||||
lava_damage = 5,
|
||||
light_damage = 0,
|
||||
fear_height = 2,
|
||||
animation = {
|
||||
speed_normal = 120,
|
||||
stand_speed = 50,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
stand2_start = 100,
|
||||
stand2_end = 200,
|
||||
walk_start = 200,
|
||||
walk_end = 300,
|
||||
punch_start = 300,
|
||||
punch_end = 400,
|
||||
die_start = 300,
|
||||
die_end = 400,
|
||||
die_speed = 50,
|
||||
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, 25, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:fox",
|
||||
nodes = {"default:permafrost", "mcl_core:snow", "default:permafrost_with_moss", "default:permafrost_with_stones"},
|
||||
neighbors = {"animalworld:animalworld_tundrashrub1", "mcl_core:sprucetree", "animalworld:animalworld_tundrashrub2", "animalworld:animalworld_tundrashrub1", "animalworld:animalworld_tundrashrub2", "animalworld:animalworld_tundrashrub3", "animalworld:animalworld_tundrashrub4"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 1000, -- 15000
|
||||
active_object_count = 2,
|
||||
min_height = 1,
|
||||
max_height = 80,
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:fox", S("Fox"), "afox.png")
|
||||
|
||||
|
||||
mobs:alias_mob("animalworld:fox", "animalworld:fox") -- compatibility
|
||||
|
91
mods/animalworld/frog.lua
Normal file
91
mods/animalworld/frog.lua
Normal file
|
@ -0,0 +1,91 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:frog", {
|
||||
stepheight = 3,
|
||||
type = "animal",
|
||||
passive = true,
|
||||
reach = 1,
|
||||
attack_npcs = false,
|
||||
damage = 1,
|
||||
hp_min = 5,
|
||||
hp_max = 25,
|
||||
armor = 100,
|
||||
collisionbox = {-0.268, -0.01, -0.268, 0.268, 0.25, 0.268},
|
||||
visual = "mesh",
|
||||
mesh = "Frog.b3d",
|
||||
drawtype = "front",
|
||||
textures = {
|
||||
{"texturefrog.png"},
|
||||
|
||||
},
|
||||
sounds = {
|
||||
random = "animalworld_frog",},
|
||||
makes_footstep_sound = true,
|
||||
walk_velocity = 2,
|
||||
run_velocity = 3,
|
||||
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:scorpion", "animalworld:polarbear", "animalworld:leopardseal", "animalworld:stellerseagle", "player", "animalworld:wolf", "animalworld:panda", "animalworld:stingray", "marinaramobs:jellyfish", "marinaramobs:octopus", "livingcavesmobs:biter", "livingcavesmobs:flesheatingbacteria"},
|
||||
jump = true,
|
||||
jump_height = 6,
|
||||
stay_near = {{"mcl_flowers:waterlily", "naturalbiomes:alderswamp_reed3", "mcl_core:reeds", "naturalbiomes:alderswamp_reed2", "naturalbiomes:alderswamp_reed", "naturalbiomes:alderswamp_yellowflower", "default:grass", "default:grass_2", "default:grass_3"}, 5},
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
fear_height = 6,
|
||||
animation = {
|
||||
speed_normal = 100,
|
||||
stand_start = 1,
|
||||
stand_end = 100,
|
||||
walk_start = 100,
|
||||
walk_end = 200,
|
||||
fly_start = 250, -- swim animation
|
||||
fly_end = 350,
|
||||
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", "mcl_core:water_source", "mcl_core:water_flowing"},
|
||||
floats = 0,
|
||||
follow = {"fishing:bait:worm", "ethereal:worm", "animalworld:ant", "animalworld:termite", "animalworld:cockroach"},
|
||||
view_range = 6,
|
||||
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,
|
||||
})
|
||||
|
||||
|
||||
local spawn_on = "default:sand"
|
||||
|
||||
if minetest.get_modpath("ethereal") then
|
||||
spawn_on = "ethereal:prairie_dirt", "default:dirt_with_grass", "ethereal:green_dirt"
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:frog",
|
||||
nodes = {"mcl_core:dirt_with_grass", "default:dirt_with_grass", "default:dirt_with_rainforest_litter", "naturalbiomes:alderswamp_litter", "naturalbiomes:heath_litter"},
|
||||
neighbors = {"naturalbiomes:alderswamp_reed3", "naturalbiomes:alderswamp_reed2", "naturalbiomes:alderswamp_reed", "naturalbiomes:alderswamp_yellowflower", "group:grass", "group:normal_grass", "mcl_flowers:tallgrass", "mcl_flowers:tulip_red", "mcl_flowers:sunflower", "mcl_flowers:poppy", "mcl_core:birchtree", "mcl_trees:tree_birch", "mcl_trees:tree_oak", "mcl_trees:tree_dark_oak", "mcl_core:tree", "mcl_trees:leaves_oak", "mcl_trees:leaves_dark_oak", "mcl_core:leaves", "mcl_core:birchleaves", "mcl_core:darkleaves", "mcl_core:spruceleaves"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 1000, -- 15000
|
||||
active_object_count = 2,
|
||||
min_height = -10,
|
||||
max_height = 2,
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
mobs:register_egg("animalworld:frog", S("Frog"), "afrog.png", 0)
|
||||
|
||||
|
||||
mobs:alias_mob("animalworld:frog", "animalworld:frog") -- compatibility
|
||||
|
||||
|
132
mods/animalworld/giraffe.lua
Normal file
132
mods/animalworld/giraffe.lua
Normal file
|
@ -0,0 +1,132 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
local random = math.random
|
||||
|
||||
mobs:register_mob("animalworld:giraffe", {
|
||||
type = "animal",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
attack_animals = false,
|
||||
attack_monsters = true,
|
||||
group_attack = true,
|
||||
reach = 3,
|
||||
damage = 18,
|
||||
hp_min = 100,
|
||||
hp_max = 160,
|
||||
armor = 100,
|
||||
collisionbox = {-1, -0.01, -1, 1, 2.0, 1},
|
||||
visual = "mesh",
|
||||
mesh = "Giraffe.b3d",
|
||||
visual_size = {x = 1.0, y = 1.0},
|
||||
textures = {
|
||||
{"texturegiraffe.png"},
|
||||
},
|
||||
sounds = {
|
||||
random = "animalworld_giraffe",
|
||||
attack = "animalworld_giraffe2",
|
||||
distance = 13,
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
walk_velocity = 1.0,
|
||||
run_velocity = 2,
|
||||
walk_chance = 30,
|
||||
runaway = false,
|
||||
jump = false,
|
||||
jump_height = 6,
|
||||
stepheight = 1,
|
||||
stay_near = {{"naturalbiomes:savanna_flowergrass", "naturalbiomes:savanna_grass", "naturalbiomes:savanna_grass2", "naturalbiomes:savanna_grass3", "naturalbiomes:savannagrass"}, 6},
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "mobs:leather", chance = 1, min = 0, max = 2},
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
fear_height = 2,
|
||||
knock_back = false,
|
||||
pathfinding = true,
|
||||
animation = {
|
||||
speed_normal = 50,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
stand1_start = 100,
|
||||
stand1_end = 200,
|
||||
stand2_start = 0,
|
||||
stand2_end = 100,
|
||||
stand3_start = 0,
|
||||
stand3_end = 100,
|
||||
walk_start = 200,
|
||||
walk_end = 300,
|
||||
punch_start = 300,
|
||||
punch_end = 400,
|
||||
die_start = 300,
|
||||
die_end = 400,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
|
||||
follow = {"default:apple", "mcl_trees:leaves_oak", "mcl_trees:leaves_dark_oak", "mcl_core:leaves", "mcl_core:birchleaves", "mcl_core:darkleaves", "mcl_core:spruceleaves", "default:dry_dirt_with_dry_grass", "mcl_trees:leaves_oak", "mcl_trees:leaves_dark_oak", "farming:seed_wheat", "default:junglegrass", "farming:seed_oat", "naturalbiomes:savannagrass", "naturalbiomes:savannagrassmall", "naturalbiomes:savanna_flowergrass", "default:acacia_leaves", "naturalbiomes:acacia_leaves"},
|
||||
view_range = 10,
|
||||
replace_rate = 10,
|
||||
replace_what = {"farming:soil", "farming:soil_wet"},
|
||||
replace_with = "default:dirt",
|
||||
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, 0, 15, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
if minetest.get_modpath("ethereal") then
|
||||
spawn_on = {"mcl_core:podzol", "default:dirt_withforest_litter", "ethereal:green_dirt", "ethereal:grass_grove"}
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:giraffe",
|
||||
nodes = {"naturalbiomes:savannalitter", "mcl_core:dirt_with_grass"},
|
||||
neighbors = {"naturalbiomes:acacia_trunk", "mcl_core:acaciatree", "mcl_trees:tree_acacia"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 3,
|
||||
min_height = 5,
|
||||
max_height = 100,
|
||||
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},
|
||||
{"naturalbiomes:savannalitter"})
|
||||
|
||||
if nods and #nods > 0 then
|
||||
|
||||
-- min herd of 3
|
||||
local iter = math.min(#nods, 3)
|
||||
|
||||
-- print("--- boar 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 = "animalworld:giraffe", child = kid})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:giraffe", ("Giraffe"), "agiraffe.png")
|
128
mods/animalworld/gnu.lua
Normal file
128
mods/animalworld/gnu.lua
Normal file
|
@ -0,0 +1,128 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
local random = math.random
|
||||
|
||||
mobs:register_mob("animalworld:gnu", {
|
||||
stepheight = 2,
|
||||
type = "animal",
|
||||
passive = true,
|
||||
attack_type = "dogfight",
|
||||
group_attack = true,
|
||||
owner_loyal = true,
|
||||
attack_npcs = false,
|
||||
reach = 2,
|
||||
damage = 2,
|
||||
hp_min = 30,
|
||||
hp_max = 60,
|
||||
armor = 100,
|
||||
collisionbox = {-0.6, -0.01, -0.6, 0.6, 0.95, 0.6},
|
||||
visual = "mesh",
|
||||
mesh = "Gnu.b3d",
|
||||
textures = {
|
||||
{"texturegnu.png"},
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
sounds = {
|
||||
random = "animalworld_gnu",
|
||||
|
||||
},
|
||||
walk_velocity = 1,
|
||||
run_velocity = 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: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 = 3,
|
||||
pushable = true,
|
||||
stay_near = {{"default:dry_grass_1", "mcl_flowers:tallgrass", "mcl_core:deadbush", "mcl_bamboo:bamboo", "default:dry_grass_2", "default:dry_grass_3", "default:dry_grass_4"}, 6},
|
||||
follow = {"default:apple", "mcl_flowers:tallgrass", "mcl_core:deadbush", "mcl_bamboo:bamboo", "default:dry_dirt_with_dry_grass", "farming:seed_wheat", "default:junglegrass", "farming:seed_oat", "default:dry_grass_1", "default:dry_grass_2", "default:dry_grass_3", "default:grass_1", "default:grass_2", "default:grass_3", "default:grass_4", "default:grass_5", "default:marram_grass_1", "default:marram_grass_2", "default:marram_grass_3", "default:coldsteppe_grass_1", "default:coldsteppe_grass_2", "default:coldsteppe_grass_3", "default:coldsteppe_grass_4", "default:coldsteppe_grass_5", "default:coldsteppe_grass_6", "naturalbiomes:savanna_grass1", "naturalbiomes:savanna_grass2", "naturalbiomes:savanna_grass3", "naturalbiomes:outback_grass1", "naturalbiomes:outback_grass2", "naturalbiomes:outback_grass3", "naturalbiomes:outback_grass4", "naturalbiomes:outback_grass5", "naturalbiomes:outback_grass6", "naturalbiomes:med_grass1", "naturalbiomes:med_grass2", "naturalbiomes:heath_grass1", "naturalbiomes:heath_grass2", "naturalbiomes:heath_grass3", "naturalbiomes:alpine_grass1", "naturalbiomes:alpine_grass2", "naturalbiomes:heath_grass2", "naturalbiomes:heath_grass3", "naturalbiomes:", "naturalbiomes:", "naturalbiomes:bushland_grass", "naturalbiomes:bushland_grass2", "naturalbiomes:bushland_grass3", "naturalbiomes:bushland_grass4", "naturalbiomes:bushland_grass5", "naturalbiomes:bushland_grass6", "naturalbiomes:bushland_grass7", "group:grass", "group:normal_grass"},
|
||||
view_range = 10,
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "animalworld:gnucorpse", chance = 7, min = 1, max = 1},
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 5,
|
||||
light_damage = 0,
|
||||
fear_height = 3,
|
||||
animation = {
|
||||
speed_normal = 60,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
walk_start = 100,
|
||||
walk_end = 200,
|
||||
run_speed = 100,
|
||||
run_start = 200,
|
||||
run_end = 300,
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
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, 0, 15, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
local spawn_on = {"default:dry_dirt_with_dry_grass"}
|
||||
|
||||
if minetest.get_mapgen_setting("mg_name") ~= "v6" then
|
||||
spawn_on = {"default:dry_dirt_with_dry_grass"}
|
||||
end
|
||||
|
||||
if minetest.get_modpath("ethereal") then
|
||||
spawn_on = {"default:dry_dirt_with_dry_grass", "ethereal:prairie_dirt"}
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:gnu",
|
||||
nodes = {"default:dry_dirt_with_dry_grass", "mcl_core:dirt_with_grass", "mcl_core:dirt_with_grass"},
|
||||
neighbors = {"group:grass", "group:normal_grass", "mcl_trees:leaves_acacia", "mcl_core:acacialeaves"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 3,
|
||||
min_height = 20,
|
||||
max_height = 50,
|
||||
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:dry_dirt_with_dry_grass"})
|
||||
|
||||
if nods and #nods > 0 then
|
||||
|
||||
-- min herd of 3
|
||||
local iter = math.min(#nods, 3)
|
||||
|
||||
-- print("--- gnu 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 = "animalworld:gnu", child = kid})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:gnu", ("Gnu"), "agnu.png")
|
||||
|
||||
|
||||
mobs:alias_mob("animalworld:gnu", "animalworld:gnu") -- compatibility
|
||||
|
86
mods/animalworld/goby.lua
Normal file
86
mods/animalworld/goby.lua
Normal file
|
@ -0,0 +1,86 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:goby", {
|
||||
stepheight = 0.0,
|
||||
type = "animal",
|
||||
passive = true,
|
||||
attack_type = "dogfight",
|
||||
attack_animals = false,
|
||||
reach = 1,
|
||||
damage = 0,
|
||||
hp_min = 5,
|
||||
hp_max = 5,
|
||||
armor = 100,
|
||||
collisionbox = {-0.2, -0.01, -0.2, 0.2, 0.2, 0.2},
|
||||
visual = "mesh",
|
||||
mesh = "Goby.b3d",
|
||||
visual_size = {x = 1.0, y = 1.0},
|
||||
textures = {
|
||||
{"texturegoby.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", "mcl_core:water_source", "mcl_core: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 = "animalworld:rawfish", chance = 1, min = 1, max = 1},
|
||||
},
|
||||
water_damage = 0,
|
||||
air_damage = 1,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
fear_height = 2,
|
||||
stay_near = {{"marinara:sand_with_alage", "marinara:sand_with_seagrass", "mcl_ocean:bubble_coral", "mcl_ocean:tube_coral", "mcl_ocean:fire_coral", "mcl_ocean:brain_coral", "mcl_ocean:seagrass_gravel", "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 = 200,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
walk_start = 100,
|
||||
walk_end = 200,
|
||||
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", "mcl_core:water_source", "mcl_core:water_flowing"},
|
||||
floats = 0,
|
||||
follow = {
|
||||
"ethereal:worm", "seaweed", "fishing:bait_worm",
|
||||
"animalworld:ant", "animalworld:termite", "animalworld:fishfood"
|
||||
},
|
||||
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, 0, 25, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:goby",
|
||||
nodes = {"mcl_core:water_source", "default:water_source", "default:river_water_source"},
|
||||
neighbors = {"default:coral_cyan", "default:coral_green", "default:coral_pink", "mcl_ocean:bubble_coral", "mcl_ocean:tube_coral", "mcl_ocean:fire_coral", "mcl_ocean:brain_coral", "mcl_ocean:seagrass_gravel"},
|
||||
min_light = 0,
|
||||
interval = 30,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 4,
|
||||
min_height = -15,
|
||||
max_height = 30,
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:goby", S("Goby"), "agoby.png")
|
80
mods/animalworld/goldenmole.lua
Normal file
80
mods/animalworld/goldenmole.lua
Normal file
|
@ -0,0 +1,80 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:goldenmole", {
|
||||
type = "animal",
|
||||
stepheight = 1,
|
||||
passive = true,
|
||||
attack_type = "dogfight",
|
||||
attack_npcs = false,
|
||||
group_attack = true,
|
||||
reach = 1,
|
||||
damage = 0,
|
||||
hp_min = 35,
|
||||
hp_max = 135,
|
||||
armor = 100,
|
||||
collisionbox = {-0.3, -0.01, -0.3, 0.3, 0.3, 0.3},
|
||||
visual = "mesh",
|
||||
mesh = "Goldenmole.b3d",
|
||||
textures = {
|
||||
{"texturegoldenmole.png"},
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
sounds = {
|
||||
random = "animalworld_goldenmole",
|
||||
},
|
||||
walk_velocity = 1,
|
||||
run_velocity = 3,
|
||||
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,
|
||||
jump_height = 6,
|
||||
stay_near = {{"livingdesert:date_palm_leaves", "mcl_core:deadbush", "mcl_core:cactus", "livingdesert:yucca", "default:dry_shrub", "livingdesert:figcactus_trunk", "livingdesert:coldsteppe_grass1", "livingdesert:cactus", "livingdesert:cactus3", "livingdesert:cactus2", "livingdesert:cactus4"}, 5},
|
||||
pushable = true,
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 3},
|
||||
|
||||
},
|
||||
water_damage = 5,
|
||||
lava_damage = 5,
|
||||
light_damage = 0,
|
||||
fear_height = 2,
|
||||
animation = {
|
||||
stand_start = 100,
|
||||
stand_end = 300,
|
||||
stand_speed = 100,
|
||||
walk_start = 0,
|
||||
walk_end = 100,
|
||||
walk_speed = 300,
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
follow = {"fishing:bait:worm", "bees:frame_full", "ethereal:worm", "animalworld:ant", "animalworld:termite", "animalworld:cockroach"},
|
||||
view_range = 10,
|
||||
|
||||
})
|
||||
|
||||
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:goldenmole",
|
||||
nodes = {"default:desert_sand", "mcl_core:sand", "mcl_core:redsand"},
|
||||
neighbors = {"livingdesert:date_palm_leaves", "mcl_core:deadbush", "mcl_core:cactus", "livingdesert:yucca", "default:dry_shrub", "livingdesert:figcactus_trunk", "livingdesert:coldsteppe_grass1", "livingdesert:cactus", "livingdesert:cactus3", "livingdesert:cactus2", "livingdesert:cactus4", "default:cactus"},
|
||||
min_light = 14,
|
||||
interval = 60,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 2,
|
||||
min_height = 10,
|
||||
max_height = 55,
|
||||
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
mobs:register_egg("animalworld:goldenmole", S("Golden Mole"), "agoldenmole.png")
|
||||
|
||||
|
||||
mobs:alias_mob("animalworld:goldenmole", "animalworld:goldenmole") -- compatibility
|
||||
|
104
mods/animalworld/goose.lua
Normal file
104
mods/animalworld/goose.lua
Normal file
|
@ -0,0 +1,104 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
local random = math.random
|
||||
|
||||
mobs:register_mob("animalworld:goose", {
|
||||
stepheight = 6,
|
||||
type = "animal",
|
||||
passive = true,
|
||||
attack_type = "dogfight",
|
||||
attack_animals = false,
|
||||
owner_loyal = true,
|
||||
reach = 2,
|
||||
damage = 1,
|
||||
hp_min = 15,
|
||||
hp_max = 30,
|
||||
armor = 100,
|
||||
collisionbox = {-0.3, -0.01, -0.3, 0.3, 0.5, 0.3},
|
||||
visual = "mesh",
|
||||
mesh = "Goose.b3d",
|
||||
visual_size = {x = 1.0, y = 1.0},
|
||||
textures = {
|
||||
{"texturegoose.png"},
|
||||
},
|
||||
sounds = {
|
||||
attack = "animalworld_goose2",
|
||||
random = "animalworld_goose",
|
||||
damage = "animalworld_goose3",
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
walk_velocity = 1,
|
||||
run_velocity = 3,
|
||||
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:scorpion", "animalworld:polarbear", "animalworld:leopardseal", "animalworld:stellerseagle", "animalworld:wolf", "animalworld:panda", "animalworld:stingray", "marinaramobs:jellyfish", "marinaramobs:octopus", "livingcavesmobs:biter", "livingcavesmobs:flesheatingbacteria"},
|
||||
jump = true,
|
||||
jump_height = 6,
|
||||
stepheight = 1,
|
||||
stay_near = {{"naturalbiomes:alderswamp_reed3", "naturalbiomes:alderswamp_reed2", "naturalbiomes:alderswamp_reed", "naturalbiomes:alderswamp_yellowflower", "naturalbiomes:waterlily"}, 5},
|
||||
drops = {
|
||||
{name = "animalworld:chicken_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "animalworld:chicken_feather", chance = 1, min = 1, max = 1},
|
||||
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
fear_height = 2,
|
||||
animation = {
|
||||
speed_normal = 60,
|
||||
stand_speed = 30,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
stand1_start = 100,
|
||||
stand1_end = 200,
|
||||
stand2_start = 200,
|
||||
stand2_end = 300,
|
||||
walk_start = 300,
|
||||
walk_end = 400,
|
||||
fly_start = 450, -- swim animation
|
||||
fly_end = 550,
|
||||
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", "mcl_core:water_source", "mcl_core:water_flowing"},
|
||||
floats = 1,
|
||||
follow = {
|
||||
"default:dry_dirt_with_dry_grass", "mcl_flowers:tallgrass", "mcl_core:deadbush", "mcl_bamboo:bamboo", "farming:seed_wheat", "default:junglegrass", "farming:seed_oat", "naturalbiomes:savannagrass", "naturalbiomes:savannagrassmall", "naturalbiomes:alderswamp_reed", "naturalbiomes:alderswamp_reed2", "naturalbiomes:alderswamp_reed3", "farming:lettuce", "farming:cabbage", "ethereal:snowygrass", "default:dry_grass_1", "default:dry_grass_2", "default:dry_grass_3", "default:grass_1", "default:grass_2", "default:grass_3", "default:grass_4", "default:grass_5", "default:marram_grass_1", "default:marram_grass_2", "default:marram_grass_3", "default:coldsteppe_grass_1", "default:coldsteppe_grass_2", "default:coldsteppe_grass_3", "default:coldsteppe_grass_4", "default:coldsteppe_grass_5", "default:coldsteppe_grass_6", "naturalbiomes:savanna_grass1", "naturalbiomes:savanna_grass2", "naturalbiomes:savanna_grass3", "naturalbiomes:outback_grass1", "naturalbiomes:outback_grass2", "naturalbiomes:outback_grass3", "naturalbiomes:outback_grass4", "naturalbiomes:outback_grass5", "naturalbiomes:outback_grass6", "naturalbiomes:med_grass1", "naturalbiomes:med_grass2", "naturalbiomes:heath_grass1", "naturalbiomes:heath_grass2", "naturalbiomes:heath_grass3", "naturalbiomes:alpine_grass1", "naturalbiomes:alpine_grass2", "naturalbiomes:heath_grass2", "naturalbiomes:heath_grass3", "naturalbiomes:", "naturalbiomes:", "naturalbiomes:bushland_grass", "naturalbiomes:bushland_grass2", "naturalbiomes:bushland_grass3", "naturalbiomes:bushland_grass4", "naturalbiomes:bushland_grass5", "naturalbiomes:bushland_grass6", "naturalbiomes:bushland_grass7", "group:grass", "group:normal_grass"
|
||||
},
|
||||
|
||||
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 minetest.get_modpath("ethereal") then
|
||||
spawn_on = {"mcl_core:podzol", "default:dirt_withforest_litter", "ethereal:grove_dirt"}
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:goose",
|
||||
nodes = {"naturalbiomes:alderswamp_litter", "default:permafrost", "mcl_core:dirt_with_grass"},
|
||||
neighbors = {"naturalbiomes:alderswamp_reed3", "naturalbiomes:alderswamp_reed2", "naturalbiomes:alderswamp_reed", "mcl_flowers:waterlily", "mcl_ocean:seagrass:sand", "mcl_core:reeds", "naturalbiomes:alderswamp_yellowflower", "group:grass", "group:normal_grass", "animalworld:animalworld_tundrashrub1", "animalworld:animalworld_tundrashrub2"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 1000, -- 15000
|
||||
active_object_count = 4,
|
||||
min_height = -1,
|
||||
max_height = 3,
|
||||
day_toggle = true,
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:goose", S("Goose"), "agoose.png")
|
||||
|
182
mods/animalworld/hare.lua
Normal file
182
mods/animalworld/hare.lua
Normal file
|
@ -0,0 +1,182 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:hare", {
|
||||
stepheight = 1,
|
||||
type = "animal",
|
||||
passive = true,
|
||||
reach = 1,
|
||||
hp_min = 15,
|
||||
hp_max = 40,
|
||||
armor = 100,
|
||||
collisionbox = {-0.268, -0.01, -0.268, 0.268, 0.5, 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 = {"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:scorpion", "animalworld:polarbear", "animalworld:leopardseal", "animalworld:stellerseagle", "player", "animalworld:wolf", "animalworld:panda", "animalworld:stingray", "marinaramobs:jellyfish", "marinaramobs:octopus", "livingcavesmobs:biter", "livingcavesmobs:flesheatingbacteria"},
|
||||
jump = true,
|
||||
jump_height = 6,
|
||||
drops = {
|
||||
{name = "animalworld:rabbit_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "animalworld: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,
|
||||
die_start = 100,
|
||||
die_end = 200,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
follow = {"farming:carrot", "mcl_farming:beetroot_item", "mcl_farming:carrot_item", "farming_plus:carrot_item", "default:grass_1", "farming:carrot_7", "farming:carrot_8", "farming_plus:carrot", "farming:lettuce", "farming:cabbage", "ethereal:snowygrass", "default:dry_grass_1", "default:dry_grass_2", "default:dry_grass_3", "default:grass_1", "default:grass_2", "default:grass_3", "default:grass_4", "default:grass_5", "default:marram_grass_1", "default:marram_grass_2", "default:marram_grass_3", "default:coldsteppe_grass_1", "default:coldsteppe_grass_2", "default:coldsteppe_grass_3", "default:coldsteppe_grass_4", "default:coldsteppe_grass_5", "default:coldsteppe_grass_6", "naturalbiomes:savanna_grass1", "naturalbiomes:savanna_grass2", "naturalbiomes:savanna_grass3", "naturalbiomes:outback_grass1", "naturalbiomes:outback_grass2", "naturalbiomes:outback_grass3", "naturalbiomes:outback_grass4", "naturalbiomes:outback_grass5", "naturalbiomes:outback_grass6", "naturalbiomes:med_grass1", "naturalbiomes:med_grass2", "naturalbiomes:heath_grass1", "naturalbiomes:heath_grass2", "naturalbiomes:heath_grass3", "naturalbiomes:alpine_grass1", "naturalbiomes:alpine_grass2", "naturalbiomes:heath_grass2", "naturalbiomes:heath_grass3", "naturalbiomes:", "naturalbiomes:", "naturalbiomes:bushland_grass", "naturalbiomes:bushland_grass2", "naturalbiomes:bushland_grass3", "naturalbiomes:bushland_grass4", "naturalbiomes:bushland_grass5", "naturalbiomes:bushland_grass6", "naturalbiomes:bushland_grass7", "group:grass", "group:normal_grass"},
|
||||
view_range = 8,
|
||||
replace_rate = 10,
|
||||
replace_what = {"farming:carrot_7", "farming:carrot_8", "farming_plus:carrot", "farming:lettuce", "farming:cabbage", "ethereal:snowygrass", "flowers:geranium", "flowers:rose"},
|
||||
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, 0, 5, 0, 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", "default:dirt_with_grass"
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:hare",
|
||||
nodes = {"mcl_core:dirt_with_grass", "default:dirt_with_grass", "naturalbiomes:mediterran_litter", "naturalbiomes:heath_litter", "naturalbiomes:bushland_bushlandlitter"},
|
||||
neighbors = {"naturalbiomes:heath_grass", "mcl_flowers:tallgrass", "mcl_flowers:tulip_red", "mcl_flowers:sunflower", "mcl_flowers:poppy", "naturalbiomes:heath_grass2", "naturalbiomes:heath_grass3", "naturalbiomes:heatherflower", "naturalbiomes:heatherflower2", "naturalbiomes:heatherflower3", "group:grass", "group:normal_grass", "naturalbiomes:med_flower2", "naturalbiomes:med_grass1", "naturalbiomes:med_grass2", "naturalbiomes:med_flower3", "naturalbiomes:bushland_grass4", "naturalbiomes:bushland_grass5", "naturalbiomes:bushland_grass6"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 2,
|
||||
min_height = 5,
|
||||
max_height = 100,
|
||||
day_toggle = true,
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
mobs:register_egg("animalworld:hare", S("Hare"), "ahare.png", 0)
|
||||
|
||||
|
||||
mobs:alias_mob("animalworld:hare", "animalworld:hare") -- compatibility
|
||||
|
||||
|
||||
-- raw rabbit
|
||||
minetest.register_craftitem(":animalworld:rabbit_raw", {
|
||||
description = S("Raw Hare"),
|
||||
inventory_image = "animalworld_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(":animalworld:rabbit_cooked", {
|
||||
description = S("Cooked Hare"),
|
||||
inventory_image = "animalworld_rabbit_cooked.png",
|
||||
on_use = minetest.item_eat(5),
|
||||
groups = {food_meat = 1, food_rabbit = 1, flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "animalworld:rabbit_cooked",
|
||||
recipe = "animalworld:rabbit_raw",
|
||||
cooktime = 5,
|
||||
})
|
||||
|
||||
-- rabbit hide
|
||||
minetest.register_craftitem(":animalworld:rabbit_hide", {
|
||||
description = S("Hare Hide"),
|
||||
inventory_image = "animalworld_rabbit_hide.png",
|
||||
groups = {flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "fuel",
|
||||
recipe = "animalworld:rabbit_hide",
|
||||
burntime = 2,
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
output = "mobs:leather",
|
||||
type = "shapeless",
|
||||
recipe = {
|
||||
"animalworld:rabbit_hide", "animalworld:rabbit_hide",
|
||||
"animalworld:rabbit_hide", "animalworld:rabbit_hide"
|
||||
}
|
||||
})
|
93
mods/animalworld/hermitcrab.lua
Normal file
93
mods/animalworld/hermitcrab.lua
Normal file
|
@ -0,0 +1,93 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:hermitcrab", {
|
||||
stepheight = 3,
|
||||
type = "animal",
|
||||
passive = true,
|
||||
attack_type = "dogfight",
|
||||
group_attack = true,
|
||||
owner_loyal = true,
|
||||
attack_npcs = false,
|
||||
reach = 2,
|
||||
damage = 0,
|
||||
hp_min = 60,
|
||||
hp_max = 120,
|
||||
armor = 100,
|
||||
collisionbox = {-0.2, -0.01, -0.2, 0.2, 0.3, 0.2},
|
||||
visual = "mesh",
|
||||
mesh = "Hermitcrab.b3d",
|
||||
textures = {
|
||||
{"texturehermitcrab.png"},
|
||||
{"texturehermitcrab2.png"},
|
||||
{"texturehermitcrab3.png"},
|
||||
{"texturehermitcrab4.png"},
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
sounds = {
|
||||
random = "animalworld_crab",
|
||||
attack = "animalworld_crab",
|
||||
random = "animalworld_crab",
|
||||
},
|
||||
walk_velocity = 0.4,
|
||||
run_velocity = 0.6,
|
||||
runaway = true,
|
||||
stay_near = {{"naturalbiomes:palmbeach_grass1", "naturalbiomes:palmbeach_grass2", "naturalbiomes:palm_trunk", "naturalbiomes:beach_bush_leaves"}, 5},
|
||||
jump = false,
|
||||
jump_height = 3,
|
||||
floats = 0,
|
||||
pushable = true,
|
||||
follow = {"default:apple", "mcl_flowers:tallgrass", "mcl_mobitems:chicken", "mcl_fishing:pufferfish_raw", "mcl_mobitems:rotten_flesh", "mcl_mobitems:mutton", "mcl_mobitems:beef", "mcl_mobitems:porkchop", "mcl_mobitems:rabbit", "mcl_core:deadbush", "mcl_bamboo:bamboo", "default:dry_dirt_with_dry_grass", "farming:seed_wheat", "default:junglegrass", "farming:seed_oat", "default:kelp", "seaweed", "xocean:kelp",
|
||||
"default:grass", "farming:cucumber", "farming:cabbage", "xocean:seagrass", "farming:lettuce", "default:junglegrass", "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", "naturalbiomes:coconut", "naturalbiomes:banana"},
|
||||
view_range = 5,
|
||||
drops = {
|
||||
{name = "animalworld:raw_athropod", chance = 1, min = 0, max = 1},
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 5,
|
||||
light_damage = 0,
|
||||
fear_height = 3,
|
||||
animation = {
|
||||
speed_normal = 50,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
stand1_start = 100,
|
||||
stand1_end = 200,
|
||||
stand2_start = 300,
|
||||
stand2_end = 400,
|
||||
walk_start = 200,
|
||||
walk_end = 300,
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
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, 35, 35, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:hermitcrab",
|
||||
nodes = {"naturalbiomes:palmbeach_sand", "mcl_core:sand"},
|
||||
neighbors = {"naturalbiomes:palmbeach_grass1", "naturalbiomes:palmbeach_grass2", "naturalbiomes:palmbeach_grass3", "mcl_core:deadbush", "mcl_core:cactus", "mcl_core:jungletree", "mcl_core:jungleleaves", "mcl_trees:leaves_jungle", "mcl_trees:leaves_mangrove"},
|
||||
min_light = 0,
|
||||
interval = 30,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 4,
|
||||
min_height = 2,
|
||||
max_height = 6,
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:hermitcrab", S("Hermit Crab"), "ahermitcrab.png")
|
||||
|
||||
|
||||
mobs:alias_mob("animalworld:hermitcrab", "animalworld:hermitcrab") -- compatibility
|
||||
|
99
mods/animalworld/hippo.lua
Normal file
99
mods/animalworld/hippo.lua
Normal file
|
@ -0,0 +1,99 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:hippo", {
|
||||
stepheight = 2,
|
||||
type = "monster",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
attack_animals = true,
|
||||
reach = 3,
|
||||
damage = 12,
|
||||
hp_min = 65,
|
||||
hp_max = 100,
|
||||
armor = 100,
|
||||
collisionbox = {-0.8, -0.01, -0.8, 0.8, 1.2, 0.8},
|
||||
visual = "mesh",
|
||||
mesh = "HippoNEW.b3d",
|
||||
visual_size = {x = 1.0, y = 1.0},
|
||||
textures = {
|
||||
{"texturehippoNEW.png"},
|
||||
},
|
||||
sounds = {
|
||||
random = "animalworld_hippo",
|
||||
attack = "animalworld_hippo",
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
walk_velocity = 1,
|
||||
run_velocity = 2,
|
||||
runaway = false,
|
||||
jump = true,
|
||||
jump_height = 0.5,
|
||||
stepheight = 2,
|
||||
knock_back = false,
|
||||
stay_near = {{"default:dry_grass_1", "default:dry_grass_2", "default:dry_grass_3", "default:dry_grass_4", "mcl_core:dirt_with_grass", "mcl_core:acaciatree", "mcl_trees:tree_acacia"}, 6},
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "animalworld:hippocorpse", chance = 7, min = 1, max = 1},
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
fear_height = 3,
|
||||
animation = {
|
||||
speed_normal = 50,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
stand_start = 100,
|
||||
stand_end = 200,
|
||||
walk_start = 300,
|
||||
walk_end = 400,
|
||||
fly_start = 300, -- swim animation
|
||||
fly_end = 4000,
|
||||
punch_speed = 100,
|
||||
punch_start = 200,
|
||||
punch_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", "mcl_core:water_source", "mcl_core:water_flowing"},
|
||||
floats = 0,
|
||||
follow = {
|
||||
"ethereal:banana_single", "mcl_farming:beetroot_item", "mcl_farming:carrot_item", "mcl_farming:melon_item", "mcl_farming:potato_item", "mcl_farming:pumpkin_item", "mcl_farming:wheat_item", "mcl_farming:sweet_berry", "farming:corn_cob", "farming:cabbage",
|
||||
"default:apple", "water_life:meat_raw", "xocean:fish_edible", "ethereal:fish_raw", "ethereal:banana", "farming:cabbage", "farming:lettuce", "farming:melon_slice", "group:grass", "group:normal_grass"
|
||||
},
|
||||
|
||||
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, 0, 25, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
if minetest.get_modpath("ethereal") then
|
||||
spawn_on = {"default:dry_dirt_with_dry_grass"}, {"default:dirt_with_rainforest_litter"}, {"ethereal:grove_dirt"}, {"ethereal:prairie_dirt"}
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:hippo",
|
||||
nodes = {"default:dry_dirt_with_dry_grass", "mcl_core:dirt_with_grass"},
|
||||
neighbors = {"group:grass", "group:normal_grass", "mcl_trees:leaves_acacia", "mcl_core:acacialeaves", "mcl_core:acaciatree", "mcl_trees:tree_acacia"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 2,
|
||||
min_height = 0,
|
||||
max_height = 5,
|
||||
day_toggle = true,
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:hippo", S("Hippo"), "ahippo.png")
|
81
mods/animalworld/hunger.lua
Normal file
81
mods/animalworld/hunger.lua
Normal file
|
@ -0,0 +1,81 @@
|
|||
hunger_ng.add_hunger_data('animalworld:egg', {
|
||||
satiates = 1.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:chicken_egg_fried', {
|
||||
satiates = 2.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:chicken_raw', {
|
||||
satiates = 1.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:chicken_cooked', {
|
||||
satiates = 3.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:pork_raw', {
|
||||
satiates = 1.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:pork_cooked', {
|
||||
satiates = 4.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:rawfish', {
|
||||
satiates = 1.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:cookedfish', {
|
||||
satiates = 2.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:rabbit_raw', {
|
||||
satiates = 1.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:rabbit_cooked', {
|
||||
satiates = 3.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:rat_cooked', {
|
||||
satiates = 2.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:raw_athropod', {
|
||||
satiates = 1.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:cooked_athropod', {
|
||||
satiates = 2.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:rawmollusk', {
|
||||
satiates = 1.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:cookedmollusk', {
|
||||
satiates = 2.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:butter', {
|
||||
satiates = 1.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:bucket_milk', {
|
||||
satiates = 1.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:cheese', {
|
||||
satiates = 2.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:anteggs_raw', {
|
||||
satiates = 1.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:anteggs_cooked', {
|
||||
satiates = 2.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:termitequeen', {
|
||||
satiates = 1.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:escargots', {
|
||||
satiates = 5.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:locust_roasted', {
|
||||
satiates = 1.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:bugice', {
|
||||
satiates = 1.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:whalemeat_raw', {
|
||||
satiates = 5.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:whalemeat_cooked', {
|
||||
satiates = 15.0,
|
||||
})
|
||||
hunger_ng.add_hunger_data('animalworld:roastroach', {
|
||||
satiates = 1.0,
|
||||
})
|
120
mods/animalworld/hyena.lua
Normal file
120
mods/animalworld/hyena.lua
Normal file
|
@ -0,0 +1,120 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
local random = math.random
|
||||
|
||||
mobs:register_mob("animalworld:hyena", {
|
||||
stepheight = 2,
|
||||
type = "monster",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
attack_animals = true,
|
||||
reach = 2,
|
||||
damage = 16,
|
||||
hp_min = 35,
|
||||
hp_max = 65,
|
||||
armor = 100,
|
||||
collisionbox = {-0.5, -0.01, -0.5, 0.5, 0.95, 0.5},
|
||||
visual = "mesh",
|
||||
mesh = "Hyena.b3d",
|
||||
visual_size = {x = 1.0, y = 1.0},
|
||||
textures = {
|
||||
{"texturehyena.png"},
|
||||
},
|
||||
sounds = {
|
||||
random = "animalworld_hyena",
|
||||
attack = "animalworld_hyena",
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
walk_velocity = 1,
|
||||
run_velocity = 3,
|
||||
runaway = false,
|
||||
jump = true,
|
||||
jump_height = 6,
|
||||
stepheight = 2,
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "animalworld:hyenacorpse", chance = 7, min = 1, max = 1},
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
fear_height = 4,
|
||||
stay_near = {{"naturalbiomes:savanna_flowergrass", "mcl_trees:leaves_acacia", "mcl_core:acacialeaves", "naturalbiomes:savanna_grass", "naturalbiomes:savanna_grass2", "naturalbiomes:savanna_grass3", "naturalbiomes:savannagrass"}, 6},
|
||||
animation = {
|
||||
speed_normal = 75,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
walk_start = 150,
|
||||
walk_end = 250,
|
||||
punch_start = 250,
|
||||
punch_end = 350,
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
|
||||
follow = {
|
||||
"ethereal:fish_raw", "mcl_mobitems:chicken", "mcl_fishing:pufferfish_raw", "mcl_mobitems:rotten_flesh", "mcl_mobitems:mutton", "mcl_mobitems:beef", "mcl_mobitems:porkchop", "mcl_mobitems:rabbit", "animalworld:rawfish", "mobs_fish:tropical",
|
||||
"mobs:meat_raw", "animalworld:rabbit_raw", "animalworld:pork_raw", "water_life:meat_raw", "xocean:fish_edible", "animalworld:chicken_raw", "mobs:meatblock_raw", "animalworld:chicken_raw", "livingfloatlands:ornithischiaraw", "livingfloatlands:largemammalraw", "livingfloatlands:theropodraw", "livingfloatlands:sauropodraw", "animalworld:raw_athropod", "animalworld:whalemeat_raw", "animalworld:rabbit_raw", "nativevillages:chicken_raw", "mobs:meat_raw", "animalworld:pork_raw", "people:mutton:raw"
|
||||
},
|
||||
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, 0, 15, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
if minetest.get_modpath("ethereal") then
|
||||
spawn_on = {"default:dry_dirt_with_dry_grass"}, {"ethereal:dry_dirt"}
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:hyena",
|
||||
nodes = {"default:dry_dirt_with_dry_grass", "naturalbiomes:savannalitter", "mcl_core:dirt_with_grass"},
|
||||
neighbors = {"group:grass", "group:normal_grass", "naturalbiomes:savanna_grass2", "naturalbiomes:savanna_grass3", "mcl_trees:leaves_acacia", "mcl_core:acacialeaves", "mcl_core:acaciatree", "mcl_trees:tree_acacia"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 3,
|
||||
min_height = 20,
|
||||
max_height = 60,
|
||||
|
||||
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:dry_dirt_with_dry_grass", "naturalbiomes:savannalitter"})
|
||||
|
||||
if nods and #nods > 0 then
|
||||
|
||||
-- min herd of 3
|
||||
local iter = math.min(#nods, 3)
|
||||
|
||||
-- print("--- hyena 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 = "animalworld:hyena", child = kid})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:hyena", S("Hyena"), "ahyena.png")
|
126
mods/animalworld/ibex.lua
Normal file
126
mods/animalworld/ibex.lua
Normal file
|
@ -0,0 +1,126 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
local random = math.random
|
||||
|
||||
mobs:register_mob("animalworld:ibex", {
|
||||
type = "animal",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
attack_animals = false,
|
||||
attack_npcs = false,
|
||||
group_attack = true,
|
||||
reach = 3,
|
||||
damage = 9,
|
||||
hp_min = 45,
|
||||
hp_max = 60,
|
||||
armor = 100,
|
||||
collisionbox = {-0.4, -0.01, -0.4, 0.4, 0.5, 0.4},
|
||||
visual = "mesh",
|
||||
mesh = "Ibex.b3d",
|
||||
visual_size = {x = 1.0, y = 1.0},
|
||||
textures = {
|
||||
{"textureibex.png"},
|
||||
},
|
||||
sounds = {
|
||||
random = "animalworld_ibex",
|
||||
damage = "animalworld_ibex",
|
||||
distance = 13,
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
walk_velocity = 1.5,
|
||||
run_velocity = 3,
|
||||
walk_chance = 20,
|
||||
runaway = false,
|
||||
jump = true,
|
||||
jump_height = 6,
|
||||
stepheight = 3,
|
||||
stay_near = {{"naturalbiomes:alpine_grass1", "naturalbiomes:alpine_grass2", "naturalbiomes:alpine_grass3", "naturalbiomes:alpine_dandelion", "naturalbiomes:alpine_edelweiss", "naturalbiomes:med_flower2", "naturalbiomes:med_grass1", "naturalbiomes:med_grass2", "naturalbiomes:med_flower3"}, 6},
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
fear_height = 4,
|
||||
pathfinding = true,
|
||||
animation = {
|
||||
speed_normal = 50,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
stand1_start = 100,
|
||||
stand1_end = 200,
|
||||
walk_start = 200,
|
||||
walk_end = 300,
|
||||
punch_start = 300,
|
||||
punch_end = 400,
|
||||
die_start = 300,
|
||||
die_end = 400,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
|
||||
follow = {"default:apple", "mcl_flowers:tallgrass", "mcl_core:deadbush", "mcl_bamboo:bamboo", "default:dry_dirt_with_dry_grass", "farming:seed_wheat", "default:junglegrass", "farming:seed_oat", "naturalbiomes:savannagrass", "naturalbiomes:savannagrassmall", "naturalbiomes:savanna_flowergrass", "naturalbiomes:alpine_grass1", "naturalbiomes:alpine_grass2", "naturalbiomes:alpine_grass3", "naturalbiomes:alpine_dandelion", "naturalbiomes:med_flower1", "naturalbiomes:med_flower3", "naturalbiomes:med_flower2", "naturalbiomes:med_grass1", "naturalbiomes:med_grass2"},
|
||||
view_range = 10,
|
||||
replace_rate = 10,
|
||||
replace_what = {"farming:soil", "farming:soil_wet"},
|
||||
replace_with = "default:dirt",
|
||||
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, 0, 25, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
if minetest.get_modpath("ethereal") then
|
||||
spawn_on = {"mcl_core:podzol", "default:dirt_withforest_litter", "ethereal:green_dirt", "ethereal:grass_grove"}
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:ibex",
|
||||
nodes = {"naturalbiomes:alpine_litter", "naturalbiomes:mediterran_litter", "mcl_core:stone", "mcl_core:granite", "mcl_core:dirt_with_grass"},
|
||||
neighbors = {"naturalbiomes:med_grass1", "mcl_farming:sweet_berry_bush_3", "mcl_core:sprucetree", "mcl_trees:tree_spruce", "mcl_trees:leaves_spruce", "mcl_core:tree", "mcl_trees:leaves_oak", "mcl_trees:leaves_dark_oak", "mcl_core:leaves", "mcl_core:birchleaves", "mcl_core:darkleaves", "mcl_core:spruceleaves", "naturalbiomes:med_grass2", "naturalbiomes:med_grass3", "naturalbiomes:med_grass4", "naturalbiomes:med_flower1", "naturalbiomes:med_flower3", "naturalbiomes:alpine_grass1", "naturalbiomes:alpine_grass2", "naturalbiomes:alpine_grass3"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 3,
|
||||
min_height = 30,
|
||||
max_height = 31000,
|
||||
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},
|
||||
{"naturalbiomes:alpine_litter", "naturalbiomes:mediterran_litter"})
|
||||
|
||||
if nods and #nods > 0 then
|
||||
|
||||
-- min herd of 3
|
||||
local iter = math.min(#nods, 3)
|
||||
|
||||
-- print("--- ibex 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 = "animalworld:ibex", child = kid})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:ibex", S("Ibex"), "aibex.png")
|
108
mods/animalworld/iguana.lua
Normal file
108
mods/animalworld/iguana.lua
Normal file
|
@ -0,0 +1,108 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:iguana", {
|
||||
stepheight = 2,
|
||||
type = "animal",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
group_attack = true,
|
||||
owner_loyal = true,
|
||||
attack_npcs = true,
|
||||
reach = 2,
|
||||
damage = 2,
|
||||
hp_min = 15,
|
||||
hp_max = 25,
|
||||
armor = 100,
|
||||
collisionbox = {-0.5, -0.01, -0.5, 0.5, 0.95, 0.5},
|
||||
visual = "mesh",
|
||||
mesh = "Iguana.b3d",
|
||||
textures = {
|
||||
{"textureiguana.png"},
|
||||
{"textureiguana2.png"},
|
||||
{"textureiguana3.png"},
|
||||
{"textureiguana4.png"},
|
||||
{"textureiguana5.png"},
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
sounds = {
|
||||
},
|
||||
walk_velocity = 1,
|
||||
run_velocity = 2,
|
||||
jump = false,
|
||||
pushable = true,
|
||||
follow = {"ethereal:banana_single", "mcl_farming:beetroot_item", "mcl_farming:carrot_item", "mcl_farming:melon_item", "mcl_farming:potato_item", "mcl_farming:pumpkin_item", "mcl_farming:wheat_item", "mcl_farming:sweet_berry", "farming:corn_cob", "farming:cabbage",
|
||||
"default:apple", "farming:cabbage", "farming:carrot", "farming:cucumber", "farming:grapes", "farming:pineapple", "ethereal:orange", "ethereal:coconut", "ethereal:coconut_slice", "livingdesert:date_palm_fruits", "livingdesert:figcactus_fruit", "farming:melon_8", "farming:pumpkin_8", "ethereal:strawberry", "farming:blackberry", "naturalbiomes:blackberry", "naturalbiomes:cowberry", "naturalbiomes:banana", "naturalbiomes:banana_bunch", "farming:blueberries", "ethereal:orange", "livingdesert:figcactus_fruit", "livingfloatlands:paleojungle_clubmoss_fruit", "ethereal:banana", "livingdesert:date_palm_fruits", "farming:melon_slice", "naturalbiomes:wildrose", "naturalbiomes:banana"},
|
||||
view_range = 10,
|
||||
replace_rate = 10,
|
||||
replace_what = {"farming:soil", "farming:soil_wet"},
|
||||
replace_with = "default:dirt",
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "mobs:leather", chance = 1, min = 0, max = 2},
|
||||
},
|
||||
fly_in = {"default:water_source", "default:river_water_source", "default:water_flowing", "default:river_water_flowing", "mcl_core:water_source", "mcl_core:water_flowing"},
|
||||
floats = 0,
|
||||
water_damage = 0,
|
||||
lava_damage = 5,
|
||||
light_damage = 0,
|
||||
fear_height = 3,
|
||||
stay_near = {{"default:jungletree", "mcl_core:jungletree", "mcl_core:jungleleaves", "mcl_trees:leaves_jungle", "mcl_trees:leaves_mangrove", "default:junglegrass", "naturalbiomes:bambooforest_groundgrass", "livingjungle:grass2", "livingjungle::grass1", "livingjungle:alocasia", "livingjungle:flamingoflower"}, 5},
|
||||
animation = {
|
||||
speed_normal = 80,
|
||||
stand_speed = 30,
|
||||
stand1_speed = 30,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
stand1_start = 100,
|
||||
stand1_end = 200,
|
||||
walk_start = 220,
|
||||
walk_end = 320,
|
||||
punch_start = 320,
|
||||
punch_end = 420,
|
||||
fly_start = 440,
|
||||
fly_end = 540,
|
||||
die_start = 300,
|
||||
die_end = 400,
|
||||
die_speed = 50,
|
||||
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, 15, 25, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
local spawn_on = {"mcl_core:dirt_with_grass", "default:dirt_with_coniferous_litter"}
|
||||
|
||||
if minetest.get_mapgen_setting("mg_name") ~= "v6" then
|
||||
spawn_on = {"mcl_core:dirt_with_grass", "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", "ethereal:green_dirt", "ethereal:mushroom_dirt", "default:dirt_with_coniferous_litter", "default:dirt_gray"}
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:iguana",
|
||||
nodes = {"livingjungle:jungleground", "livingjungle:leafyjungleground", "mcl_core:dirt_with_gras"},
|
||||
neighbors = {"default:jungletree", "livingjungle:alocasia", "livingjungle:flamingoflower", "livingjungle:samauma_trunk", "mcl_core:jungletree", "mcl_core:jungleleaves", "mcl_trees:leaves_jungle", "mcl_trees:leaves_mangrove"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 2,
|
||||
min_height = 1,
|
||||
max_height = 31000,
|
||||
day_toggle = true,
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:iguana", S("Iguana"), "aiguana.png")
|
||||
|
||||
|
||||
mobs:alias_mob("animalworld:iguana", "animalworld:iguana") -- compatibility
|
||||
|
||||
|
97
mods/animalworld/indianrhino.lua
Normal file
97
mods/animalworld/indianrhino.lua
Normal file
|
@ -0,0 +1,97 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:indianrhino", {
|
||||
type = "animal",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
attack_animals = false,
|
||||
attack_monsters = true,
|
||||
group_attack = true,
|
||||
reach = 3,
|
||||
damage = 14,
|
||||
hp_min = 90,
|
||||
hp_max = 140,
|
||||
armor = 100,
|
||||
collisionbox = {-0.8, -0.01, -0.8, 0.8, 1.5, 0.8},
|
||||
visual = "mesh",
|
||||
mesh = "Indianrhino.b3d",
|
||||
visual_size = {x = 1.0, y = 1.0},
|
||||
textures = {
|
||||
{"textureindianrhino.png"},
|
||||
},
|
||||
sounds = {
|
||||
random = "animalworld_rhino",
|
||||
attack = "animalworld_rhino2",
|
||||
distance = 13,
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
walk_velocity = 1.5,
|
||||
run_velocity = 3,
|
||||
walk_chance = 20,
|
||||
runaway = false,
|
||||
knock_back = false,
|
||||
jump = true,
|
||||
jump_height = 6,
|
||||
stepheight = 2,
|
||||
stay_near = {{"naturalbiomes:savanna_flowergrass", "naturalbiomes:savanna_grass", "naturalbiomes:savanna_grass2", "naturalbiomes:savanna_grass3", "naturalbiomes:savannagrass"}, 6},
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "mobs:leather", chance = 1, min = 0, max = 2},
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
fear_height = 3,
|
||||
pathfinding = true,
|
||||
animation = {
|
||||
speed_normal = 70,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
stand1_start = 100,
|
||||
stand1_end = 200,
|
||||
walk_start = 200,
|
||||
walk_end = 300,
|
||||
punch_start = 300,
|
||||
punch_end = 400,
|
||||
die_start = 300,
|
||||
die_end = 400,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
|
||||
follow = {"default:apple", "mcl_flowers:tallgrass", "mcl_core:deadbush", "mcl_bamboo:bamboo", "default:dry_dirt_with_dry_grass", "farming:seed_wheat", "default:junglegrass", "farming:seed_oat", "naturalbiomes:savannagrass", "naturalbiomes:savannagrassmall", "naturalbiomes:savanna_flowergrass", "default:dry_grass_1", "default:dry_grass_2", "default:dry_grass_3", "default:grass_1", "default:grass_2", "default:grass_3", "default:grass_4", "default:grass_5", "default:marram_grass_1", "default:marram_grass_2", "default:marram_grass_3", "default:coldsteppe_grass_1", "default:coldsteppe_grass_2", "default:coldsteppe_grass_3", "default:coldsteppe_grass_4", "default:coldsteppe_grass_5", "default:coldsteppe_grass_6", "naturalbiomes:savanna_grass1", "naturalbiomes:savanna_grass2", "naturalbiomes:savanna_grass3", "naturalbiomes:outback_grass1", "naturalbiomes:outback_grass2", "naturalbiomes:outback_grass3", "naturalbiomes:outback_grass4", "naturalbiomes:outback_grass5", "naturalbiomes:outback_grass6", "naturalbiomes:med_grass1", "naturalbiomes:med_grass2", "naturalbiomes:heath_grass1", "naturalbiomes:heath_grass2", "naturalbiomes:heath_grass3", "naturalbiomes:alpine_grass1", "naturalbiomes:alpine_grass2", "naturalbiomes:heath_grass2", "naturalbiomes:heath_grass3", "naturalbiomes:", "naturalbiomes:", "naturalbiomes:bushland_grass", "naturalbiomes:bushland_grass2", "naturalbiomes:bushland_grass3", "naturalbiomes:bushland_grass4", "naturalbiomes:bushland_grass5", "naturalbiomes:bushland_grass6", "naturalbiomes:bushland_grass7", "group:grass", "group:normal_grass"},
|
||||
view_range = 10,
|
||||
replace_rate = 10,
|
||||
replace_what = {"farming:soil", "farming:soil_wet"},
|
||||
replace_with = "default:dirt",
|
||||
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, 0, 25, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
if minetest.get_modpath("ethereal") then
|
||||
spawn_on = {"mcl_core:podzol", "default:dirt_withforest_litter", "ethereal:green_dirt", "ethereal:grass_grove"}
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:indianrhino",
|
||||
nodes = {"naturalbiomes:savannalitter", "mcl_core:dirt_with_grass"},
|
||||
neighbors = {"naturalbiomes:savanna_grass1", "naturalbiomes:savanna_grass2", "naturalbiomes:savanna_grass3", "mcl_core:acaciatree", "mcl_trees:tree_acacia", "mcl_trees:leaves_acacia", "mcl_core:acacialeaves"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 2,
|
||||
min_height = 5,
|
||||
max_height = 50,
|
||||
day_toggle = true,
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:indianrhino", S("Indian Rhino"), "aindianrhino.png")
|
146
mods/animalworld/init.lua
Normal file
146
mods/animalworld/init.lua
Normal file
|
@ -0,0 +1,146 @@
|
|||
local modname = minetest.get_current_modname()
|
||||
|
||||
local path = minetest.get_modpath(modname) .. "/"
|
||||
|
||||
local S = minetest.get_translator and minetest.get_translator(modname) or
|
||||
dofile(path .. "intllib.lua")
|
||||
|
||||
animalworld = {}
|
||||
|
||||
-- Check for custom mob spawn file
|
||||
local input = io.open(path .. "spawn.lua", "r")
|
||||
if input then
|
||||
mobs.custom_spawn_animalworld = true
|
||||
input:close()
|
||||
input = nil
|
||||
end
|
||||
|
||||
-- Sounds
|
||||
animalworld.sounds = {}
|
||||
if minetest.get_modpath("default") then animalworld.sounds = default end
|
||||
if minetest.get_modpath("mcl_sounds") then animalworld.sounds = mcl_sounds 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") --
|
||||
dofile(path .. "shark.lua") --
|
||||
dofile(path .. "nandu.lua") --
|
||||
dofile(path .. "yak.lua") --
|
||||
dofile(path .. "spider.lua") --
|
||||
dofile(path .. "spidermale.lua") --
|
||||
dofile(path .. "crab.lua") --
|
||||
dofile(path .. "reindeer.lua") --
|
||||
dofile(path .. "volverine.lua") --
|
||||
dofile(path .. "owl.lua") --
|
||||
dofile(path .. "frog.lua") --
|
||||
dofile(path .. "monitor.lua") --
|
||||
dofile(path .. "gnu.lua") --
|
||||
dofile(path .. "puffin.lua") --
|
||||
dofile(path .. "anteater.lua") --
|
||||
dofile(path .. "hyena.lua") --
|
||||
dofile(path .. "rat.lua") --
|
||||
dofile(path .. "vulture.lua") --
|
||||
dofile(path .. "toucan.lua") --
|
||||
dofile(path .. "snowleopard.lua") --
|
||||
dofile(path .. "lobster.lua") --
|
||||
dofile(path .. "squid.lua") --
|
||||
dofile(path .. "kobra.lua") --
|
||||
dofile(path .. "bat.lua") --
|
||||
dofile(path .. "ant.lua") --
|
||||
dofile(path .. "termite.lua") --
|
||||
dofile(path .. "wasp.lua") --
|
||||
dofile(path .. "snail.lua") --
|
||||
dofile(path .. "locust.lua") --
|
||||
dofile(path .. "dragonfly.lua") --
|
||||
dofile(path .. "nymph.lua") --
|
||||
dofile(path .. "divingbeetle.lua") --
|
||||
dofile(path .. "olm.lua") --
|
||||
dofile(path .. "goldenmole.lua") --
|
||||
dofile(path .. "scorpion.lua") --
|
||||
dofile(path .. "goby.lua") --
|
||||
dofile(path .. "treelobster.lua") --
|
||||
dofile(path .. "notoptera.lua") --
|
||||
dofile(path .. "seahorse.lua") --
|
||||
dofile(path .. "polarbear.lua") --
|
||||
dofile(path .. "muskox.lua") --
|
||||
dofile(path .. "fox.lua") --
|
||||
dofile(path .. "beluga.lua") --
|
||||
dofile(path .. "leopardseal.lua") --
|
||||
dofile(path .. "stellerseagle.lua") --
|
||||
dofile(path .. "otter.lua") --
|
||||
dofile(path .. "monkey.lua") --
|
||||
dofile(path .. "zebra.lua") --
|
||||
dofile(path .. "indianrhino.lua") --
|
||||
dofile(path .. "giraffe.lua") --
|
||||
dofile(path .. "koala.lua") --
|
||||
dofile(path .. "clamydosaurus.lua") --
|
||||
dofile(path .. "echidna.lua") --
|
||||
dofile(path .. "mosquito.lua") --
|
||||
dofile(path .. "beaver.lua") --
|
||||
dofile(path .. "goose.lua") --
|
||||
dofile(path .. "ibex.lua") --
|
||||
dofile(path .. "marmot.lua") --
|
||||
dofile(path .. "wolf.lua") --
|
||||
dofile(path .. "panda.lua") --
|
||||
dofile(path .. "hermitcrab.lua") --
|
||||
dofile(path .. "cockatoo.lua") --
|
||||
dofile(path .. "parrot.lua") --
|
||||
dofile(path .. "parrotflying.lua") --
|
||||
dofile(path .. "stingray.lua") --
|
||||
dofile(path .. "blackgrouse.lua") --
|
||||
dofile(path .. "viper.lua") --
|
||||
dofile(path .. "wildboar.lua") --
|
||||
dofile(path .. "tapir.lua") --
|
||||
dofile(path .. "iguana.lua") --
|
||||
dofile(path .. "oryx.lua") --
|
||||
dofile(path .. "roadrunner.lua") --
|
||||
dofile(path .. "cockroach.lua") --
|
||||
dofile(path .. "robin.lua") --
|
||||
dofile(path .. "orangutan.lua") --
|
||||
|
||||
-- Load tundravegetation
|
||||
local load_tundra_vegetation = minetest.settings:get_bool("animalworld.tundravegetation") ~= false
|
||||
if load_tundra_vegetation then
|
||||
dofile(path .. "tundravegetation.lua") --
|
||||
end
|
||||
|
||||
-- Load trophies
|
||||
local load_trophies = minetest.settings:get_bool("animalworld.trophies") ~= false
|
||||
if load_trophies then
|
||||
dofile(path .. "trophies.lua") --
|
||||
end
|
||||
|
||||
-- Load hunger
|
||||
if minetest.get_modpath("hunger_ng") then
|
||||
dofile(path .. "hunger.lua") --
|
||||
end
|
||||
|
||||
-- Load concretecrafting
|
||||
if minetest.get_modpath("default") then
|
||||
dofile(path .. "concretecrafting.lua") --
|
||||
end
|
||||
|
||||
-- Load custom spawning
|
||||
if mobs.custom_spawn_animalworld then
|
||||
dofile(path .. "spawn.lua")
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
print (S("[MOD] Mobs Redo Animals loaded"))
|
3
mods/animalworld/intllib.lua
Normal file
3
mods/animalworld/intllib.lua
Normal file
|
@ -0,0 +1,3 @@
|
|||
-- Support for the old multi-load method
|
||||
dofile(minetest.get_modpath("intllib").."/init.lua")
|
||||
|
125
mods/animalworld/kangaroo.lua
Normal file
125
mods/animalworld/kangaroo.lua
Normal file
|
@ -0,0 +1,125 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
local random = math.random
|
||||
|
||||
mobs:register_mob("animalworld: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 = 25,
|
||||
hp_max = 55,
|
||||
armor = 100,
|
||||
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 = {"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:scorpion", "animalworld:polarbear", "animalworld:leopardseal", "animalworld:stellerseagle", "player", "animalworld:wolf", "animalworld:panda", "animalworld:stingray", "marinaramobs:jellyfish", "marinaramobs:octopus", "livingcavesmobs:biter", "livingcavesmobs:flesheatingbacteria"},
|
||||
jump = true,
|
||||
jump_height = 8,
|
||||
pushable = true,
|
||||
stay_near = {{"naturalbiomes:outback_grass", "mcl_core:deadbush", "mcl_core:cactus", "naturalbiomes:outback_grass3", "naturalbiomes:outback_grass2", "naturalbiomes:outback_grass4", "naturalbiomes:outback_grass5", "livingdesert:cactus", "livingdesert:cactus3", "livingdesert:cactus2", "livingdesert:cactus4", "default:dry_shrub"}, 5},
|
||||
follow = {"default:grass_3", "default:dry_grass_3", "ethereal:dry_shrub", "farming:lettuce", "farming:seed_wheat", "default:junglegrass", "default:dry_grass_1", "default:dry_grass_2", "default:dry_grass_3", "default:grass_1", "default:grass_2", "default:grass_3", "default:grass_4", "default:grass_5", "default:marram_grass_1", "default:marram_grass_2", "default:marram_grass_3", "default:coldsteppe_grass_1", "default:coldsteppe_grass_2", "default:coldsteppe_grass_3", "default:coldsteppe_grass_4", "default:coldsteppe_grass_5", "default:coldsteppe_grass_6", "naturalbiomes:savanna_grass1", "naturalbiomes:savanna_grass2", "naturalbiomes:savanna_grass3", "naturalbiomes:outback_grass1", "naturalbiomes:outback_grass2", "naturalbiomes:outback_grass3", "naturalbiomes:outback_grass4", "naturalbiomes:outback_grass5", "naturalbiomes:outback_grass6", "naturalbiomes:med_grass1", "naturalbiomes:med_grass2", "naturalbiomes:heath_grass1", "naturalbiomes:heath_grass2", "naturalbiomes:heath_grass3", "naturalbiomes:alpine_grass1", "naturalbiomes:alpine_grass2", "mcl_core:deadbush", "mcl_core:cactus", "naturalbiomes:heath_grass2", "naturalbiomes:heath_grass3", "naturalbiomes:", "naturalbiomes:", "naturalbiomes:bushland_grass", "naturalbiomes:bushland_grass2", "naturalbiomes:bushland_grass3", "naturalbiomes:bushland_grass4", "naturalbiomes:bushland_grass5", "naturalbiomes:bushland_grass6", "naturalbiomes:bushland_grass7", "group:grass", "group:normal_grass"},
|
||||
view_range = 10,
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "animalworld:kangaroocorpse", chance = 7, min = 1, max = 1},
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 5,
|
||||
light_damage = 0,
|
||||
fear_height = 4,
|
||||
animation = {
|
||||
speed_normal = 100,
|
||||
stand_speed = 40,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
walk_start = 100,
|
||||
walk_end = 200,
|
||||
punch_start = 200,
|
||||
punch_end = 300,
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
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, 15, 25, 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", "default:desert_sand", "ethereal:dry_dirt"}
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:kangaroo",
|
||||
nodes = {"default:desert_sand", "naturalbiomes:outback_litter", "mcl_core:sand", "mcl_core:redsand"},
|
||||
neighbors = {"group:grass", "mcl_core:deadbush", "mcl_core:cactus", "group:normal_grass", "naturalbiomes:outback_grass", "naturalbiomes:outback_grass3", "naturalbiomes:outback_grass2", "naturalbiomes:outback_grass4", "naturalbiomes:outback_grass5", "default:dry_shrub"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2500, -- 15000
|
||||
active_object_count = 3,
|
||||
min_height = 5,
|
||||
max_height = 45,
|
||||
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:desert_sand", "naturalbiomes:outback_litter"})
|
||||
|
||||
if nods and #nods > 0 then
|
||||
|
||||
-- min herd of 3
|
||||
local iter = math.min(#nods, 3)
|
||||
|
||||
-- print("--- kangaroo 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 = "animalworld:kangaroo", child = kid})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:kangaroo", S("Kangaroo"), "akangaroo.png")
|
||||
|
||||
|
||||
mobs:alias_mob("animalworld:kangaroo", "animalworld:kangaroo") -- compatibility
|
||||
|
99
mods/animalworld/koala.lua
Normal file
99
mods/animalworld/koala.lua
Normal file
|
@ -0,0 +1,99 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:koala", {
|
||||
stepheight = 1,
|
||||
type = "animal",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
group_attack = true,
|
||||
owner_loyal = true,
|
||||
attack_npcs = true,
|
||||
reach = 2,
|
||||
damage = 1,
|
||||
hp_min = 5,
|
||||
hp_max = 30,
|
||||
armor = 100,
|
||||
collisionbox = {-0.3, -0.01, -0.3, 0.3, 0.2, 0.3},
|
||||
visual = "mesh",
|
||||
mesh = "Koala.b3d",
|
||||
textures = {
|
||||
{"texturekoala.png"},
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
sounds = {
|
||||
random = "animalworld_koala",
|
||||
attack = "animalworld_koala2",
|
||||
damage = "animalworld_koala2",
|
||||
},
|
||||
walk_velocity = 0.5,
|
||||
walk_chance = 25,
|
||||
run_velocity = 1,
|
||||
jump = false,
|
||||
jump_height = 8,
|
||||
stepheight = 8,
|
||||
pushable = true,
|
||||
follow = {"naturalbiomes:outback_leaves", "mcl_core:leaves"},
|
||||
view_range = 6,
|
||||
stay_near = {{"naturalbiomes:outback_leaves", "naturalbiomes:outback_trunk", "naturalbiomes:outback_bush_leaves", "mcl_trees:leaves_acacia", "mcl_core:acacialeaves"}, 5},
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
|
||||
},
|
||||
water_damage = 1,
|
||||
lava_damage = 5,
|
||||
light_damage = 0,
|
||||
fear_height = 9,
|
||||
animation = {
|
||||
speed_normal = 50,
|
||||
stand_speed = 25,
|
||||
stand_start = 100,
|
||||
stand_end = 200,
|
||||
stand1_start = 200,
|
||||
stand1_end = 300,
|
||||
walk_start = 0,
|
||||
walk_end = 100,
|
||||
punch_speed = 100,
|
||||
punch_start = 300,
|
||||
punch_end = 400,
|
||||
die_start = 300,
|
||||
die_end = 400,
|
||||
die_speed = 50,
|
||||
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, 15, 25, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
local spawn_on = {"mcl_core:dirt_with_grass", "default:dirt_with_coniferous_litter"}
|
||||
|
||||
if minetest.get_mapgen_setting("mg_name") ~= "v6" then
|
||||
spawn_on = {"naturalbiomes:outback_litter"}
|
||||
end
|
||||
|
||||
if minetest.get_modpath("ethereal") then
|
||||
spawn_on = {"ethereal:mushroom_dirt", "ethereal:bamboo_dirt", "ethereal:green_dirt", "ethereal:mushroom_dirt", "default:dirt_with_coniferous_litter", "default:dirt_gray"}
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:koala",
|
||||
nodes = {"naturalbiomes:outback_litter", "mcl_core:dirt_with_grass"},
|
||||
neighbors = {"naturalbiomes:outback_trunk", "naturalbiomes:outback_bush_leaves", "naturalbiomes:outback_leaves", "mcl_trees:leaves_acacia", "mcl_core:acacialeaves"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 3,
|
||||
min_height = 1,
|
||||
max_height = 500,
|
||||
day_toggle = true,
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:koala", ("Koala"), "akoala.png")
|
||||
|
||||
|
||||
mobs:alias_mob("animalworld:koala", "animalworld:koala") -- compatibility
|
120
mods/animalworld/kobra.lua
Normal file
120
mods/animalworld/kobra.lua
Normal file
|
@ -0,0 +1,120 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:kobra", {
|
||||
stepheight = 2,
|
||||
type = "monster",
|
||||
passive = false,
|
||||
attack_type = "dogshoot",
|
||||
dogshoot_switch = 1,
|
||||
dogshoot_count_max = 12, -- shoot for 10 seconds
|
||||
dogshoot_count2_max = 3, -- dogfight for 3 seconds
|
||||
reach = 3,
|
||||
shoot_interval = 2.2,
|
||||
arrow = "animalworld:snakepoison",
|
||||
shoot_offset = 1,
|
||||
attack_animals = true,
|
||||
reach = 2,
|
||||
damage = 8,
|
||||
hp_min = 20,
|
||||
hp_max = 60,
|
||||
armor = 100,
|
||||
collisionbox = {-0.5, -0.01, -0.5, 0.5, 0.95, 0.5},
|
||||
visual = "mesh",
|
||||
mesh = "Kobra.b3d",
|
||||
visual_size = {x = 0.3, y = 0.3},
|
||||
textures = {
|
||||
{"texturekobra.png"},
|
||||
},
|
||||
sounds = {
|
||||
random = "animalworld_kobra",
|
||||
attack = "animalworld_kobra",
|
||||
},
|
||||
makes_footstep_sound = false,
|
||||
view_range = 6,
|
||||
walk_velocity = 1,
|
||||
run_velocity = 2,
|
||||
runaway = false,
|
||||
jump = false,
|
||||
jump_height = 0,
|
||||
stepheight = 2,
|
||||
stay_near = {{"default:jungletree", "default:junglegrass", "naturalbiomes:bamboo_leaves", "naturalbiomes:bambooforest_groundgrass", "livingjungle::grass2", "livingjungle::grass1", "livingjungle:alocasia", "livingjungle:flamingoflower"}, 5},
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "mobs:leather", chance = 1, min = 0, max = 2},
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
fear_height = 3,
|
||||
animation = {
|
||||
speed_normal = 60,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
walk_start = 250,
|
||||
walk_end = 350,
|
||||
punch_start = 150,
|
||||
punch_end = 200,
|
||||
shoot_start = 150,
|
||||
shoot_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", "mcl_core:water_source", "mcl_core:water_flowing"},
|
||||
floats = 0,
|
||||
})
|
||||
|
||||
if minetest.get_modpath("ethereal") then
|
||||
spawn_on = {"default:desert_sandstone", "default:desert_stone", "default:sandstone", "default:dirt_with_rainforest_litter", "ethereal:grove_dirt"}
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:kobra",
|
||||
nodes = {"default:desert_sandstone", "default:desert_stone", "default:sandstone", "default:dirt_with_rainforest_litter", "naturalbiomes:bambooforest_litter", "mcl_core:dirt_with_gras"},
|
||||
neighbors = {"mcl_flowers:tallgrass", "mcl_core:jungletree", "mcl_core:jungleleaves", "mcl_trees:leaves_jungle", "mcl_trees:leaves_mangrove", "default:junglegrass", "livingdesert:date_palm_leaves", "livingdesert:yucca", "default:dry_shrub", "livingdesert:coldsteppe_grass1", "livingdesert:cactus", "livingdesert:cactus3", "livingdesert:cactus2", "livingdesert:cactus4", "naturalbiomes:bambooforest_groundgrass", "naturalbiomes:bambooforest_groundgrass2"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 1000, -- 15000
|
||||
min_height = -30,
|
||||
max_height = 10,
|
||||
})
|
||||
end
|
||||
|
||||
|
||||
mobs:register_egg("animalworld:kobra", S("Cobra"), "akobra.png")
|
||||
|
||||
|
||||
mobs:alias_mob("animalworld:kobra", "animalworld:kobra") -- compatiblity
|
||||
|
||||
-- mese arrow (weapon)
|
||||
mobs:register_arrow("animalworld:snakepoison", {
|
||||
visual = "sprite",
|
||||
-- visual = "wielditem",
|
||||
visual_size = {x = 0.5, y = 0.5},
|
||||
textures = {"animalworld_snakepoison.png"},
|
||||
--textures = {""animalworld_snakepoison.png""},
|
||||
velocity = 6,
|
||||
-- rotate = 180,
|
||||
|
||||
hit_player = function(self, player)
|
||||
player:punch(self.object, 1.0, {
|
||||
full_punch_interval = 1.0,
|
||||
damage_groups = {fleshy = 2},
|
||||
}, nil)
|
||||
end,
|
||||
|
||||
hit_mob = function(self, player)
|
||||
player:punch(self.object, 1.0, {
|
||||
full_punch_interval = 1.0,
|
||||
damage_groups = {fleshy = 2},
|
||||
}, nil)
|
||||
end,
|
||||
|
||||
hit_node = function(self, pos, node)
|
||||
end
|
||||
})
|
||||
|
88
mods/animalworld/leopardseal.lua
Normal file
88
mods/animalworld/leopardseal.lua
Normal file
|
@ -0,0 +1,88 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:leopardseal", {
|
||||
stepheight = 1,
|
||||
type = "monster",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
attack_animals = true,
|
||||
reach = 2,
|
||||
damage = 5,
|
||||
hp_min = 20,
|
||||
hp_max = 55,
|
||||
armor = 100,
|
||||
collisionbox = {-0.5, -0.01, -0.5, 0.5, 0.6, 0.5},
|
||||
visual = "mesh",
|
||||
mesh = "Leopardseal.b3d",
|
||||
visual_size = {x = 1.0, y = 1.0},
|
||||
textures = {
|
||||
{"textureleopardseal.png"},
|
||||
},
|
||||
sounds = {
|
||||
random = "animalworld_leopardseal",
|
||||
attack = "animalworld_leopardseal2",
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
walk_velocity = 1,
|
||||
run_velocity = 3,
|
||||
runaway = false,
|
||||
jump = false,
|
||||
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 = 100,
|
||||
stand_speed = 50,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
walk_start = 100,
|
||||
walk_end = 200,
|
||||
punch_start = 200,
|
||||
punch_end = 300,
|
||||
fly_speed = 50,
|
||||
fly_start = 350, -- swim animation
|
||||
fly_end = 450,
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
fly_in = {"default:water_source", "default:water_flowing", "default:river_water_flowing", "default:river_water", "mcl_core:water_source", "mcl_core:water_flowing",},
|
||||
floats = 0,
|
||||
follow = {
|
||||
"ethereal:fish_raw", "mcl_mobitems:chicken", "mcl_fishing:pufferfish_raw", "mcl_mobitems:rotten_flesh", "mcl_mobitems:mutton", "mcl_mobitems:beef", "mcl_mobitems:porkchop", "mcl_mobitems:rabbit", "animalworld:rawfish", "mobs_fish:tropical",
|
||||
"mobs_fish:clownfish_set", "mobs_fish:tropical_set", "xocean:fish_edible", "mobs:bluefish_raw", "animalworld:rawmollusk", "nativevillages:catfish_raw", "mobs:meatblock_raw", "animalworld:chicken_raw", "livingfloatlands:ornithischiaraw", "livingfloatlands:largemammalraw", "livingfloatlands:theropodraw", "livingfloatlands:sauropodraw", "animalworld:raw_athropod", "animalworld:whalemeat_raw", "animalworld:rabbit_raw", "nativevillages:chicken_raw", "mobs:meat_raw", "animalworld:pork_raw", "people:mutton:raw", "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"
|
||||
},
|
||||
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, 0, 15, 25, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:leopardseal",
|
||||
nodes = {"default:ice", "default:snowblock", "mcl_core:ice", "mcl_core:snow"},
|
||||
neighbors = {"default:water_source", "mcl_core:water_source", "mcl_core:water_flowing"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 1,
|
||||
min_height = -10,
|
||||
max_height = 10,
|
||||
day_toggle = true,
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:leopardseal", S("Leopard Seal"), "aleopardseal.png")
|
101
mods/animalworld/lobster.lua
Normal file
101
mods/animalworld/lobster.lua
Normal file
|
@ -0,0 +1,101 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:lobster", {
|
||||
stepheight = 1,
|
||||
type = "animal",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
group_attack = true,
|
||||
owner_loyal = true,
|
||||
attack_npcs = false,
|
||||
reach = 2,
|
||||
damage = 5,
|
||||
hp_min = 25,
|
||||
hp_max = 70,
|
||||
armor = 100,
|
||||
collisionbox = {-0.5, -0.01, -0.5, 0.5, 0.5, 0.5},
|
||||
visual = "mesh",
|
||||
mesh = "Lobster.b3d",
|
||||
textures = {
|
||||
{"texturelobster.png"},
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
sounds = {
|
||||
},
|
||||
walk_velocity = 0.5,
|
||||
run_velocity = 1,
|
||||
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: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 = 3,
|
||||
pushable = true,
|
||||
stay_near = {{"marinara:sand_with_alage", "mcl_flowers:waterlily", "mcl_ocean:seagrass:sand", "mcl_core:reeds", "mcl_ocean:bubble_coral", "mcl_ocean:tube_coral", "mcl_ocean:fire_coral", "mcl_ocean:brain_coral", "mcl_ocean:seagrass_gravel", "marinara:sand_with_seagrass", "default:sand_with_kelp", "marinara:sand_with_kelp", "marinara:reed_root", "flowers:waterlily_waving", "naturalbiomes:waterlily", "default:clay"}, 4},
|
||||
follow = {"animalworld:rawfish", "mcl_fishing:pufferfish_raw", "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", "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"},
|
||||
view_range = 10,
|
||||
drops = {
|
||||
{name = "animalworld:raw_athropod", chance = 1, min = 0, max = 2},
|
||||
},
|
||||
fly_in = {"default:water_source", "default:river_water_source", "default:water_flowing", "default:river_water_flowing", "mcl_core:water_source", "mcl_core:water_flowing"},
|
||||
floats = 0,
|
||||
follow = {
|
||||
"ethereal:fish_raw", "animalworld:rawfish", "mobs_fish:tropical",
|
||||
"mobs:meat_raw", "animalworld:rabbit_raw", "xocean:fish_edible", "animalworld:cockroach"
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 5,
|
||||
air_damage = 1,
|
||||
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,
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
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, 15, 25, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
local spawn_on = {"default:water_source"}
|
||||
|
||||
if minetest.get_mapgen_setting("mg_name") ~= "v6" then
|
||||
spawn_on = {"default:water_source"}
|
||||
end
|
||||
|
||||
if minetest.get_modpath("ethereal") then
|
||||
spawn_on = {"default:water_source"}
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:lobster",
|
||||
nodes = {"mcl_core:water_source", "default:water_source", "mcl_core:water_source", "mcl_core:water_flowing"},
|
||||
neighbors = {"marinara:sand_with_alage", "marinara:sand_with_seagrass", "mcl_ocean:bubble_coral", "mcl_ocean:tube_coral", "mcl_ocean:fire_coral", "mcl_ocean:brain_coral", "mcl_ocean:seagrass_gravel", "default:sand_with_kelp", "marinara:sand_with_kelp", "marinara:reed_root", "flowers:waterlily_waving", "naturalbiomes:waterlily", "default:clay"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 2,
|
||||
min_height = -30,
|
||||
max_height = 10,
|
||||
day_toggle = false,
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:lobster", S("Lobster"), "alobster.png")
|
||||
|
||||
|
||||
mobs:alias_mob("animalworld:lobster", "animalworld:lobster") -- compatibility
|
||||
|
292
mods/animalworld/locale/animalworld.de.tr
Normal file
292
mods/animalworld/locale/animalworld.de.tr
Normal file
|
@ -0,0 +1,292 @@
|
|||
# textdomain: animalworld
|
||||
|
||||
Ant=Ameise
|
||||
Raw Ant Eggs=Rohe Ameiseneier
|
||||
Cooked Ant Eggs=Gekochte Ameiseneier
|
||||
Anthill=Ameisenhaufen
|
||||
Anteater=Ameisenbär
|
||||
Bat=Fledermaus
|
||||
Bear=Bär
|
||||
Beaver=Biber
|
||||
Beaver Nest=Biberbau
|
||||
Beluga Whale=Belugawal
|
||||
Raw Whale Meat=Rohes Walfleisch
|
||||
Cooked Whale Meat=Gekochtes Walfleisch
|
||||
Whale Blubber=Walfett
|
||||
Blackbird=Amsel
|
||||
Black Grouse=Birkhuhn
|
||||
Boar=Verwildertes Schwein
|
||||
Raw Pork=Rohes Schweinefleisch
|
||||
Cooked Pork=Gekochtes Schweienfleisch
|
||||
Camel=Dromedar
|
||||
Carp=Karpfen
|
||||
Clamydosaurus=Kragenechse
|
||||
Cockatoo=Kakadu
|
||||
Cockroach=Schabe
|
||||
Roasted Cockroach=Geröstete Schabe
|
||||
Termite Concrete Wall=Termitenbeton Mauer
|
||||
Termite Concrete Stair=Termitenbeton Treppe
|
||||
Termite Concrete Slab=Termitenbeton Platte
|
||||
Termite Concrete White Wall=Weiße Termitenbeton Mauer
|
||||
Termite Concrete White Stair=Weiße Termitenbeton Treppe
|
||||
Termite Concrete White Slab=Weiße Termitenbeton Platte
|
||||
Termite Concrete Grey Wall=Graue Termitenbeton Mauer
|
||||
Termite Concrete Grey Stair=Graue Termitenbeton Treppe
|
||||
Termite Concrete Grey Slab=Graue Termitenbeton Platte
|
||||
Termite Concrete Black Wall=Schwarze Termitenbeton Mauer
|
||||
Termite Concrete Black Stair=Schwarze Termitenbeton Treppe
|
||||
Termite Concrete Black Slab=Schwarze Termitenbeton Platte
|
||||
Termite Concrete Blue Wall=Blaue Termitenbeton Mauer
|
||||
Termite Concrete Blue Stair=Blaue Termitenbeton Treppe
|
||||
Termite Concrete Blue Slab=Blaue Termitenbeton Platte
|
||||
Termite Concrete Cyan Wall=Cyan Termitenbeton Mauer
|
||||
Termite Concrete Cyan Stair=Cyan Termitenbeton Treppe
|
||||
Termite Concrete Cyan Slab=Cyan Termitenbeton Platte
|
||||
Termite Concrete Green Wall=Grüne Termitenbeton Mauer
|
||||
Termite Concrete Green Stair=Grüne Termitenbeton Treppe
|
||||
Termite Concrete Green Slab=Grüne Termitenbeton Platte
|
||||
Termite Concrete Dark Green Wall=Dunkelgrüne Termitenbeton Mauer
|
||||
Termite Concrete Dark Green Stair=Dunkelgrüne Termitenbeton Treppe
|
||||
Termite Concrete Dark Green Slab=Duneklgrüne Termitenbeton Platte
|
||||
Termite Concrete Yellow Wall=Gelbe Termitenbeton Mauer
|
||||
Termite Concrete Yellow Stair=Gelbe Termitenbeton Treppe
|
||||
Termite Concrete Yellow Slab=Gelbe Termitenbeton Platte
|
||||
Termite Concrete Orange Wall=Orange Termitenbeton Mauer
|
||||
Termite Concrete Orange Stair=Orange Termitenbeton Treppe
|
||||
Termite Concrete Orange Slab=Orange Termitenbeton Platte
|
||||
Termite Concrete Brown Wall=Braune Termitenbeton Mauer
|
||||
Termite Concrete Brown Stair=Braune Termitenbeton Treppe
|
||||
Termite Concrete Brown Slab=Braune Termitenbeton Platte
|
||||
Termite Concrete Red Wall=Rote Termitenbeton Mauer
|
||||
Termite Concrete Red Stair=Rote Termitenbeton Treppe
|
||||
Termite Concrete Red Slab=Rote Termitenbeton Platte
|
||||
Termite Concrete Pink Wall=Pinke Termitenbeton Mauer
|
||||
Termite Concrete Pink Stair=Pinke Termitenbeton Treppe
|
||||
Termite Concrete Pink Slab=Pinke Termitenbeton Platte
|
||||
Termite Concrete Magenta Wall=Magenta Termitenbeton Mauer
|
||||
Termite Concrete Magenta Stair=Magenta Termitenbeton Treppe
|
||||
Termite Concrete Magenta Slab=Magenta Termitenbeton Platte
|
||||
Termite Concrete Violet Wall=Violette Termitenbeton Mauer
|
||||
Termite Concrete Violet Stair=Violette Termitenbeton Treppe
|
||||
Termite Concrete Violet Slab=Violette Termitenbeton Platte
|
||||
Crab=Krabbe
|
||||
Crocodile=Krokodil
|
||||
Diving Beetle=Gelbrandkäfer
|
||||
Dragonfly=Libelle
|
||||
Echidna=Schnabeligel
|
||||
Elephant=Elefant
|
||||
Fox=Fuchs
|
||||
Frog=Frosch
|
||||
Goby=Grundel
|
||||
Golden Mole=Goldmull
|
||||
Goose=Wildgans
|
||||
Hare=Hase
|
||||
Raw Hare=Rohes Hasenfleisch
|
||||
Cooked Hare=Gekochtes Hasenfleisch
|
||||
Hare Hide=Hasenfell
|
||||
Hermit Crab=Einsiedlerkrebs
|
||||
Hippo=Nilpferd
|
||||
Hyena=Hyäne
|
||||
Ibex=Steinbock
|
||||
Iguana=Leguan
|
||||
Indian Rhino=Panzernashorn
|
||||
Kangaroo=Känguru
|
||||
Cobra=Köningskobra
|
||||
Leopard Seal=Seeleopard
|
||||
Lobster=Hummer
|
||||
Locust=Heuschrecke
|
||||
Roasted Locust=Geröstete Heuschrecke
|
||||
Manatee=Seekuh
|
||||
Marmot=Murmeltier
|
||||
Monitor Lizard=Waran
|
||||
Monkey=Affe
|
||||
Moose=Elch
|
||||
Mosquito=Mücke
|
||||
Musk Ox=Moschusochse
|
||||
Bird Egg=Vogelei
|
||||
Fried Egg=Spiegelei
|
||||
Raw Birdmeat=Rohes Geflügelfleisch
|
||||
Cooked Birdmeat=Gekochtes Geflügelfleisch
|
||||
Feather=Feder
|
||||
Notoptera=Grillenschabe
|
||||
Bug on Ice=Käfereis
|
||||
Dragonfly Nymph=Libellenlarve
|
||||
Oryx=Spießbock
|
||||
Otter=Fischotter
|
||||
Owl=Eule
|
||||
Panda=Riesenpanda
|
||||
Parrot=Papagei
|
||||
Flying Parrot=Fliegender Papagei
|
||||
Polar Bear=Eisbär
|
||||
Puffin=Papageitaucher
|
||||
Rat=Ratte
|
||||
Cooked Rodent Meat=Gekochtes Nagetier
|
||||
Stingray=Stachelrochen
|
||||
Termite Queen=Termitenkönigin
|
||||
Termite Mound=Termitenhügel
|
||||
Termite Concrete=Termitenbeton
|
||||
Termite Concrete Blue=Blauer Termitenbeton
|
||||
Termite Concrete Green=Grüner Termitenbeton
|
||||
Termite Concrete Yellow=Gelber Termitenbeton
|
||||
Termite Concrete Red=Roter Termitenbeton
|
||||
Termite Concrete Orange=Oranger Termitenbeton
|
||||
Termite Concrete Violet=Violetter Termitenbeton
|
||||
Termite Concrete White=Weißer Termitenbeton
|
||||
Termite Concrete Black=Schwarzer Termitenbeton
|
||||
Termite Concrete Grey=Grauer Termitenbeton
|
||||
Termite Concrete Dark Green=Dunkelgrüner Termitenbeton
|
||||
Termite Concrete Brown=Brauner Termitenbeton
|
||||
Termite Concrete Pink=Pinker Termitenbeton
|
||||
Termite Concrete Magenta=Magenta Termitenbeton
|
||||
Termite Concrete Cyan=Cyan Termitenbeton
|
||||
Tortoise=Landschildkröte
|
||||
Toucan=Tukan
|
||||
Tree Lobster=Baumhummer
|
||||
Anteater Pillow=Ameisenbär Kissen
|
||||
Anteater Pillow Left=Linkes Ameisenbär Kissen
|
||||
Anteater Pillow Right=Rechtes Ameisenbärkissen
|
||||
Anteater Corpse=Erlegter Ameisenbär
|
||||
Bear Trophy=Bärentropähe
|
||||
Bear Pelt=Bärenpelz
|
||||
Bear Pelt hanging=Hängender Bärenpelz
|
||||
Bear Corpse=Erlegter Bär
|
||||
Bear Stool=Bärenhocker
|
||||
Blackbird Pillow=Amselkissen
|
||||
Blackbird Pillow Left=Linkes Amselkissen
|
||||
Blackbird Pillow Right=Rechtes Amselkissen
|
||||
Blackbird Corpse=Erlegte Amsel
|
||||
Blackbird Curtain=Amselvorhang
|
||||
Boar Trophy=Verwilderte Schweinetropähe
|
||||
Boar Pelt=Verwildertes Schweinefell
|
||||
Boar Pelt hanging=Hängendes Verwildertes Schweinefell
|
||||
Boar Corpse=Erlegtes Verwildertes Schwein
|
||||
Camel Pillow=Dromedarkissen
|
||||
Camel Pillow Left=Linkes Dromedarkissen
|
||||
Camel Pillow Right=Rechtes Dromedarkissen
|
||||
Camel Corpse=Erlegtes Dromedar
|
||||
Camel Pelt=Dromedarfell
|
||||
Camel Pelt hanging=Hängendes Dromedarfell
|
||||
Camel Curtain=Dromedarvorhang
|
||||
Crocodile Trophy=Krokodiltrophähe
|
||||
Crocodile Corpse=Erlegtes Krokodil
|
||||
Crocodile Stool=Krokodilhocker
|
||||
Crocodile Curtain=Krokodilhaut Vorhang
|
||||
Crocodile Skin=Krokodilhaut
|
||||
Crocodile Skin hanging=Hängende Krokodilhaut
|
||||
Elephant Trophy=Elefantentrophähe
|
||||
Elephant Corpse=Erlegter Elefant
|
||||
Ivory Table=Elfenbeintisch
|
||||
Ivory Chair=Elfenbeinstuhl
|
||||
Ivory Vase=Elfenbeinvase
|
||||
Elephant Stool=Elefantenhocker
|
||||
Gnu Pelt=Gnupelz
|
||||
Gnu Pelt hanging=Hängender Gnupelz
|
||||
Gnu Corpse=Erlegtes Gnu
|
||||
Gnu Trophy=Gnutrophähe
|
||||
Gnu Stool=Gnu Hocker
|
||||
Gnu Curtain=Gnu Vorhang
|
||||
Hippo Stool=Nilpferdhocker
|
||||
Hippo Curtain=Nilpferdvorhang
|
||||
Hippo Corpse=Erlegtes Nilpferd
|
||||
Hyena Trophy=Hyänentrophähe
|
||||
Hyena Corpse=Erlegte Hyäne
|
||||
Hyena Pillow=Hyänenkissen
|
||||
Hyea Pillow Left=Linkes Hyänenkissen
|
||||
Hyena Pillow Right=Rechtes Hyänenkissen
|
||||
Kangaroo Corpse=Erlegtes Känguru
|
||||
Kangaroo Pillow=Känguru Kissen
|
||||
Kangaroo Pillow Left=Linkes Kängurukissen
|
||||
Kangaroo Pillow Right=Rechtes Kängurukissen
|
||||
Kangaroo Curtain=Känguruvorhang
|
||||
Monitor Lizard Trophy=Warantrophähe
|
||||
Monitor Lizard Corpse=Erlegter Waran
|
||||
Monitor Lizard Stool=Waranhocker
|
||||
Monitor Curtain=Waranhaut Vorhang
|
||||
Moose Trophy=Elchtrophähe
|
||||
Moose Pelt=Elchfell
|
||||
Moose Pelt hanging=Hängendes Elchfell
|
||||
Moose Corpse=Erlegter Elch
|
||||
Owl Trophy=Eulentrophähe
|
||||
Owl Corpse=Erlegte Eule
|
||||
Reindeer=Rentier
|
||||
Reindeer Trophy=Rentiertrophähe
|
||||
Reindeer Pelt=Rentierfell
|
||||
Reindeer Pelt hanging=Hängendes Rentierfell
|
||||
Reindeer Corpse=Erlegtes Rentier
|
||||
Seal Pillow=Robbenkissen
|
||||
Seal Pillow Left=Linkes Robbenkissen
|
||||
Seal Pillow Right=Rechtes Robbenkissen
|
||||
Seal Corpse=Erlegte Robbe
|
||||
Seal Stool=Robbenhocker
|
||||
Seal Curtain=Robbenvorhang
|
||||
Seal=Robbe
|
||||
Shark Trophy=Haitrophähe
|
||||
Shark Corpse=Erlegter Hai
|
||||
Vulture Pillow=Geierkissen
|
||||
Vulture Pillow Left=Linkes Geierkissen
|
||||
Vulture Pillow Right=Rechtes Geierkissen
|
||||
Vulture Corpse=Erlegter Geier
|
||||
Yak Trophy=Yak Trophähe
|
||||
Yak Pelt=Yakfell
|
||||
Yak Pelt hanging=Hängendes Yakfell
|
||||
Yak Corpse=Erlegtes Yak
|
||||
Yak Stool=Yakhocker
|
||||
Yak Curtain=Yakvorhang
|
||||
Snow Leopard Trophy=Schneeleopardentrophähe
|
||||
Snow Leopard Pillow=Schneeleoparden Kissen
|
||||
Snow Leopard Pillow Left=Linkes Schneeleopardenkissen
|
||||
Snow Leopard Pillow Right=Rechtes Schneeleopardenkissen
|
||||
Snowleopard Corpse=Erlegter Schneeleopard
|
||||
Tiger Trophy=Tigertrophähe
|
||||
Tiger Pillow=Tigerkissen
|
||||
Tiger Pillow Left=Linkes Tigerkissen
|
||||
Tiger Pillow Right=Rechtes Tigerkissen
|
||||
Tiger Corpse=Erlegter Tiger
|
||||
Tiger Stool=Tigerhocker
|
||||
Tiger Curtain=Tigervorhang
|
||||
Tiger Pelt=Tigerpelz
|
||||
Tiger Pelt hanging=Hängender Tigerpelz
|
||||
Wolverine Trophy=Vielfrasstrophähe
|
||||
Wolverine Corpse=Erlegter Vielfrass
|
||||
Polar Bear Trophy=Eisbärentrophähe
|
||||
Polar Bear Pelt=Eisbärfell
|
||||
Polar Bear Pelt hanging=Hängendes Eisbärfell
|
||||
Polar Bear Corpse=Erlegter Eisbär
|
||||
Muskox Trophy=Moschusochsentrophähe
|
||||
Muskox Pelt=Moschusochsenfell
|
||||
Muskox Pelt hanging=Hängendes Moschusochsenfell
|
||||
Muskox Corpse=Erlegter Moschusochse
|
||||
Muskox Stool=Moschusochsenhocker
|
||||
Trout=Forelle
|
||||
Tundra Shrub=Tundrabusch
|
||||
Viper=Kreuzotter
|
||||
Wolverine=Vielfrass
|
||||
Vulture=Geier
|
||||
Wasp=Wespe
|
||||
Wasp Nest=Wespennest
|
||||
Wild Boar=Wildschwein
|
||||
Bucket of Milk"=Milcheimer
|
||||
Glass of Milk=Milchglas
|
||||
Cheese=Käse
|
||||
Cheese Block=Käseblock
|
||||
Yak already milked!=Yak wurde bereits gemolken!
|
||||
Bucket of Milk=Milcheimer
|
||||
Raw Mollusk=Rohes Molluskenfleisch
|
||||
Fried Mollusk=Geröstetes Molluskenfleisch
|
||||
Squid=Tintenfisch
|
||||
Spider=Spinne
|
||||
Cooked Athropod=Gekochter Athropode
|
||||
Raw Athropod=Roher Athropode
|
||||
Raw Fish=Roher Fisch
|
||||
Cooked Fish=Gekochter Fisch
|
||||
Fish Food=Fischfutter
|
||||
Snail=Schnecke
|
||||
Escargots=Schneckenmenü
|
||||
Stellers Sea Eagle=Seeadler
|
||||
Spider Male=Männliche Spinne
|
||||
Scorpion=Skorpion
|
||||
Seahorse=Seepferdchen
|
||||
Roadrunner=Rennkuckuck
|
||||
Shark=Hai
|
||||
Snow Leopard=Schneeleopard
|
||||
Robin=Rotkehlchen
|
291
mods/animalworld/locale/animalworld.fr.tr
Normal file
291
mods/animalworld/locale/animalworld.fr.tr
Normal file
|
@ -0,0 +1,291 @@
|
|||
# textdomain: animalworld
|
||||
|
||||
Ant=Fourmi
|
||||
Raw Ant Eggs=Oeufs de Fourmi Crus
|
||||
Cooked Ant Eggs=Oeufs de Fourmi Cuits
|
||||
Anthill=Fourmillière
|
||||
Anteater=Fourmilier
|
||||
Bat=Chauve-Souris
|
||||
Bear=Ours
|
||||
Beaver=Castor
|
||||
Beaver Nest=Nid de Castor
|
||||
Beluga Whale=Beluga
|
||||
Raw Whale Meat=Viande de Baleine Crue
|
||||
Cooked Whale Meat=Viande de Baleine Cuite
|
||||
Whale Blubber=Graisse de Baleine
|
||||
Blackbird=Merle
|
||||
Black Grouse=Tétras-Lyre
|
||||
Boar=Sanglier
|
||||
Raw Pork=Porc cru
|
||||
Cooked Pork=Porc cuit
|
||||
Camel=Chameau
|
||||
Carp=Carpe
|
||||
Clamydosaurus=Lézard à Collerette
|
||||
Cockatoo=Cacatoès
|
||||
Cockroach=Cafard
|
||||
Roasted Cockroach=Cafard rôti
|
||||
Termite Concrete Wall=Mur en Béton Termite
|
||||
Termite Concrete Stair=Escalier en Béton Termite
|
||||
Termite Concrete Slab=Plaque de Béton Termite
|
||||
Termite Concrete White Wall=Mur en Béton Termite Blanc
|
||||
Termite Concrete White Stair=Escalier en Béton Termite Blanc
|
||||
Termite Concrete White Slab=Plaque de Béton Termite Blanc
|
||||
Termite Concrete Grey Wall=Mur en Béton Termite Gris
|
||||
Termite Concrete Grey Stair=Escalier en Béton Termite Gris
|
||||
Termite Concrete Grey Slab=Plaque de Béton Termite Gris
|
||||
Termite Concrete Black Wall=Mur en Béton Termite Noir
|
||||
Termite Concrete Black Stair=Escalier en Béton Termite Noir
|
||||
Termite Concrete Black Slab=Plaque de Béton Termite Noir
|
||||
Termite Concrete Blue Wall=Mur en Béton Termite Bleu
|
||||
Termite Concrete Blue Stair=Escalier en Béton Termite Bleu
|
||||
Termite Concrete Blue Slab=Plaque de Béton Termite Bleu
|
||||
Termite Concrete Cyan Wall=Mur en Béton Termite Cyan
|
||||
Termite Concrete Cyan Stair=Escalier en Béton Termite Cyan
|
||||
Termite Concrete Cyan Slab=Plaque de Béton Termite Cyan
|
||||
Termite Concrete Green Wall=Mur en Béton Termite Vert
|
||||
Termite Concrete Green Stair=Escalier en Béton Termite Vert
|
||||
Termite Concrete Green Slab=Plaque de Béton Termite Vert
|
||||
Termite Concrete Dark Green Wall=Mur en Béton Termite Vert Foncé
|
||||
Termite Concrete Dark Green Stair=Escalier en Béton Termite Vert Foncé
|
||||
Termite Concrete Dark Green Slab=Béton Termite Vert Foncé
|
||||
Termite Concrete Yellow Wall=Mur en Béton Termite Jaune
|
||||
Termite Concrete Yellow Stair=Escalier en Béton Termite Jaune
|
||||
Termite Concrete Yellow Slab=Plaque de Béton Termite Jaune
|
||||
Termite Concrete Orange Wall=Mur en Béton Termite Orange
|
||||
Termite Concrete Orange Stair=Escalier en Béton Termite Orange
|
||||
Termite Concrete Orange Slab=Plaque de Béton Termite Orange
|
||||
Termite Concrete Brown Wall=Mur en Béton Termite Marron
|
||||
Termite Concrete Brown Stair=Escalier en Béton Termite Marron
|
||||
Termite Concrete Brown Slab=Plaque de Béton Termite Marron
|
||||
Termite Concrete Red Wall=Mur en Béton Termite Rouge
|
||||
Termite Concrete Red Stair=Escalier en Béton Termite Rouge
|
||||
Termite Concrete Red Slab=Plaque de Béton Termite Rouge
|
||||
Termite Concrete Pink Wall=Mur en Béton Termite Rose
|
||||
Termite Concrete Pink Stair=Escalier en Béton Termite Rose
|
||||
Termite Concrete Pink Slab=Plaque de Béton Termite Rose
|
||||
Termite Concrete Magenta Wall=Mur en Béton Termite Magenta
|
||||
Termite Concrete Magenta Stair=Escalier en Béton Termite Magenta
|
||||
Termite Concrete Magenta Slab=Plaque de Béton Termite Magenta
|
||||
Termite Concrete Violet Wall=Mur en Béton Termite Violet
|
||||
Termite Concrete Violet Stair=Escalier en Béton Termite Violet
|
||||
Termite Concrete Violet Slab=Plaque de Béton Termite Violet
|
||||
Crab=Crabe
|
||||
Crocodile=Crocodile
|
||||
Diving Beetle=Scarabée d'eau
|
||||
Dragonfly=Libellule
|
||||
Echidna=Echidné
|
||||
Elephant=Elephant
|
||||
Fox=Renard
|
||||
Frog=Grenouille
|
||||
Goby=Gobie
|
||||
Golden Mole=Taupe Dorée
|
||||
Goose=Oie
|
||||
Hare=Lièvre
|
||||
Raw Hare=Lièvre Cru
|
||||
Cooked Hare=Lièvre Cuit
|
||||
Hare Hide=Peau de Lièvre
|
||||
Hermit Crab=Bernard L'Ermite
|
||||
Hippo=Hippopotame
|
||||
Hyena=Hyène
|
||||
Ibex=Bouquetin
|
||||
Iguana=Iguane
|
||||
Indian Rhino=Rhinocéros d'Inde
|
||||
Kangaroo=Kangourou
|
||||
Cobra=Cobra
|
||||
Leopard Seal=Léopard de mer
|
||||
Lobster=Homard
|
||||
Locust=Criquet
|
||||
Roasted Locust=Criquet Rôti
|
||||
Manatee=Lamantin
|
||||
Marmot=Marmotte
|
||||
Monitor Lizard=Varan
|
||||
Monkey=Singe
|
||||
Moose=Élan
|
||||
Mosquito=Moustique
|
||||
Musk Ox=Boeuf Musqué
|
||||
Bird Egg=Oeuf d'oiseau
|
||||
Fried Egg=Oeuf au plat
|
||||
Raw Birdmeat=Viande d'Oiseau Crue
|
||||
Cooked Birdmeat=Viande d'Oiseau Cuite
|
||||
Feather=Plume
|
||||
Notoptera=Notoptère
|
||||
Bug on Ice=Grylloblatte
|
||||
Dragonfly Nymph=Nymphe de Libellule
|
||||
Oryx=Oryx
|
||||
Otter=Loutre
|
||||
Owl=Hibou
|
||||
Panda=Panda
|
||||
Parrot=Perroquet
|
||||
Flying Parrot=Perroquet Volant
|
||||
Polar Bear=Ours Polaire
|
||||
Puffin=Macareux
|
||||
Rat=Rat
|
||||
Cooked Rodent Meat=Viande de Rongeur Cuite
|
||||
Stingray=Raie
|
||||
Termite Queen=Reine Termite
|
||||
Termite Mound=Termitière
|
||||
Termite Concrete=Béton Termite
|
||||
Termite Concrete Blue=Béton Termite Bleu
|
||||
Termite Concrete Green=Béton Termite Vert
|
||||
Termite Concrete Yellow=Béton Termite Jaune
|
||||
Termite Concrete Red=Béton Termite Rouge
|
||||
Termite Concrete Orange=Béton Termite Orange
|
||||
Termite Concrete Violet=Béton Termite Violet
|
||||
Termite Concrete White=Béton Termite Blanc
|
||||
Termite Concrete Black=Béton Termite Noir
|
||||
Termite Concrete Grey=Béton Termite Gris
|
||||
Termite Concrete Dark Green=Béton Termite Vert Foncé
|
||||
Termite Concrete Brown=Béton Termite Marron
|
||||
Termite Concrete Pink=Béton Termite Rose
|
||||
Termite Concrete Magenta=Béton Termite Magenta
|
||||
Termite Concrete Cyan=Béton Termite Cyan
|
||||
Tortoise=Tortue de terre
|
||||
Toucan=Toucan
|
||||
Tree Lobster=Homard des Arbres
|
||||
Anteater Pillow=Oreiller en Fourmilier
|
||||
Anteater Pillow Left=Oreiller en Fourmilier (à Gauche)
|
||||
Anteater Pillow Right=Oreiller en Fourmilier (à Droite)
|
||||
Anteater Corpse=Cadavre de Fourmilier
|
||||
Bear Trophy=Trophée d'Ours
|
||||
Bear Pelt=Fourrure d'Ours
|
||||
Bear Pelt hanging=Fourrure d'Ours Suspendue
|
||||
Bear Corpse=Cadavre d'Ours
|
||||
Bear Stool=Excréments d'Ours
|
||||
Blackbird Pillow=Oreiller en Merle
|
||||
Blackbird Pillow Left=Oreiller en Merle (à Gauche)
|
||||
Blackbird Pillow Right=Oreiller en Merle (à Droite)
|
||||
Blackbird Corpse=Cadavre de Merle
|
||||
Blackbird Curtain=Rideaux en Merle
|
||||
Boar Trophy=Trophée de Sanglier
|
||||
Boar Pelt=Fourrure de Sanglier
|
||||
Boar Pelt hanging=Fourrure de Sanglier Suspendue
|
||||
Boar Corpse=Cadavre de Sanglier
|
||||
Camel Pillow=Oreiller en Chameau
|
||||
Camel Pillow Left=Oreiller en Chameau (à Gauche)
|
||||
Camel Pillow Right=Oreiller en Chameau (à Droite)
|
||||
Camel Corpse=Cadavre de Chameau
|
||||
Camel Pelt=Fourrure de Chameau
|
||||
Camel Pelt hanging=Fourrure de Chameau Suspendue
|
||||
Camel Curtain=Rideau en Chameau
|
||||
Crocodile Trophy=Trophée de Crocodile
|
||||
Crocodile Corpse=Cadavre de Crocodile
|
||||
Crocodile Stool=Excréments de Crocodile
|
||||
Crocodile Curtain=Rideau en Crocodile
|
||||
Crocodile Skin=Peau de Crocodile
|
||||
Crocodile Skin hanging=Peau de Crocodile Skin Suspendue
|
||||
Elephant Trophy=Trophée d'Élephant
|
||||
Elephant Corpse=Cadavre d'Élephant
|
||||
Ivory Table=Table en Ivoire
|
||||
Ivory Chair=Chaise en Ivoire
|
||||
Ivory Vase=Vase en Ivoire
|
||||
Elephant Stool=Excréments d'Élephant
|
||||
Gnu Pelt=Fourrure de Gnou
|
||||
Gnu Pelt hanging=Fourrure de Gnou Suspendue
|
||||
Gnu Corpse=Cadavre de Gnou
|
||||
Gnu Trophy=Trophée de Gnou
|
||||
Gnu Stool=Excréments de Gnou
|
||||
Gnu Curtain=Rideau en Gnou
|
||||
Hippo Stool=Excréments d'Hippopotame
|
||||
Hippo Curtain=Rideau en Hippopotame
|
||||
Hippo Corpse=Cadavre d'Hippopotame
|
||||
Hyena Trophy=Trophée de Hyène
|
||||
Hyena Corpse=Cadavre de Hyène
|
||||
Hyena Pillow=Oreiller en Hyène
|
||||
Hyea Pillow Left=Oreiller en Hyène (à Gauche)
|
||||
Hyena Pillow Right=Oreiller en Hyène (à Droite)
|
||||
Kangaroo Corpse=Cadavre de Kangourou
|
||||
Kangaroo Pillow=Oreiller en Kangourou
|
||||
Kangaroo Pillow Left=Oreiller en Kangourou (à Gauche)
|
||||
Kangaroo Pillow Right=Oreiller en Kangourou (à Droite)
|
||||
Kangaroo Curtain=Rideau en Kangourou
|
||||
Monitor Lizard Trophy=Trophée de Varan
|
||||
Monitor Lizard Corpse=Cadavre de Varan
|
||||
Monitor Lizard Stool=Excréments de Varan
|
||||
Monitor Curtain=Rideau en Varan
|
||||
Moose Trophy=Trophée d'Élan
|
||||
Moose Pelt=Fourrure d'Élan
|
||||
Moose Pelt hanging=Fourrure d'Élan Suspendue
|
||||
Moose Corpse=Cadavre d'Élan
|
||||
Owl Trophy=Trophée de Hibou
|
||||
Owl Corpse=Cadavre de Hibou
|
||||
Reindeer=Renne
|
||||
Reindeer Trophy=Trophée de Renne
|
||||
Reindeer Pelt=Fourrure de Renne
|
||||
Reindeer Pelt hanging=Fourrure de Renne Suspendue
|
||||
Reindeer Corpse=Cadavre de Renne
|
||||
Seal Pillow=Oreiller en Phoque
|
||||
Seal Pillow Left=Oreiller en Phoque (à Gauche)
|
||||
Seal Pillow Right=Oreiller en Phoque (à Droite)
|
||||
Seal Corpse=Cadavre de Phoque
|
||||
Seal Stool=Excréments de Phoque
|
||||
Seal Curtain=Rideau en Phoque
|
||||
Seal=Phoque
|
||||
Shark Trophy=Trophée de Requin
|
||||
Shark Corpse=Cadavre de Requin
|
||||
Vulture Pillow=Oreiller en Vautour
|
||||
Vulture Pillow Left=Oreiller en Vautour (à Gauche)
|
||||
Vulture Pillow Right=Oreiller en Vautour (à Droite)
|
||||
Vulture Corpse=Cadavre de Vautour
|
||||
Yak Trophy=Trophée de Yak
|
||||
Yak Pelt=Fourrure de Yak
|
||||
Yak Pelt hanging=Fourrure de Yak Suspendue
|
||||
Yak Corpse=Cadavre de Yak
|
||||
Yak Stool=Excréments de Yak
|
||||
Yak Curtain=Rideau en Yak
|
||||
Snow Leopard Trophy=Trophée de Léopard des Neiges
|
||||
Snow Leopard Pillow=Oreiller en Léopard des Neiges
|
||||
Snow Leopard Pillow Left=Oreiller en Léopard des Neiges (à Gauche)
|
||||
Snow Leopard Pillow Right=Oreiller en Léopard des Neiges (à Droite)
|
||||
Snowleopard Corpse=Cadavre de Léopard des Neiges
|
||||
Tiger Trophy=Trophée de Tigre
|
||||
Tiger Pillow=Oreiller en Tigre
|
||||
Tiger Pillow Left=Oreiller en Tigre (à Gauche)
|
||||
Tiger Pillow Right=Oreiller en Tigre (à Droite)
|
||||
Tiger Corpse=Cadavre de Tigre
|
||||
Tiger Stool=Excréments de Tigre
|
||||
Tiger Curtain=Rideau en Tiger
|
||||
Tiger Pelt=Fourrure de Tigre
|
||||
Tiger Pelt hanging=Fourrure de Tigre Suspendue
|
||||
Wolverine Trophy=Trophée de Carcajou
|
||||
Wolverine Corpse=Cadavre de Carcajou
|
||||
Polar Bear Trophy=Trophée d'Ours Polaire
|
||||
Polar Bear Pelt=Fourrure d'Ours Polaire
|
||||
Polar Bear Pelt hanging=Fourrure d'Ours Polaire Suspendue
|
||||
Polar Bear Corpse=Cadavre d'Ours Polaire
|
||||
Muskox Trophy=Trophée de Boeuf Musqué
|
||||
Muskox Pelt=Fourrure de Boeuf Musqué
|
||||
Muskox Pelt hanging=Fourrure de Boeuf Musqué Suspendue
|
||||
Muskox Corpse=Cadavre de Boeuf Musqué
|
||||
Muskox Stool=Excréments de Boeuf Musqué
|
||||
Trout=Truite
|
||||
Tundra Shrub=Arbuste de la Toundra
|
||||
Viper=Vipère
|
||||
Wolverine=Carcajou
|
||||
Vulture=Vautour
|
||||
Wasp=Guêpe
|
||||
Wasp Nest=Nid de Guêpe
|
||||
Wild Boar=Sanglier Sauvage
|
||||
Glass of Milk=Verre de Lait
|
||||
Cheese=Fromage
|
||||
Cheese Block=Bloc de Fromage
|
||||
Yak already milked!=Yak déjà trait!
|
||||
Bucket of Milk=Seau de Lait
|
||||
Raw Mollusk=Mollusque Cru
|
||||
Fried Mollusk=Mollusque Frit
|
||||
Squid=Calamar
|
||||
Spider=Araignée
|
||||
Cooked Athropod=Arthropode Cuit
|
||||
Raw Athropod=Arthropode Cru
|
||||
Raw Fish=Poisson Cru
|
||||
Cooked Fish=Poisson Cuit
|
||||
Fish Food=Nourriture pour Poisson
|
||||
Snail=Escargot
|
||||
Escargots=Escargots
|
||||
Stellers Sea Eagle=Pygargue de Steller
|
||||
Spider Male=Araignée Mâle
|
||||
Scorpion=Scorpion
|
||||
Seahorse=Hippocampe
|
||||
Roadrunner=Géocoucou
|
||||
Shark=Requin
|
||||
Snow Leopard=Léopard des Neiges
|
||||
Robin=Rouge-gorge
|
291
mods/animalworld/locale/animalworld.ru.tr
Normal file
291
mods/animalworld/locale/animalworld.ru.tr
Normal file
|
@ -0,0 +1,291 @@
|
|||
# textdomain: animalworld
|
||||
|
||||
Ant=Муравей
|
||||
Raw Ant Eggs=Сырые муравьиные яйца
|
||||
Cooked Ant Eggs=Жаренные муравьиные яйца
|
||||
Anthill=Муравейник
|
||||
Anteater=Муравьед
|
||||
Bat=Летучая мышь
|
||||
Bear=Медведь
|
||||
Beaver=Бобер
|
||||
Beaver Nest=Бобриная нора
|
||||
Beluga Whale=Белуга
|
||||
Raw Whale Meat=Сырое китовое мясо
|
||||
Cooked Whale Meat=Жаренное китовое мясо
|
||||
Whale Blubber=Китовый жир
|
||||
Blackbird=Черный дрозд
|
||||
Black Grouse=Тетерев-косач
|
||||
Boar=Кабан
|
||||
Raw Pork=Сырая свинина
|
||||
Cooked Pork=Жаренная свинина
|
||||
Camel=Верблюд
|
||||
Carp=Карп
|
||||
Clamydosaurus=Плащеносная ящерица
|
||||
Cockatoo=Какаду
|
||||
Cockroach=Таракан
|
||||
Roasted Cockroach=Жаренный таракан
|
||||
Termite Concrete Wall=Стена с термитами
|
||||
Termite Concrete Stair=Ступеньки с термитами
|
||||
Termite Concrete Slab=Полублок с термитами
|
||||
Termite Concrete White Wall=Белая стена с термитами
|
||||
Termite Concrete White Stair=Белые ступеньки с термитами
|
||||
Termite Concrete White Slab=Белый полублок с термитами
|
||||
Termite Concrete Grey Wall=Серая стена с термитами
|
||||
Termite Concrete Grey Stair=Серые ступеньки с термитами
|
||||
Termite Concrete Grey Slab=Серый полублок с термитами
|
||||
Termite Concrete Black Wall=Черная стена с термитами
|
||||
Termite Concrete Black Stair=Черные ступеньки с термитами
|
||||
Termite Concrete Black Slab=Черный полублок с термитами
|
||||
Termite Concrete Blue Wall=Синяя стена с термитами
|
||||
Termite Concrete Blue Stair=Синие ступеньки с термитами
|
||||
Termite Concrete Blue Slab=Синий полублок с термитами
|
||||
Termite Concrete Cyan Wall=Голубая стена с термитами
|
||||
Termite Concrete Cyan Stair=Голубые ступеньки с термитами
|
||||
Termite Concrete Cyan Slab=Голубой полублок с термитами
|
||||
Termite Concrete Green Wall=Зеленая стена с термитами
|
||||
Termite Concrete Green Stair=Зеленые ступеньки с термитами
|
||||
Termite Concrete Green Slab=Зеленый полублок с термитами
|
||||
Termite Concrete Dark Green Wall=Темно-зеленая стена с термитами
|
||||
Termite Concrete Dark Green Stair=Темно-зеленые ступеньки с термитами
|
||||
Termite Concrete Dark Green Slab=Темно-зеленый полублок с термитами
|
||||
Termite Concrete Yellow Wall=Желтая стена с термитами
|
||||
Termite Concrete Yellow Stair=Желтые ступеньки с термитами
|
||||
Termite Concrete Yellow Slab=Желтый полублок с термитами
|
||||
Termite Concrete Orange Wall=Оранжевая стена с термитами
|
||||
Termite Concrete Orange Stair=Оранжевые ступеньки с термитами
|
||||
Termite Concrete Orange Slab=Оранжевый полублок с термитами
|
||||
Termite Concrete Brown Wall=Коричневая стена с термитами
|
||||
Termite Concrete Brown Stair=Коричневые ступеньки с термитами
|
||||
Termite Concrete Brown Slab=Коричневый полублок с термитами
|
||||
Termite Concrete Red Wall=Красная стена с термитами
|
||||
Termite Concrete Red Stair=Красные ступеньки с термитами
|
||||
Termite Concrete Red Slab=Красный полублок с термитами
|
||||
Termite Concrete Pink Wall=Розовая стена с термитами
|
||||
Termite Concrete Pink Stair=Розовые ступеньки с термитами
|
||||
Termite Concrete Pink Slab=Розовый полублок с термитами
|
||||
Termite Concrete Magenta Wall=Пурпурная стена с термитами
|
||||
Termite Concrete Magenta Stair=Пурпурные ступеньки с термитами
|
||||
Termite Concrete Magenta Slab=Пурпурный полублок с термитами
|
||||
Termite Concrete Violet Wall=Фиолетовая стена с термитами
|
||||
Termite Concrete Violet Stair=Фиолетовые ступеньки с термитами
|
||||
Termite Concrete Violet Slab=Фиолетовый полублок с термитами
|
||||
Crab=Краб
|
||||
Crocodile=Крокодил
|
||||
Diving Beetle=Плавунец
|
||||
Dragonfly=Стрекоза
|
||||
Echidna=Ехидна
|
||||
Elephant=Слон
|
||||
Fox=Лиса
|
||||
Frog=Лягушка
|
||||
Goby=Бычок
|
||||
Golden Mole=Слепыш
|
||||
Goose=Гусь
|
||||
Hare=Заяц
|
||||
Raw Hare=Сырая зайчатина
|
||||
Cooked Hare=Жаренная зайчатина
|
||||
Hare Hide=Шкура кролика
|
||||
Hermit Crab=Рак-отшельник
|
||||
Hippo=Бегемот
|
||||
Hyena=Гиена
|
||||
Ibex=Козерог
|
||||
Iguana=Игуана
|
||||
Indian Rhino=Индийский носорог
|
||||
Kangaroo=Кенгуру
|
||||
Cobra=Кобра
|
||||
Leopard Seal=Морской леопард
|
||||
Lobster=Лобстер
|
||||
Locust=Саранча
|
||||
Roasted Locust=Жаренная саранча
|
||||
Manatee=Ламантин
|
||||
Marmot=Сурок
|
||||
Monitor Lizard=Варан
|
||||
Monkey=Обезъяна
|
||||
Moose=Лось
|
||||
Mosquito=Москит
|
||||
Musk Ox=Овцебык
|
||||
Bird Egg=Яйцо птицы
|
||||
Fried Egg=Жаренное яйцо
|
||||
Raw Birdmeat=Сырое птичье мясо
|
||||
Cooked Birdmeat=Жаренное птичье мясо
|
||||
Feather=Перо
|
||||
Notoptera=Уховертка
|
||||
Bug on Ice=Жук во льду
|
||||
Dragonfly Nymph=Разнокрылая стрекоза
|
||||
Oryx=Орикс
|
||||
Otter=Выдра
|
||||
Owl=Сова
|
||||
Panda=Панда
|
||||
Parrot=Попугай
|
||||
Flying Parrot=Летающий попугай
|
||||
Polar Bear=Белый медведь
|
||||
Puffin=Тупик
|
||||
Rat=Крыса
|
||||
Cooked Rodent Meat=Жаренное мясо грызуна
|
||||
Stingray=Скат
|
||||
Termite Queen=Королева термитов
|
||||
Termite Mound=Термитник
|
||||
Termite Concrete=Блок с термитами
|
||||
Termite Concrete Blue=Синий блок с термитами
|
||||
Termite Concrete Green=Зеленый блок с термитами
|
||||
Termite Concrete Yellow=Желтый блок с термитами
|
||||
Termite Concrete Red=Красный блок с термитами
|
||||
Termite Concrete Orange=Оранжевый блок с термитами
|
||||
Termite Concrete Violet=Фиолетовый блок с термитами
|
||||
Termite Concrete White=Белый блок с термитами
|
||||
Termite Concrete Black=Черный блок с термитами
|
||||
Termite Concrete Grey=Серый блок с термитами
|
||||
Termite Concrete Dark Green=Зеленый блок с термитами
|
||||
Termite Concrete Brown=Коричневый блок с термитами
|
||||
Termite Concrete Pink=Розовый блок с термитами
|
||||
Termite Concrete Magenta=Пурпурный блок с термитами
|
||||
Termite Concrete Cyan=Голубой блок с термитами
|
||||
Tortoise=Черепаха
|
||||
Toucan=Тукан
|
||||
Tree Lobster=Палочник
|
||||
Anteater Pillow=Подушка из шкуры муравьеда
|
||||
Anteater Pillow Left=Подушка из шкуры муравьеда повернутая влево
|
||||
Anteater Pillow Right=Подушка из шкуры муравьеда повернутая вправо
|
||||
Anteater Corpse=Труп муравьеда
|
||||
Bear Trophy=Трофей с медведем
|
||||
Bear Pelt=Ковер из шкуры медведя
|
||||
Bear Pelt hanging=Вертикальный ковер из шкуры медведя
|
||||
Bear Corpse=Труп медведя
|
||||
Bear Stool=Стул с медведьей шкурой
|
||||
Blackbird Pillow=Подушка из шкуры черного дятла
|
||||
Blackbird Pillow Left=Подушка из шкуры черного дятла повернутая влево
|
||||
Blackbird Pillow Right=Подушка из шкуры черного дятла повернутая вправо
|
||||
Blackbird Corpse=Труп черного дятла
|
||||
Blackbird Curtain=Занавеска из крыльев черного дятла
|
||||
Boar Trophy=Трофей с кабаном
|
||||
Boar Pelt=Ковер из шкуры кабана
|
||||
Boar Pelt hanging=Вертикальный ковер из шкуры кабана
|
||||
Boar Corpse=Труп кабана
|
||||
Camel Pillow=Подушка из шкуры верблюда
|
||||
Camel Pillow Left=Подушка из шкуры верблюда повернутая влево
|
||||
Camel Pillow Right=Подушка из шкуры верблюда повернутая вправо
|
||||
Camel Corpse=Труп верблюда
|
||||
Camel Pelt=Ковер из шкуры верблюда
|
||||
Camel Pelt hanging=Вертикальный ковер из шкуры верблюда
|
||||
Camel Curtain=Занавески из шкуры верблюда
|
||||
Crocodile Trophy=Трофей с крокодилом
|
||||
Crocodile Corpse=Труп крокодила
|
||||
Crocodile Stool=Стул с кожей крокодила
|
||||
Crocodile Curtain=Занавески из кожи крокодила
|
||||
Crocodile Skin=Кожа крокодила
|
||||
Crocodile Skin hanging=Вертикальная кожа крокодила
|
||||
Elephant Trophy=Трофей со слоном
|
||||
Elephant Corpse=Труп слона
|
||||
Ivory Table=Стол из слоновой кости
|
||||
Ivory Chair=Стул из слоновой кости
|
||||
Ivory Vase=Ваза из слоновой кости
|
||||
Elephant Stool=Стул со шкурой слона
|
||||
Gnu Pelt=Ковер из шкур антилопы гну
|
||||
Gnu Pelt hanging=Вертикальный ковер из шкуры антилопы гну
|
||||
Gnu Corpse=Труп антилопы гну
|
||||
Gnu Trophy=Трофей с антилопой гну
|
||||
Gnu Stool=Стул со шкурой антилопы гну
|
||||
Gnu Curtain=Занавески из шкуры антилопы гну
|
||||
Hippo Stool=Стул со шкурой гиппопотама
|
||||
Hippo Curtain=Занавески из шкуры гиппопотама
|
||||
Hippo Corpse=Труп гиппопотама
|
||||
Hyena Trophy=Трофей с гиеной
|
||||
Hyena Corpse=Труп гиены
|
||||
Hyena Pillow=Подушка из шкуры гиены
|
||||
Hyea Pillow Left=Подушка из шкуры гиены повернутая влево
|
||||
Hyena Pillow Right=Подушка из шкуры гиены повернутая вправо
|
||||
Kangaroo Corpse=Труп кенгуру
|
||||
Kangaroo Pillow=Подушка из шкуры кенгуру
|
||||
Kangaroo Pillow Left=Подушка из шкуры кенгуру повернутая вправо
|
||||
Kangaroo Pillow Right=Подушка из шкуры кенгуру повернутая влево
|
||||
Kangaroo Curtain=Занавески из шкуры кенгуру
|
||||
Monitor Lizard Trophy=Трофей с вараном
|
||||
Monitor Lizard Corpse=Труп варана
|
||||
Monitor Lizard Stool=Стул со шкурой варана
|
||||
Monitor Curtain=Занавески из шкуры варана
|
||||
Moose Trophy=Трофей с лосем
|
||||
Moose Pelt=Ковер из шкуры лося
|
||||
Moose Pelt hanging=Вертикальный ковер из шкуры лося
|
||||
Moose Corpse=Труп лося
|
||||
Owl Trophy=Трофей с совой
|
||||
Owl Corpse=Труп совы
|
||||
Reindeer=Северный олень
|
||||
Reindeer Trophy=Трофей с северным оленем
|
||||
Reindeer Pelt=Ковер с шкуры северного оленя
|
||||
Reindeer Pelt hanging=Вертикальный ковер из шкуры северного оленя
|
||||
Reindeer Corpse=Труп северного оленя
|
||||
Seal Pillow=Подушка из шкуры тюленя
|
||||
Seal Pillow Left=Подушка из шкуры тюленя повернутая влево
|
||||
Seal Pillow Right=Подушка из шкуры тюленя повернутая вправо
|
||||
Seal Corpse=Труп тюленя
|
||||
Seal Stool=Стул со шкурой тюленя
|
||||
Seal Curtain=Занавески из шкуры тюленя
|
||||
Seal=Тюлень
|
||||
Shark Trophy=Трофей с акулой
|
||||
Shark Corpse=Труп акулы
|
||||
Vulture Pillow=Подушка из шкуры стервятника
|
||||
Vulture Pillow Left=Подушка из шкуры стервятника повернутая влево
|
||||
Vulture Pillow Right=Подушка из шкуры стервятника повернутая вправо
|
||||
Vulture Corpse=Труп стервятника
|
||||
Yak Trophy=Трофей с яком
|
||||
Yak Pelt=Ковер из шкуры яка
|
||||
Yak Pelt hanging=Вертикальный ковер из шкуры яка
|
||||
Yak Corpse=Труп яка
|
||||
Yak Stool=Стул со шкурой яка
|
||||
Yak Curtain=Занавески из шкуры яка
|
||||
Snow Leopard Trophy=Трофей с ирбисом
|
||||
Snow Leopard Pillow=Подушка со шкурой ирбиса
|
||||
Snow Leopard Pillow Left=Подушка со шкурой ирбиса повернутая влево
|
||||
Snow Leopard Pillow Right=Подушка со шкурой ирбиса повернутая вправо
|
||||
Snowleopard Corpse=Труп ирбиса
|
||||
Tiger Trophy=Труп тигра
|
||||
Tiger Pillow=Подушка со шкурой тигра
|
||||
Tiger Pillow Left=Подушка со шкурой тигра повернутая влево
|
||||
Tiger Pillow Right=Подушка со шкурой тигра повернутая вправо
|
||||
Tiger Corpse=Труп тигра
|
||||
Tiger Stool=Стул со шкурой тигра
|
||||
Tiger Curtain=Занавески из шкурой тигра
|
||||
Tiger Pelt=Ковер из шкуры тигра
|
||||
Tiger Pelt hanging=Вертикальный ковер из шкуры тигра
|
||||
Wolverine Trophy=Трофей с росомахой
|
||||
Wolverine Corpse=Труп росомахи
|
||||
Polar Bear Trophy=Трофей с белым медведем
|
||||
Polar Bear Pelt=Ковер из шкуры белого медведя
|
||||
Polar Bear Pelt hanging=Вертикальный ковер из шкуры белого медведя
|
||||
Polar Bear Corpse=Труп белого медведя
|
||||
Muskox Trophy=Трофей с овцебыком
|
||||
Muskox Pelt=Ковер из шкуры овцебыка
|
||||
Muskox Pelt hanging=Вертикальный ковер из шкуры овцебыка
|
||||
Muskox Corpse=Труп из овцебыка
|
||||
Muskox Stool=Стул со шкурой овцебыка
|
||||
Trout=Форель
|
||||
Tundra Shrub=Тундровый кустарник
|
||||
Viper=Гадюка
|
||||
Wolverine=Росомаха
|
||||
Vulture=Стервятник
|
||||
Wasp=Оса
|
||||
Wasp Nest=Осиное гнездо
|
||||
Wild Boar=Дикий кабан
|
||||
Glass of Milk=Бутылка молока
|
||||
Cheese=Сыр
|
||||
Cheese Block=Сырный блок
|
||||
Yak already milked!=Як уже подоен!
|
||||
Bucket of Milk=Ведро молока
|
||||
Raw Mollusk=Сырой моллюск
|
||||
Fried Mollusk=Жаренный моллюск
|
||||
Squid=Кальмар
|
||||
Spider=Паук
|
||||
Cooked Athropod=Жаренный атропод
|
||||
Raw Athropod=Сырой атропод
|
||||
Raw Fish=Сырая рыба
|
||||
Cooked Fish=Жаренная рыба
|
||||
Fish Food=Корм для рыбы
|
||||
Snail=Улитка
|
||||
Escargots=Эскарго
|
||||
Stellers Sea Eagle=Белоплечий орлан
|
||||
Spider Male=Паук-самец
|
||||
Scorpion=Скорпион
|
||||
Seahorse=Морской конек
|
||||
Roadrunner=Кукушки-подорожники
|
||||
Shark=Акула
|
||||
Snow Leopard=Ирбис
|
||||
Robin=Зарянка
|
107
mods/animalworld/locust.lua
Normal file
107
mods/animalworld/locust.lua
Normal file
|
@ -0,0 +1,107 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
|
||||
mobs:register_mob("animalworld:locust", {
|
||||
stepheight = 3,
|
||||
type = "animal",
|
||||
passive = true,
|
||||
attack_type = "dogfight",
|
||||
attack_animals = false,
|
||||
reach = 2,
|
||||
damage = 0,
|
||||
hp_min = 5,
|
||||
hp_max = 20,
|
||||
armor = 100,
|
||||
collisionbox = {-0.1, -0.01, -0.1, 0.1, 0.2, 0.1},
|
||||
visual = "mesh",
|
||||
mesh = "Locust.b3d",
|
||||
visual_size = {x = 1.0, y = 1.0},
|
||||
textures = {
|
||||
{"texturelocust.png"},
|
||||
},
|
||||
sounds = {
|
||||
random = "animalworld_locust",
|
||||
distance = 16,
|
||||
},
|
||||
makes_footstep_sound = false,
|
||||
walk_velocity = 3,
|
||||
walk_chance = 15,
|
||||
run_velocity = 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:scorpion", "animalworld:polarbear", "animalworld:leopardseal", "animalworld:stellerseagle", "player", "animalworld:wolf", "animalworld:panda", "animalworld:stingray", "marinaramobs:jellyfish", "marinaramobs:octopus", "livingcavesmobs:biter", "livingcavesmobs:flesheatingbacteria"},
|
||||
jump = true,
|
||||
jump_height = 6,
|
||||
stepheight = 3,
|
||||
stay_near = {{"default:dry_grass_1", "default:dry_grass_2", "default:dry_grass_3", "default:dry_grass_4", "naturalbiomes:bushland_grass", "naturalbiomes:bushland_grass2", "naturalbiomes:bushland_grass3", "naturalbiomes:bushland_grass4"}, 4},
|
||||
drops = {
|
||||
{name = "animalworld:locust", chance = 1, min = 1, max = 1},
|
||||
|
||||
},
|
||||
water_damage = 1,
|
||||
lava_damage = 4,
|
||||
light_damage = 0,
|
||||
fear_height = 10,
|
||||
animation = {
|
||||
speed_normal = 100,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
stand2_start = 0,
|
||||
stand2_end = 1,
|
||||
walk_start = 100,
|
||||
walk_end = 200,
|
||||
fly_start = 250, -- swim animation
|
||||
fly_end = 350,
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
die_loop = false,
|
||||
die_rotate = true,
|
||||
},
|
||||
|
||||
fly_in = {"air"},
|
||||
floats = 0,
|
||||
follow = {"default:dry_shrub ", "default:grass_1", "ethereal:dry_shrub", "farming:seed_wheat", "farming:seed_rye", "default:junglegrass", "ethereal:banana_single", "farming:corn_cob", "farming:cabbage",
|
||||
"default:apple", "farming:cabbage", "farming:carrot", "farming:cucumber", "farming:grapes", "farming:pineapple", "ethereal:orange", "ethereal:coconut", "ethereal:coconut_slice", "group:grass", "group:normal_grass"},
|
||||
|
||||
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, 15, 25, 0, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:locust",
|
||||
nodes = {"default:dry_dirt_with_dry_grass", "mcl_core:dirt_with_grass", "ethereal:prairie_dirt", "naturalbiomes:bushland_bushlandlitter"},
|
||||
neighbors = {"naturalbiomes:heath_grass", "mcl_flowers:tallgrass", "naturalbiomes:heath_grass2", "naturalbiomes:heath_grass3", "naturalbiomes:heatherflower", "naturalbiomes:heatherflower2", "naturalbiomes:heatherflower3", "group:grass", "group:normal_grass", "naturalbiomes:med_flower2", "naturalbiomes:med_grass1", "naturalbiomes:med_grass2", "naturalbiomes:med_flower3", "naturalbiomes:bushland_grass4", "naturalbiomes:bushland_grass5", "naturalbiomes:bushland_grass6", "group:grass", "group:normal_grass"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 2,
|
||||
min_height = 10,
|
||||
max_height = 75,
|
||||
day_toggle = true,
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:locust", S("Locust"), "alocust.png")
|
||||
|
||||
|
||||
minetest.register_craftitem(":animalworld:locust_roasted", {
|
||||
description = S("Roasted Locust"),
|
||||
inventory_image = "animalworld_locust_roasted.png",
|
||||
on_use = minetest.item_eat(8),
|
||||
groups = {food_meat = 1, flammable = 2},
|
||||
})
|
||||
|
||||
minetest.register_craft({
|
||||
type = "cooking",
|
||||
output = "animalworld:locust_roasted",
|
||||
recipe = "animalworld:locust",
|
||||
cooktime = 2,
|
||||
})
|
||||
|
118
mods/animalworld/manatee.lua
Normal file
118
mods/animalworld/manatee.lua
Normal file
|
@ -0,0 +1,118 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
local random = math.random
|
||||
|
||||
mobs:register_mob("animalworld:manatee", {
|
||||
stepheight = 0.0,
|
||||
type = "animal",
|
||||
passive = true,
|
||||
attack_type = "dogfight",
|
||||
attack_animals = false,
|
||||
reach = 1,
|
||||
damage = 1,
|
||||
hp_min = 50,
|
||||
hp_max = 80,
|
||||
armor = 100,
|
||||
collisionbox = {-0.7, -0.01, -0.7, 0.7, 0.95, 0.7},
|
||||
visual = "mesh",
|
||||
mesh = "Manatee.b3d",
|
||||
visual_size = {x = 1.0, y = 1.0},
|
||||
textures = {
|
||||
{"texturemanatee.png"},
|
||||
},
|
||||
sounds = {},
|
||||
makes_footstep_sound = false,
|
||||
walk_velocity = 0.5,
|
||||
run_velocity = 2,
|
||||
fly = true,
|
||||
fly_in = "default:water_source", "default:river_water_source", "default:water_flowing", "default:river_water_flowing", "mcl_core:water_source", "mcl_core: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: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", "mcl_flowers:waterlily", "mcl_ocean:seagrass:sand", "default:sand_with_kelp", "marinara:sand_with_kelp", "marinara:reed_root", "flowers:waterlily_waving", "naturalbiomes:waterlily", "default:clay"}, 5},
|
||||
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_speed = 40,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
fly_start = 100, -- swim animation
|
||||
fly_end = 250,
|
||||
punch_start = 100,
|
||||
punch_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", "mcl_core:water_source", "mcl_core:water_flowing"},
|
||||
floats = 0,
|
||||
follow = {
|
||||
"default:kelp", "mcl_flowers:tallgrass", "mcl_core:deadbush", "mcl_bamboo:bamboo", "seaweed", "marinara:sand_with_seagrass", "marinara:sand_with_seagrass2", "xocean:kelp",
|
||||
"default:grass", "farming:cucumber", "farming:cabbage", "xocean:seagrass", "farming:lettuce", "default:junglegrass", "group:grass", "group:normal_grass"
|
||||
},
|
||||
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, 0, 15, 25, false, nil) then return end
|
||||
end,
|
||||
})
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:manatee",
|
||||
nodes = {"mcl_core:water_source", "default:water_source"}, {"default:river_water_source"}, {"mcl_core:water_source"}, {"mcl_core:water_flowing"},
|
||||
neighbors = {"marinara:sand_with_seagrass", "default:sand_with_kelp", "marinara:sand_with_kelp", "mcl_ocean:seagrass:sand", "mcl_ocean:bubble_coral", "mcl_ocean:tube_coral", "mcl_ocean:fire_coral", "mcl_ocean:brain_coral"},
|
||||
min_light = 0,
|
||||
interval = 30,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 2,
|
||||
min_height = -10,
|
||||
max_height = 10,
|
||||
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 2
|
||||
local iter = math.min(#nods, 2)
|
||||
|
||||
-- print("--- manatee 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 = "animalworld:manatee", child = kid})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:manatee", S("Manatee"), "amanatee.png")
|
131
mods/animalworld/marmot.lua
Normal file
131
mods/animalworld/marmot.lua
Normal file
|
@ -0,0 +1,131 @@
|
|||
local S = minetest.get_translator("animalworld")
|
||||
local random = math.random
|
||||
|
||||
mobs:register_mob("animalworld:marmot", {
|
||||
stepheight = 2,
|
||||
type = "animal",
|
||||
passive = false,
|
||||
attack_type = "dogfight",
|
||||
group_attack = true,
|
||||
owner_loyal = true,
|
||||
attack_npcs = false,
|
||||
reach = 2,
|
||||
damage = 1,
|
||||
hp_min = 10,
|
||||
hp_max = 30,
|
||||
armor = 100,
|
||||
collisionbox = {-0.3, -0.01, -0.3, 0.3, 0.95, 0.3},
|
||||
visual = "mesh",
|
||||
mesh = "Marmot.b3d",
|
||||
textures = {
|
||||
{"texturemarmot.png"},
|
||||
},
|
||||
makes_footstep_sound = true,
|
||||
sounds = {
|
||||
random = "animalworld_marmot",
|
||||
damage = "animalworld_marmot2",
|
||||
},
|
||||
walk_velocity = 2,
|
||||
run_velocity = 3,
|
||||
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: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,
|
||||
pushable = true,
|
||||
follow = {"default:grass_3", "default:dry_grass_3", "ethereal:dry_shrub", "mcl_flowers:tallgrass", "mcl_flowers:tulip_red", "mcl_flowers:sunflower", "farming:lettuce", "farming:seed_wheat", "default:junglegrass", "naturalbiomes:alpine_grass1", "naturalbiomes:alpine_grass2", "naturalbiomes:alpine_grass3", "naturalbiomes:alpine_dandelion", "livingdesert:coldsteppe_grass1", "livingdesert:coldsteppe_grass2"},
|
||||
view_range = 10,
|
||||
drops = {
|
||||
{name = "mobs:meat_raw", chance = 1, min = 1, max = 1},
|
||||
{name = "mobs:leather", chance = 1, min = 0, max = 2},
|
||||
},
|
||||
water_damage = 0,
|
||||
lava_damage = 5,
|
||||
light_damage = 0,
|
||||
fear_height = 3,
|
||||
stay_near = {{"naturalbiomes:alpine_grass1", "naturalbiomes:alpine_grass2", "naturalbiomes:alpine_grass3", "naturalbiomes:alpine_dandelion", "naturalbiomes:alpine_edelweiss", "livingdesert:coldsteppe_grass1", "livingdesert:coldsteppe_grass2", "livingdesert:coldsteppe_grass3"}, 5},
|
||||
animation = {
|
||||
speed_normal = 90,
|
||||
stand_start = 0,
|
||||
stand_end = 100,
|
||||
stand1_start = 100,
|
||||
stand1_end = 200,
|
||||
stand2_start = 350,
|
||||
stand2_end = 450,
|
||||
walk_start = 200,
|
||||
walk_end = 300,
|
||||
punch_start = 200,
|
||||
punch_end = 300,
|
||||
die_start = 200,
|
||||
die_end = 300,
|
||||
die_speed = 50,
|
||||
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, 25, 0, 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", "default:desert_sand", "ethereal:dry_dirt"}
|
||||
end
|
||||
|
||||
if not mobs.custom_spawn_animalworld then
|
||||
mobs:spawn({
|
||||
name = "animalworld:marmot",
|
||||
nodes = {"naturalbiomes:alpine_litter", "mcl_core:dirt_with_grass", "livingdesert:coldsteppe_ground2", "mcl_core:stone", "mcl_core:granite"},
|
||||
neighbors = {"naturalbiomes:alpine_grass1", "mcl_flowers:tallgrass", "mcl_flowers:double:fern", "mcl_flowers:fern", "naturalbiomes:alpine_grass2", "naturalbiomes:alpine_grass3", "naturalbiomes:alpine_dandelion", "naturalbiomes:alpine_edelweiss", "livingdesert:coldsteppe_grass1", "livingdesert:coldsteppe_grass2", "livingdesert:coldsteppe_grass3"},
|
||||
min_light = 0,
|
||||
interval = 60,
|
||||
chance = 2000, -- 15000
|
||||
active_object_count = 4,
|
||||
min_height = 30,
|
||||
max_height = 31000,
|
||||
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},
|
||||
{"naturalbiomes:alpine_litter", "livingdesert:coldsteppe_ground2"})
|
||||
|
||||
if nods and #nods > 0 then
|
||||
|
||||
-- min herd of 4
|
||||
local iter = math.min(#nods, 4)
|
||||
|
||||
-- print("--- marmot 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 = "animalworld:marmot", child = kid})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
})
|
||||
end
|
||||
|
||||
mobs:register_egg("animalworld:marmot", S("Marmot"), "amarmot.png")
|
||||
|
||||
|
||||
mobs:alias_mob("animalworld:marmot", "animalworld:marmot") -- compatibility
|
||||
|
8
mods/animalworld/mod.conf
Normal file
8
mods/animalworld/mod.conf
Normal file
|
@ -0,0 +1,8 @@
|
|||
name = animalworld
|
||||
depends = mobs
|
||||
optional_depends = default, mcl_core, mcl_sounds, bucket, ethereal, xocean, farming, fishing, hunger_ng, livingcaves
|
||||
description = Adds various wild animals to your Minetest Game world.
|
||||
|
||||
release = 24027
|
||||
author = Liil
|
||||
title = Wilhelmines Animal World
|
BIN
mods/animalworld/models/Ant.b3d
Normal file
BIN
mods/animalworld/models/Ant.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Anteater.b3d
Normal file
BIN
mods/animalworld/models/Anteater.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Anthil.b3d
Normal file
BIN
mods/animalworld/models/Anthil.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Bat.b3d
Normal file
BIN
mods/animalworld/models/Bat.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Bear.b3d
Normal file
BIN
mods/animalworld/models/Bear.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Bearpelt.b3d
Normal file
BIN
mods/animalworld/models/Bearpelt.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Bearpelthanging.b3d
Normal file
BIN
mods/animalworld/models/Bearpelthanging.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Beartrophy.b3d
Normal file
BIN
mods/animalworld/models/Beartrophy.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Beaver.b3d
Normal file
BIN
mods/animalworld/models/Beaver.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Beluga.b3d
Normal file
BIN
mods/animalworld/models/Beluga.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Blackbird.b3d
Normal file
BIN
mods/animalworld/models/Blackbird.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Blackgrouse.b3d
Normal file
BIN
mods/animalworld/models/Blackgrouse.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Boar.b3d
Normal file
BIN
mods/animalworld/models/Boar.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Boarpelt.b3d
Normal file
BIN
mods/animalworld/models/Boarpelt.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Boarpelthanging.b3d
Normal file
BIN
mods/animalworld/models/Boarpelthanging.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Boartrophy.b3d
Normal file
BIN
mods/animalworld/models/Boartrophy.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Camel.b3d
Normal file
BIN
mods/animalworld/models/Camel.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Carp.b3d
Normal file
BIN
mods/animalworld/models/Carp.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Clamydosaurus.b3d
Normal file
BIN
mods/animalworld/models/Clamydosaurus.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Cockatoo.b3d
Normal file
BIN
mods/animalworld/models/Cockatoo.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Cockroach.b3d
Normal file
BIN
mods/animalworld/models/Cockroach.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Crab.b3d
Normal file
BIN
mods/animalworld/models/Crab.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Crocodile.b3d
Normal file
BIN
mods/animalworld/models/Crocodile.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Crocodiletrophy.b3d
Normal file
BIN
mods/animalworld/models/Crocodiletrophy.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Curtain.b3d
Normal file
BIN
mods/animalworld/models/Curtain.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Divingbeetle.b3d
Normal file
BIN
mods/animalworld/models/Divingbeetle.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Dragonfly.b3d
Normal file
BIN
mods/animalworld/models/Dragonfly.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Echidna.b3d
Normal file
BIN
mods/animalworld/models/Echidna.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Elephant.b3d
Normal file
BIN
mods/animalworld/models/Elephant.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Elephanttrophy.b3d
Normal file
BIN
mods/animalworld/models/Elephanttrophy.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Fox.b3d
Normal file
BIN
mods/animalworld/models/Fox.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Frog.b3d
Normal file
BIN
mods/animalworld/models/Frog.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Giraffe.b3d
Normal file
BIN
mods/animalworld/models/Giraffe.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Gnu.b3d
Normal file
BIN
mods/animalworld/models/Gnu.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Gnutrophy.b3d
Normal file
BIN
mods/animalworld/models/Gnutrophy.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Goby.b3d
Normal file
BIN
mods/animalworld/models/Goby.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Goldenmole.b3d
Normal file
BIN
mods/animalworld/models/Goldenmole.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Goose.b3d
Normal file
BIN
mods/animalworld/models/Goose.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Hare.b3d
Normal file
BIN
mods/animalworld/models/Hare.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Hermitcrab.b3d
Normal file
BIN
mods/animalworld/models/Hermitcrab.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Hippo2.b3d
Normal file
BIN
mods/animalworld/models/Hippo2.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/HippoNEW.b3d
Normal file
BIN
mods/animalworld/models/HippoNEW.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Hyena.b3d
Normal file
BIN
mods/animalworld/models/Hyena.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Hyenatrophy.b3d
Normal file
BIN
mods/animalworld/models/Hyenatrophy.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Ibex.b3d
Normal file
BIN
mods/animalworld/models/Ibex.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Iguana.b3d
Normal file
BIN
mods/animalworld/models/Iguana.b3d
Normal file
Binary file not shown.
BIN
mods/animalworld/models/Indianrhino.b3d
Normal file
BIN
mods/animalworld/models/Indianrhino.b3d
Normal file
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue