Update mobs_animal mod to Git commit 80e72a4...

80e72a4edc
This commit is contained in:
Jordan Irwin 2021-04-18 20:55:10 -07:00
parent defcd66a06
commit b7f6eaad13
77 changed files with 1688 additions and 23646 deletions

View File

@ -80,7 +80,7 @@ The game includes the mods from the default [minetest_game](https://github.com/m
* [creatures][mob-engine] ([zlib][lic.creatures] / [CC BY-SA][lic.ccbysa3.0]) -- version: [c2bedc3 Git][ver.mob-engine] *2018-04-23* ([patched][patch.mob-engine])
* [mobs_redo][] ([MIT][lic.mobs_redo] / [CC BY][lic.ccby3.0] / [CC0][lic.cc0]) -- version: [f6e16a5 Git][ver.mobs_redo] *2021-04-11* ([patched][patch.mobs_redo])
* general/
* [mobs_animal][] ([MIT][lic.mobs_animal]) -- version: [52889c7 Git][ver.mobs_animal] *2018-06-27* ([patched][patch.mobs_animal]) ***UPDATES***
* [mobs_animal][] ([MIT][lic.mobs_animal]) -- version: [80e72a4 Git][ver.mobs_animal] *2021-04-13* ([patched][patch.mobs_animal])
* [monsters_aggressive][] (see individual mods for licensing) -- version: [89a8187 Git][ver.monsters_aggressive] *2017-08-30*
* [monsters_passive][] (see individual mods for licensing) -- version: [b07fe19 Git][ver.monsters_passive] *2017-08-09*
* [painting][] (???) -- version [8961849 Git][ver.painting] *2016-05-05*
@ -474,7 +474,7 @@ The game includes the mods from the default [minetest_game](https://github.com/m
[ver.mesecons]: https://github.com/minetest-mods/mesecons/tree/v1.2
[ver.minetest_game]: https://github.com/minetest/minetest_game/tree/5.4.1
[ver.mob-engine]: https://github.com/minetest-mods/mob-engine/tree/c2bedc3
[ver.mobs_animal]: https://notabug.org/TenPlus1/mobs_animal/src/52889c7
[ver.mobs_animal]: https://notabug.org/TenPlus1/mobs_animal/src/80e72a4edce6b0393a0cdf48f5d06312c99d7133
[ver.mobs_redo]: https://notabug.org/TenPlus1/mobs_redo/src/f6e16a550330cf6a641753c03ebe331682294939
[ver.monsters_aggressive]: https://github.com/AntumMT/mp-monsters_aggressive/tree/89a8187
[ver.monsters_passive]: https://github.com/AntumMT/mp-monsters_passive/tree/b07fe19
@ -550,7 +550,7 @@ The game includes the mods from the default [minetest_game](https://github.com/m
[patch.ilights]: https://github.com/AntumMT/mod-ilights/tree/fe1dae4
[patch.minetest_game]: https://github.com/AntumMT/mtgame-minetest/tree/355a756
[patch.mob-engine]: https://github.com/AntumMT/mp-mob-engine/tree/2aa511d
[patch.mobs_animal]: https://github.com/AntumMT/mod-mobs_animal/tree/e275046
[patch.mobs_animal]: https://github.com/AntumMT/mod-mobs_animal/tree/61f74e2
[patch.mobs_redo]: https://github.com/AntumMT/mod-mobs_redo/tree/12e9367
[patch.moreblocks]: https://github.com/AntumMT/mod-moreblocks/tree/6dda839
[patch.moreores]: https://github.com/AntumMT/mod-moreores/tree/3697850

View File

@ -1,7 +1,7 @@
local S = mobs.intllib
-- Bee by KrupnoPavel
-- Bee by KrupnoPavel (.b3d model by sirrobzeroone)
mobs:register_mob("mobs_animal:bee", {
type = "animal",
@ -11,20 +11,22 @@ mobs:register_mob("mobs_animal:bee", {
armor = 200,
collisionbox = {-0.2, -0.01, -0.2, 0.2, 0.5, 0.2},
visual = "mesh",
mesh = "mobs_bee.x",
mesh = "mobs_bee.b3d",
textures = {
{"mobs_bee.png"},
},
blood_texture = "mobs_bee_inv.png",
blood_amount = 1,
makes_footstep_sound = false,
sounds = {
random = "mobs_bee",
},
},
walk_velocity = 1,
jump = true,
drops = {
{name = "mobs:honey", chance = 2, min = 1, max = 2},
},
water_damage = 2,
water_damage = 1,
lava_damage = 2,
light_damage = 0,
fall_damage = 0,
@ -44,6 +46,7 @@ mobs:register_mob("mobs_animal:bee", {
-- end,
})
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "mobs_animal:bee",
nodes = {"group:flower"},
@ -54,8 +57,9 @@ mobs:spawn({
max_height = 200,
day_toggle = true,
})
end
mobs:register_egg("mobs_animal:bee", S("Bee"), "mobs_bee_inv.png", 0)
mobs:register_egg("mobs_animal:bee", S("Bee"), "mobs_bee_inv.png")
-- compatibility
mobs:alias_mob("mobs:bee", "mobs_animal:bee")
@ -77,7 +81,7 @@ minetest.register_node(":mobs:beehive", {
paramtype = "light",
sunlight_propagates = true,
walkable = true,
groups = {oddly_breakable_by_hand = 3, flammable = 1},
groups = {oddly_breakable_by_hand = 3, flammable = 1, disable_suffocation = 1},
sounds = default.node_sound_defaults(),
on_construct = function(pos)
@ -165,7 +169,7 @@ minetest.register_craft({
-- beehive workings
minetest.register_abm({
nodenames = {"mobs:beehive"},
interval = 6,
interval = 12,
chance = 6,
catch_up = false,
action = function(pos, node)
@ -184,7 +188,7 @@ minetest.register_abm({
local honey = inv:get_stack("beehive", 1):get_count()
-- is hive full?
if honey > 19 then
if honey > 11 then
return
end

View File

@ -31,9 +31,9 @@ stepheight = 0.6,
jump_height = 6,
drops = {
{name = "mobs:rabbit_raw", chance = 1, min = 1, max = 1},
{name = "mobs:rabbit_hide", chance = 1, min = 1, max = 1},
{name = "mobs:rabbit_hide", chance = 1, min = 0, max = 1},
},
water_damage = 1,
water_damage = 0,
lava_damage = 4,
light_damage = 0,
fear_height = 2,
@ -74,6 +74,7 @@ stepheight = 0.6,
self.type = "monster"
self.health = 20
self.passive = false
return
end
@ -112,6 +113,7 @@ if minetest.get_modpath("ethereal") then
spawn_on = "ethereal:prairie_dirt"
end
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "mobs_animal:bunny",
nodes = {spawn_on},
@ -123,6 +125,7 @@ mobs:spawn({
max_height = 200,
day_toggle = true,
})
end
mobs:register_egg("mobs_animal:bunny", S("Bunny"), "mobs_bunny_inv.png", 0)
@ -158,7 +161,7 @@ minetest.register_craft({
minetest.register_craftitem(":mobs:rabbit_hide", {
description = S("Rabbit Hide"),
inventory_image = "mobs_rabbit_hide.png",
groups = {flammable = 2},
groups = {flammable = 2, pelt = 1},
})
minetest.register_craft({
@ -169,9 +172,9 @@ minetest.register_craft({
minetest.register_craft({
output = "mobs:leather",
type = "shapeless",
-- type = "shapeless",
recipe = {
"mobs:rabbit_hide", "mobs:rabbit_hide",
"mobs:rabbit_hide", "mobs:rabbit_hide"
{"mobs:rabbit_hide", "mobs:rabbit_hide"},
{"mobs:rabbit_hide", "mobs:rabbit_hide"}
}
})

View File

@ -2,7 +2,7 @@
local S = mobs.intllib
-- Chicken by JK Murray
-- Chicken by JK Murray and Sirrobzeroone
mobs:register_mob("mobs_animal:chicken", {
stepheight = 0.6,
@ -13,17 +13,14 @@ stepheight = 0.6,
armor = 200,
collisionbox = {-0.3, -0.75, -0.3, 0.3, 0.1, 0.3},
visual = "mesh",
mesh = "mobs_chicken.x",
-- seems a lot of textures but this fixes the problem with the model
mesh = "mobs_chicken.b3d",
textures = {
{"mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png",
"mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png", "mobs_chicken.png"},
{"mobs_chicken_black.png", "mobs_chicken_black.png", "mobs_chicken_black.png", "mobs_chicken_black.png",
"mobs_chicken_black.png", "mobs_chicken_black.png", "mobs_chicken_black.png", "mobs_chicken_black.png", "mobs_chicken_black.png"},
{"mobs_chicken.png"}, -- white
{"mobs_chicken_brown.png"},
{"mobs_chicken_black.png"},
},
child_texture = {
{"mobs_chick.png", "mobs_chick.png", "mobs_chick.png", "mobs_chick.png",
"mobs_chick.png", "mobs_chick.png", "mobs_chick.png", "mobs_chick.png", "mobs_chick.png"},
{"mobs_chick.png"},
},
makes_footstep_sound = true,
sounds = {
@ -34,23 +31,34 @@ stepheight = 0.6,
runaway = true,
runaway_from = {"player", "mobs_animal:pumba"},
drops = {
{name = "mobs:chicken_raw", chance = 1, min = 2, max = 2},
{name = "mobs:chicken_feather", chance = 3, min = 1, max = 2},
{name = "mobs:chicken_raw", chance = 1, min = 1, max = 1},
{name = "mobs:chicken_feather", chance = 1, min = 0, max = 2},
},
water_damage = 1,
lava_damage = 5,
light_damage = 0,
fall_damage = 0,
fall_speed = -8,
fall_speed = -4,
fear_height = 5,
animation = {
speed_normal = 15,
stand_start = 0,
stand_end = 1, -- 20
walk_start = 20,
walk_end = 40,
stand_start = 1,
stand_end = 30,
stand_speed = 28,
stand1_start = 31,
stand1_end = 70,
stand1_speed = 32,
walk_start = 71,
walk_end = 90,
walk_speed = 24,
run_start = 91,
run_end = 110,
run_speed = 24,
},
follow = {
"farming:seed_wheat", "farming:seed_cotton", "farming:seed_barley",
"farming:seed_oat", "farming:seed_rye"
},
follow = {"farming:seed_wheat", "farming:seed_cotton"},
view_range = 5,
on_rightclick = function(self, clicker)
@ -73,7 +81,7 @@ stepheight = 0.6,
return
end
local pos = self.object:get_pos()
local pos = self.object:get_pos() ; if not pos then return end
minetest.add_item(pos, "mobs:egg")
@ -86,15 +94,17 @@ stepheight = 0.6,
})
local spawn_on = "default:dirt_with_grass"
local spawn_on = {"default:dirt_with_grass"}
if minetest.get_modpath("ethereal") then
spawn_on = "ethereal:bamboo_dirt"
spawn_on = {"ethereal:bamboo_dirt", "ethereal:prairie_dirt"}
end
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "mobs_animal:chicken",
nodes = {spawn_on},
nodes = spawn_on,
neighbors = {"group:grass"},
min_light = 14,
interval = 60,
@ -103,6 +113,7 @@ mobs:spawn({
max_height = 200,
day_toggle = true,
})
end
mobs:register_egg("mobs_animal:chicken", S("Chicken"), "mobs_chicken_inv.png", 0)
@ -127,7 +138,7 @@ mobs:register_arrow("mobs_animal:egg_entity", {
end,
hit_mob = function(self, player)
player:punch(minetest.get_player_by_name(self.playername) or self.object, 1.0, {
player:punch(self.object, 1.0, {
full_punch_interval = 1.0,
damage_groups = {fleshy = 1},
}, nil)
@ -202,6 +213,7 @@ local mobs_shoot_egg = function (item, player, pointed_thing)
ent.velocity = egg_VELOCITY -- needed for api internal timing
ent.switch = 1 -- needed so that egg doesn't despawn straight away
ent._is_arrow = true -- tell advanced mob protection this is an arrow
obj:setvelocity({
x = dir.x * egg_VELOCITY,
@ -291,7 +303,7 @@ minetest.register_craft({
minetest.register_craftitem(":mobs:chicken_feather", {
description = S("Feather"),
inventory_image = "mobs_chicken_feather.png",
groups = {flammable = 2},
groups = {flammable = 2, feather = 1},
})
minetest.register_craft({

View File

@ -2,7 +2,7 @@
local S = mobs.intllib
-- Cow by Krupnovpavel (additional texture by JurajVajda)
-- Cow by sirrobzeroone
mobs:register_mob("mobs_animal:cow", {
type = "animal",
@ -16,7 +16,7 @@ mobs:register_mob("mobs_animal:cow", {
armor = 200,
collisionbox = {-0.4, -0.01, -0.4, 0.4, 1.2, 0.4},
visual = "mesh",
mesh = "mobs_cow.x",
mesh = "mobs_cow.b3d",
textures = {
{"mobs_cow.png"},
{"mobs_cow2.png"},
@ -29,39 +29,60 @@ mobs:register_mob("mobs_animal:cow", {
run_velocity = 2,
jump = true,
jump_height = 6,
pushable = true,
drops = {
{name = "mobs:meat_raw", chance = 1, min = 1, max = 3},
{name = "mobs:leather", chance = 1, min = 1, max = 2},
{name = "mobs:leather", chance = 1, min = 0, max = 2},
},
water_damage = 1,
water_damage = 0,
lava_damage = 5,
light_damage = 0,
animation = {
speed_normal = 15,
speed_run = 15,
stand_start = 0,
stand_end = 30,
walk_start = 35,
walk_end = 65,
run_start = 105,
run_end = 135,
punch_start = 70,
punch_end = 100,
stand_speed = 20,
stand1_start = 35,
stand1_end = 75,
stand1_speed = 20,
walk_start = 85,
walk_end = 114,
walk_speed = 20,
run_start = 120,
run_end = 140,
run_speed = 30,
punch_start = 145,
punch_end = 160,
punch_speed = 20,
die_start = 165,
die_end = 185,
die_speed = 10,
die_loop = false,
},
follow = {
"farming:wheat", "default:grass_1", "farming:barley",
"farming:oat", "farming:rye"
},
follow = "farming:wheat",
view_range = 8,
replace_rate = 10,
-- replace_what = {"default:grass_3", "default:grass_4", "default:grass_5", "farming:wheat_8"},
replace_what = {
{"group:grass", "air", 0},
{"default:dirt_with_grass", "default:dirt", -1}
},
replace_with = "air",
-- stay_near = {{"farming:straw", "group:grass"}, 10},
fear_height = 2,
on_rightclick = function(self, clicker)
-- feed or tame
if mobs:feed_tame(self, clicker, 8, true, true) then return end
if mobs:feed_tame(self, clicker, 8, true, true) then
-- if fed 7x wheat or grass then cow can be milked again
if self.food and self.food > 6 then
self.gotten = false
end
return
end
if mobs:protect(self, clicker) then return end
if mobs:capture_mob(self, clicker, 0, 5, 60, false, nil) then return end
@ -84,7 +105,8 @@ mobs:register_mob("mobs_animal:cow", {
local inv = clicker:get_inventory()
inv:remove_item("main", "bucket:bucket_empty")
tool:take_item()
clicker:set_wielded_item(tool)
if inv:room_for_item("main", {name = "mobs:bucket_milk"}) then
clicker:get_inventory():add_item("main", "mobs:bucket_milk")
@ -99,9 +121,21 @@ mobs:register_mob("mobs_animal:cow", {
return
end
end,
on_replace = function(self, pos, oldnode, newnode)
self.food = (self.food or 0) + 1
-- if cow replaces 8x grass then it can be milked again
if self.food >= 8 then
self.food = 0
self.gotten = false
end
end,
})
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "mobs_animal:cow",
nodes = {"default:dirt_with_grass", "ethereal:green_dirt"},
@ -113,9 +147,10 @@ mobs:spawn({
max_height = 200,
day_toggle = true,
})
end
mobs:register_egg("mobs_animal:cow", S("Cow"), "default_grass.png", 1)
mobs:register_egg("mobs_animal:cow", S("Cow"), "mobs_cow_inv.png")
mobs:alias_mob("mobs:cow", "mobs_animal:cow") -- compatibility
@ -126,16 +161,49 @@ minetest.register_craftitem(":mobs:bucket_milk", {
description = S("Bucket of Milk"),
inventory_image = "mobs_bucket_milk.png",
stack_max = 1,
on_use = minetest.item_eat(8, 'bucket:bucket_empty'),
groups = {food_milk = 1, flammable = 3},
on_use = minetest.item_eat(8, "bucket:bucket_empty"),
groups = {food_milk = 1, flammable = 3, drink = 1},
})
-- glass of milk
minetest.register_craftitem(":mobs:glass_milk", {
description = S("Glass of Milk"),
inventory_image = "mobs_glass_milk.png",
on_use = minetest.item_eat(2, "vessels:drinking_glass"),
groups = {food_milk_glass = 1, flammable = 3, vessel = 1, drink = 1},
})
minetest.register_craft({
-- type = "shapeless",
output = "mobs:glass_milk 4",
recipe = {
{"vessels:drinking_glass", "vessels:drinking_glass"},
{"vessels:drinking_glass", "vessels:drinking_glass"},
{"mobs:bucket_milk", ""}
},
replacements = { {"mobs:bucket_milk", "bucket:bucket_empty"} }
})
minetest.register_craft({
-- type = "shapeless",
output = "mobs:bucket_milk",
recipe = {
{"group:food_milk_glass", "group:food_milk_glass"},
{"group:food_milk_glass", "group:food_milk_glass"},
{"bucket:bucket_empty", ""}
},
replacements = {
{"group:food_milk_glass", "vessels:drinking_glass 4"}
}
})
-- butter
minetest.register_craftitem(":mobs:butter", {
description = S("Butter"),
inventory_image = "mobs_butter.png",
on_use = minetest.item_eat(1),
groups = {food_butter = 1, flammable = 2},
groups = {food_butter = 1, flammable = 2}
})
if minetest.get_modpath("farming") and farming and farming.mod then
@ -175,22 +243,22 @@ minetest.register_node(":mobs:cheeseblock", {
description = S("Cheese Block"),
tiles = {"mobs_cheeseblock.png"},
is_ground_content = false,
groups = {crumbly = 3},
groups = {oddly_breakable_by_hand = 3},
sounds = default.node_sound_dirt_defaults()
})
minetest.register_craft({
output = "mobs:cheeseblock",
recipe = {
{'mobs:cheese', 'mobs:cheese', 'mobs:cheese'},
{'mobs:cheese', 'mobs:cheese', 'mobs:cheese'},
{'mobs:cheese', 'mobs:cheese', 'mobs:cheese'},
{"group:food_cheese", "group:food_cheese", "group:food_cheese"},
{"group:food_cheese", "group:food_cheese", "group:food_cheese"},
{"group:food_cheese", "group:food_cheese", "group:food_cheese"},
}
})
minetest.register_craft({
output = "mobs:cheese 9",
recipe = {
{'mobs:cheeseblock'},
{"mobs:cheeseblock"},
}
})

View File

@ -1,4 +1,4 @@
default
mobs
intllib?
lucky_block?
intllib?

View File

@ -1,22 +1,44 @@
local path = minetest.get_modpath("mobs_animal")
-- Load support for intllib.
local MP = minetest.get_modpath(minetest.get_current_modname())
local S, NS = dofile(MP.."/intllib.lua")
local path = minetest.get_modpath(minetest.get_current_modname()) .. "/"
local S = minetest.get_translator and minetest.get_translator("mobs_animal") or
dofile(path .. "intllib.lua")
mobs.intllib = S
-- Check for custom mob spawn file
local input = io.open(path .. "spawn.lua", "r")
if input then
mobs.custom_spawn_animal = true
input:close()
input = nil
end
-- Animals
dofile(path .. "chicken.lua") -- JKmurray
dofile(path .. "cow.lua") -- KrupnoPavel
dofile(path .. "rat.lua") -- PilzAdam
--dofile(path .. "sheep.lua") -- PilzAdam
dofile(path .. "warthog.lua") -- KrupnoPavel
dofile(path .. "bee.lua") -- KrupnoPavel
dofile(path .. "bunny.lua") -- ExeterDad
dofile(path .. "kitten.lua") -- Jordach/BFD
dofile(path .. "penguin.lua") -- D00Med
dofile(path .. "panda.lua") -- AspireMint
dofile(path .. "/chicken.lua") -- JKmurray
dofile(path .. "/cow.lua") -- KrupnoPavel
dofile(path .. "/rat.lua") -- PilzAdam
dofile(path .. "/warthog.lua") -- KrupnoPavel
dofile(path .. "/bee.lua") -- KrupnoPavel
dofile(path .. "/bunny.lua") -- ExeterDad
dofile(path .. "/kitten.lua") -- Jordach/BFD
dofile(path .. "/penguin.lua") -- D00Med
dofile(path .. "/lucky_block.lua")
-- Load custom spawning
if mobs.custom_spawn_animal then
dofile(path .. "spawn.lua")
end
print (S("[MOD] Mobs Redo 'Animals' loaded"))
-- Lucky Blocks
dofile(path .. "lucky_block.lua")
print (S("[MOD] Mobs Redo Animals loaded"))

View File

@ -1,45 +1,3 @@
-- Support for the old multi-load method
dofile(minetest.get_modpath("intllib").."/init.lua")
-- Fallback functions for when `intllib` is not installed.
-- Code released under Unlicense <http://unlicense.org>.
-- Get the latest version of this file at:
-- https://raw.githubusercontent.com/minetest-mods/intllib/master/lib/intllib.lua
local function format(str, ...)
local args = { ... }
local function repl(escape, open, num, close)
if escape == "" then
local replacement = tostring(args[tonumber(num)])
if open == "" then
replacement = replacement..close
end
return replacement
else
return "@"..open..num..close
end
end
return (str:gsub("(@?)@(%(?)(%d+)(%)?)", repl))
end
local gettext, ngettext
if minetest.get_modpath("intllib") then
if intllib.make_gettext_pair then
-- New method using gettext.
gettext, ngettext = intllib.make_gettext_pair()
else
-- Old method using text files.
gettext = intllib.Getter()
end
end
-- Fill in missing functions.
gettext = gettext or function(msgid, ...)
return format(msgid, ...)
end
ngettext = ngettext or function(msgid, msgid_plural, n, ...)
return format(n==1 and msgid or msgid_plural, ...)
end
return gettext, ngettext

View File

@ -1,18 +1,19 @@
local S = mobs.intllib
local hairball = minetest.settings:get("mobs_hairball")
-- Kitten by Jordach / BFD
mobs:register_mob("mobs_animal:kitten", {
stepheight = 0.6,
type = "animal",
specific_attack = {"mobs_animal:rat"},
damage = 1,
attack_type = "dogfight",
attack_animals = true, -- so it can attack rat
attack_players = false,
reach = 1,
specific_attack = {"mobs_animal:rat"},
damage = 1,
attack_type = "dogfight",
attack_animals = true, -- so it can attack rat
attack_players = false,
reach = 1,
stepheight = 1.1,
passive = false,
hp_min = 5,
hp_max = 10,
@ -32,13 +33,14 @@ stepheight = 0.6,
random = "mobs_kitten",
},
walk_velocity = 0.6,
walk_chance = 15,
run_velocity = 2,
runaway = true,
jump = false,
drops = {
{name = "farming:string", chance = 1, min = 1, max = 1},
{name = "farming:string", chance = 1, min = 0, max = 1},
},
water_damage = 1,
water_damage = 0,
lava_damage = 5,
fear_height = 3,
animation = {
@ -47,15 +49,62 @@ stepheight = 0.6,
stand_end = 192,
walk_start = 0,
walk_end = 96,
stoodup_start = 0,
stoodup_end = 0,
},
follow = {
"mobs:rat", "group:food_fish_raw", "mobs_fish:tropical", "xocean:fish_edible"
},
follow = {"mobs_animal:rat", "ethereal:fish_raw", "mobs_fish:clownfish", "mobs_fish:tropical"},
view_range = 8,
on_rightclick = function(self, clicker)
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, 50, 50, 90, false, nil) then return end
end
-- by right-clicking owner can switch between staying and walking
if self.owner and self.owner == clicker:get_player_name() then
if self.order ~= "stand" then
self.order = "stand"
self.state = "stand"
self.object:set_velocity({x = 0, y = 0, z = 0})
mobs:set_animation(self, "stand")
else
self.order = ""
mobs:set_animation(self, "stoodup")
end
end
end,
do_custom = function(self, dtime)
if hairball == "false" then
return
end
self.hairball_timer = (self.hairball_timer or 0) + dtime
if self.hairball_timer < 10 then
return
end
self.hairball_timer = 0
if self.child
or math.random(1, 250) > 1 then
return
end
local pos = self.object:get_pos()
minetest.add_item(pos, "mobs:hairball")
minetest.sound_play("default_dig_snappy", {
pos = pos,
gain = 1.0,
max_hear_distance = 5,
})
end,
})
@ -65,6 +114,7 @@ if minetest.get_modpath("ethereal") then
spawn_on = "ethereal:grove_dirt"
end
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "mobs_animal:kitten",
nodes = {spawn_on},
@ -73,12 +123,51 @@ mobs:spawn({
interval = 60,
chance = 10000, -- 22000
min_height = 5,
max_height = 200,
max_height = 50,
day_toggle = true,
})
end
mobs:register_egg("mobs_animal:kitten", S("Kitten"), "mobs_kitten_inv.png", 0)
mobs:alias_mob("mobs:kitten", "mobs_animal:kitten") -- compatibility
local hairball_items = {
"default:stick", "default:coal_lump", "default:dry_shrub", "flowers:rose",
"mobs_animal:rat", "default:grass_1", "farming:seed_wheat", "dye:green", "",
"farming:seed_cotton", "default:flint", "default:sapling", "dye:white", "",
"default:clay_lump", "default:paper", "default:dry_grass_1", "dye:red", "",
"farming:string", "mobs:chicken_feather", "default:acacia_bush_sapling", "",
"default:bush_sapling", "default:copper_lump", "default:iron_lump", "",
"dye:black", "dye:brown", "default:obsidian_shard", "default:tin_lump"
}
minetest.register_craftitem(":mobs:hairball", {
description = S("Hairball"),
inventory_image = "mobs_hairball.png",
on_use = function(itemstack, user, pointed_thing)
local pos = user:get_pos()
local dir = user:get_look_dir()
local newpos = {x = pos.x + dir.x, y = pos.y + dir.y + 1.5, z = pos.z + dir.z}
local item = hairball_items[math.random(1, #hairball_items)]
if item ~= ""
and minetest.registered_items[item] then
minetest.add_item(newpos, {name = item})
end
minetest.sound_play("default_place_node_hard", {
pos = newpos,
gain = 1.0,
max_hear_distance = 5,
})
itemstack:take_item()
return itemstack
end,
})

View File

@ -19,3 +19,11 @@ 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.
Chicken sounds from freesounds.org under CC0
Mutton, Pork and Rabbit meat textures by Piezo_ under CC0
Cow textures by sirrobzeroone under CC0
mobs_panda_viking.png by Zlo under CC0

View File

@ -0,0 +1,50 @@
# textdomain:mobs_animal
@1 Sheep=@1 Schaf
Bee=Biene
Beehive=Bienenstock
Black=Schwarzes
Blue=Blaues
Brown=Braunes
Bucket of Milk=Eimer Milch
Bunny=Häschen
#Butter=
Cheese=Käse
Cheese Block=Käseblock
Chicken=Huhn
Chicken Egg=Hühnerei
Cooked Chicken=Gekochtes Hühnchen
Cooked Mutton=Gekochtes Hammelfleisch
Cooked Porkchop=Gekochtes Schweinekotelett
Cooked Rabbit=Gekochtes Kaninchen
Cooked Rat=Gekochte Ratte
Cow=Kuh
Cow already milked!=Kuh ist bereits gemolken!
Cyan=Cyan
Dark Green=Dunkelgrünes
Dark Grey=Dunkelgraues
Feather=Feder
Fried Egg=Spiegelei
#Glass of Milk=
Green=Grünes
Grey=Graues
#Hairball=
Honey=Honig
Honey Block=Honigblock
Kitten=Kätzchen
Magenta=Magenta
Orange=Oranges
#Panda=
Penguin=Pinguin
Pink=Pinkes
Rabbit Hide=Kaninchenfell
Rat=Ratte
Raw Chicken=Rohes Hühnchen
Raw Mutton=Rohes Hammelfleisch
Raw Porkchop=Rohes Schweinekotelett
Raw Rabbit=Rohes Kaninchen
Red=Rotes
Violet=Violettes
Warthog=Warzenschwein
White=Weißes
Yellow=Gelbes
#[MOD] Mobs Redo Animals loaded=

View File

@ -0,0 +1,50 @@
# textdomain:mobs_animal
#@1 Sheep=
#Bee=
#Beehive=
#Black=
#Blue=
#Brown=
#Bucket of Milk=
#Bunny=
#Butter=
#Cheese=
#Cheese Block=
#Chicken=
#Chicken Egg=
#Cooked Chicken=
#Cooked Mutton=
#Cooked Porkchop=
#Cooked Rabbit=
#Cooked Rat=
#Cow=
#Cow already milked!=
#Cyan=
#Dark Green=
#Dark Grey=
#Feather=
#Fried Egg=
#Glass of Milk=
#Green=
#Grey=
#Hairball=
#Honey=
#Honey Block=
#Kitten=
#Magenta=
#Orange=
#Panda=
#Penguin=
#Pink=
#Rabbit Hide=
#Rat=
#Raw Chicken=
#Raw Mutton=
#Raw Porkchop=
#Raw Rabbit=
#Red=
#Violet=
#Warthog=
#White=
#Yellow=
#[MOD] Mobs Redo Animals loaded=

View File

@ -0,0 +1,50 @@
# textdomain:mobs_animal
@1 Sheep=Mouton @1
Bee=Abeille
Beehive=Ruche
Black=noir
Blue=bleu
Brown=marron
Bucket of Milk=Seau de lait
Bunny=Lapin
Butter=Beurre
Cheese=Fromage
Cheese Block=Bloc de fromage
Chicken=Poule
Chicken Egg=Œuf
Cooked Chicken=Poulet cuit
Cooked Mutton=Mouton cuit
Cooked Porkchop=Côte de sanglier cuite
Cooked Rabbit=Lapin cuit
Cooked Rat=Rat cuit
Cow=Vache
Cow already milked!=Vache déjà traite !
Cyan=cyan
Dark Green=vert foncé
Dark Grey=gris foncé
Feather=Plume
Fried Egg=Œuf au plat
Glass of Milk=Verre de lait
Green=vert
Grey=gris
Hairball=Boule de poils
Honey=Miel
Honey Block=Bloc de miel
Kitten=Chaton
Magenta=magenta
Orange=orange
Panda=Panda
Penguin=Manchot
Pink=rose
Rabbit Hide=Fourrure de lapin
Rat=Rat
Raw Chicken=Poulet cru
Raw Mutton=Mouton cru
Raw Porkchop=Côte de sanglier crue
Raw Rabbit=Lapin cru
Red=rouge
Violet=violet
Warthog=Sanglier
White=blanc
Yellow=jaune
[MOD] Mobs Redo Animals loaded=[MOD] Animaux «Mobs Redo» chargés

View File

@ -0,0 +1,50 @@
# textdomain:mobs_animal
@1 Sheep=Pecora @1
Bee=Ape
Beehive=Favo
Black=Nera
Blue=Blu
Brown=Marrone
Bucket of Milk=Secchio di latte
Bunny=Coniglietto
#Butter=
Cheese=Formaggio
Cheese Block=Blocco di formaggio
Chicken=Gallina
Chicken Egg=Uovo di gallina
Cooked Chicken=Pollo cotto
Cooked Mutton=Montone Cotto
Cooked Porkchop=Bistecca di maiale cotta
Cooked Rabbit=Coniglio Cotto
Cooked Rat=Ratto cotto
Cow=Mucca
Cow already milked!=Mucca già munta!
Cyan=Ciano
Dark Green=Verde scuro
Dark Grey=Grigio scuro
Feather=Piuma
Fried Egg=Uovo fritto
#Glass of Milk=
Green=Verde
Grey=Grigia
#Hairball=
Honey=Miele
Honey Block=Blocco di miele
Kitten=Gattino
Magenta=Magenta
Orange=Arancione
#Panda=
Penguin=Pinguino
Pink=Rosa
Rabbit Hide=Pelle di Coniglio
Rat=Ratto
Raw Chicken=Pollo crudo
Raw Mutton=Montone Crudo
Raw Porkchop=Bistecca di maiale cruda
Raw Rabbit=Coniglio Crudo
Red=Rossa
Violet=Viola
Warthog=Facocero
White=Bianca
Yellow=Gialla
#[MOD] Mobs Redo Animals loaded=

View File

@ -0,0 +1,50 @@
# textdomain:mobs_animal
@1 Sheep=Biri-biri @1
Bee=Lebah
Beehive=Sarang Lebah
Black=Hitam
Blue=Biru
Brown=Perang
Bucket of Milk=Baldi Susu
Bunny=Arnab
#Butter=
Cheese=Keju
Cheese Block=Blok Keju
Chicken=Ayam
Chicken Egg=Telur Ayam
Cooked Chicken=Ayam Bakar
Cooked Mutton=Daging Biri-biri Bakar
Cooked Porkchop=Daging Babi Bakar
Cooked Rabbit=Daging Arnab Bakar
Cooked Rat=Tikus Bakar
Cow=Lembu
Cow already milked!=Lembu telah diperah susunya!
Cyan=Sian
Dark Green=Hijau Gelap
Dark Grey=Kelabu Gelap
Feather=Bulu
Fried Egg=Telur Goreng
#Glass of Milk=
Green=Hijau
Grey=Kelabu
#Hairball=
Honey=Madu
Honey Block=Blok Madu
Kitten=Anak Kucing
Magenta=Merah Lembayung
Orange=Jingga
#Panda=
Penguin=Penguin
Pink=Merah Jambu
Rabbit Hide=Belulang Arnab
Rat=Tikus
Raw Chicken=Ayam Mentah
Raw Mutton=Daging Biri-biri Mentah
Raw Porkchop=Daging Babi Mentah
Raw Rabbit=Daging Arnab Mentah
Red=Merah
Violet=Ungu
Warthog=Babi Hutan
White=Putih
Yellow=Kuning
#[MOD] Mobs Redo Animals loaded=

View File

@ -0,0 +1,50 @@
# textdomain:mobs_animal
@1 Sheep=@1 овца
Bee=Пчела
Beehive=Улей
Black=Черная
Blue=Синяя
Brown=Коричневая
Bucket of Milk=Ведро молока
Bunny=Кролик
Butter=Масло
Cheese=Сыр
Cheese Block=Блок сыра
Chicken=Курица
Chicken Egg=Куриное яйцо
Cooked Chicken=Приготовленная курятина
Cooked Mutton=Приготовленная баранина
Cooked Porkchop=Приготовленные свиные отбивные
Cooked Rabbit=Приготовленная крольчатина
Cooked Rat=Приготовленная крыса
Cow=Корова
Cow already milked!=Корову уже подоили!
Cyan=Голубая
Dark Green=Темно-зеленая
Dark Grey=Темно-серая
Feather=Перо
Fried Egg=Яичница
Glass of Milk=Стакан молока
Green=Зеленая
Grey=Серая
Hairball=Комочек шерсти
Honey=Мёд
Honey Block=Блок мёда
Kitten=Котенок
Magenta=Пурпурная
Orange=Оранжевая
Panda=Панда
Penguin=Пингвин
Pink=Розовая
Rabbit Hide=Кроличья шкурка
Rat=Крыса
Raw Chicken=Сырая курятина
Raw Mutton=Сырая баранина
Raw Porkchop=Свиные отбивные
Raw Rabbit=Сырая крольчатина
Red=Красная
Violet=Фиолетовая
Warthog=Бородавочник
White=Белая
Yellow=Желтая
#[MOD] Mobs Redo Animals loaded=

View File

@ -0,0 +1,50 @@
# textdomain:mobs_animal
@1 Sheep=@1 Koyun
Bee=Arı
Beehive=Arı kovanı
Black=Siyah
Blue=Mavi
Brown=Kahverengi
Bucket of Milk=Süt kovası
Bunny=Tavşan
#Butter=
Cheese=Peynir
Cheese Block=Peynir bloğu
Chicken=Tavuk
Chicken Egg=Tavuk yumurtası
Cooked Chicken=Pişmiş tavuk
Cooked Mutton=pişmiş kuzu
Cooked Porkchop=Pişmiş pirzola
Cooked Rabbit=pişmiş tavşan
Cooked Rat=Pişmiş sıçan
Cow=İnek
Cow already milked!=İnekte süt yok!
Cyan=Camgöbeği
Dark Green=Koyu yeşil
Dark Grey=Koyu gri
#Feather=
Fried Egg=Kızarmış yumurta
#Glass of Milk=
Green=Yeşil
Grey=Gri
#Hairball=
Honey=Bal
Honey Block=Bal bloğu
Kitten=Yavru kedi
Magenta=Macenta
Orange=Turuncu
#Panda=
#Penguin=
Pink=Pembe
Rabbit Hide=tavşan kürkü
Rat=Sıçan
Raw Chicken=Çiğ tavuk
Raw Mutton=çiğ kuzu
Raw Porkchop=Çiğ pirzola
Raw Rabbit=çiğ tavşan
Red=Kırmızı
Violet=Mor
Warthog=Domuz
White=Beyaz
Yellow=Sarı
#[MOD] Mobs Redo Animals loaded=

View File

@ -0,0 +1,50 @@
# textdomain:mobs_animal
@1 Sheep=@1羊
Bee=蜜蜂
Beehive=蜂巢
Black=黑
Blue=蓝
Brown=棕
Bucket of Milk=一桶牛奶
Bunny=兔子
Butter=黄油
Cheese=奶酪
Cheese Block=奶酪方块
Chicken=鸡
Chicken Egg=鸡蛋
Cooked Chicken=熟鸡肉
Cooked Mutton=熟羊肉
Cooked Porkchop=熟猪排
Cooked Rabbit=熟兔肉
Cooked Rat=熟老鼠
Cow=奶牛
Cow already milked!=奶牛已被挤奶!
Cyan=青
Dark Green=暗绿
Dark Grey=暗灰
Feather=羽毛
Fried Egg=煎蛋
Glass of Milk=一杯牛奶
Green=绿
Grey=灰
Hairball=毛球
Honey=蜂蜜
Honey Block=蜂蜜方块
Kitten=小猫
Magenta=品红
Orange=橙
Panda=熊猫
Penguin=企鹅
Pink=粉红
Rabbit Hide=兔子皮
Rat=老鼠
Raw Chicken=生鸡肉
Raw Mutton=生羊肉
Raw Porkchop=生猪排
Raw Rabbit=生兔肉
Red=红
Violet=紫
Warthog=野猪
White=白
Yellow=黄
#[MOD] Mobs Redo Animals loaded=

View File

@ -0,0 +1,50 @@
# textdomain:mobs_animal
@1 Sheep=@1羊
Bee=蜜蜂
Beehive=蜂巢
Black=黑
Blue=藍
Brown=棕
Bucket of Milk=一桶牛奶
Bunny=兔子
Butter=黃油
Cheese=奶酪
Cheese Block=奶酪方塊
Chicken=雞
Chicken Egg=雞蛋
Cooked Chicken=熟雞肉
Cooked Mutton=熟羊肉
Cooked Porkchop=熟豬排
Cooked Rabbit=熟兔肉
Cooked Rat=熟老鼠
Cow=奶牛
Cow already milked!=奶牛已被擠奶!
Cyan=青
Dark Green=暗綠
Dark Grey=暗灰
Feather=羽毛
Fried Egg=煎蛋
Glass of Milk=一杯牛奶
Green=綠
Grey=灰
Hairball=毛球
Honey=蜂蜜
Honey Block=蜂蜜方塊
Kitten=小貓
Magenta=品紅
Orange=橙
Panda=熊貓
Penguin=企鵝
Pink=粉紅
Rabbit Hide=兔子皮
Rat=老鼠
Raw Chicken=生雞肉
Raw Mutton=生羊肉
Raw Porkchop=生豬排
Raw Rabbit=生兔肉
Red=紅
Violet=紫
Warthog=野豬
White=白
Yellow=黃
#[MOD] Mobs Redo Animals loaded=

View File

@ -9,9 +9,9 @@ msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-13 16:00 (UTC+5)\n"
"PO-Revision-Date: 2018-03-29 18:00 (UTC+5)\n"
"Last-Translator: Oleg720 <contact@oleg720.ru>\n"
"Language-Team: 720 Locales <>\n"
"PO-Revision-Date: 2020-06-19 19:00 (UTC+3)\n"
"Last-Translator: YELLOW <pikayellow35@gmail.com>\n"
"Language-Team: \n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
@ -39,16 +39,16 @@ msgstr "Кролик"
#: bunny.lua
msgid "Raw Rabbit"
msgstr "Сырой кролик"
msgstr "Сырая крольчатина"
#: bunny.lua
#, fuzzy
msgid "Cooked Rabbit"
msgstr "Приготовленный кролик"
msgstr "Приготовленная крольчатина"
#: bunny.lua
msgid "Rabbit Hide"
msgstr "Кролик скрыть"
msgstr "Кроличья шкурка"
#: chicken.lua
msgid "Chicken"
@ -56,11 +56,11 @@ msgstr "Курица"
#: chicken.lua
msgid "Chicken Egg"
msgstr "Курино яйцо"
msgstr "Куриное яйцо"
#: chicken.lua
msgid "Fried Egg"
msgstr "Жареное яйцо"
msgstr "Яичница"
#: chicken.lua
msgid "Raw Chicken"
@ -68,7 +68,7 @@ msgstr "Сырая курятина"
#: chicken.lua
msgid "Cooked Chicken"
msgstr "Вареная курятина"
msgstr "Приготовленная курятина"
#: chicken.lua
msgid "Feather"
@ -86,6 +86,14 @@ msgstr "Корова"
msgid "Bucket of Milk"
msgstr "Ведро молока"
#: cow.lua
msgid "Glass of Milk"
msgstr "Стакан молока"
#: cow.lua
msgid "Butter"
msgstr "Масло"
#: cow.lua
msgid "Cheese"
msgstr "Сыр"
@ -102,6 +110,14 @@ msgstr "[МОД] Mobs Redo 'Animals' загружен"
msgid "Kitten"
msgstr "Котенок"
#: kitten.lua
msgid "Hairball"
msgstr "Комочек шерсти"
#: panda.lua
msgid "Panda"
msgstr "Панда"
#: penguin.lua
msgid "Penguin"
msgstr "Пингвин"
@ -116,76 +132,76 @@ msgstr "Приготовленная крыса"
#: sheep.lua
msgid "Black"
msgstr "Черный"
msgstr "Черная"
#: sheep.lua
msgid "Blue"
msgstr "Синий"
msgstr "Синяя"
#: sheep.lua
msgid "Brown"
msgstr "Коричневый"
msgstr "Коричневая"
#: sheep.lua
msgid "Cyan"
msgstr "Голубой"
msgstr "Голубая"
#: sheep.lua
msgid "Dark Green"
msgstr "Темно-зеленый"
msgstr "Темно-зеленая"
#: sheep.lua
msgid "Dark Grey"
msgstr "Темно-серый"
msgstr "Темно-серая"
#: sheep.lua
msgid "Green"
msgstr "Зеленый"
msgstr "Зеленая"
#: sheep.lua
msgid "Grey"
msgstr "Серый"
msgstr "Серая"
#: sheep.lua
msgid "Magenta"
msgstr "Пурпурный"
msgstr "Пурпурная"
#: sheep.lua
msgid "Orange"
msgstr "Оранжевый"
msgstr "Оранжевая"
#: sheep.lua
msgid "Pink"
msgstr "Розовый"
msgstr "Розовая"
#: sheep.lua
msgid "Red"
msgstr "Красный"
msgstr "Красная"
#: sheep.lua
msgid "Violet"
msgstr "Фиолетовый"
msgstr "Фиолетовая"
#: sheep.lua
msgid "White"
msgstr "Белый"
msgstr "Белая"
#: sheep.lua
msgid "Yellow"
msgstr "Желтый"
msgstr "Желтая"
#: sheep.lua
msgid "@1 Sheep"
msgstr "@1 Овец"
msgstr "@1 овца"
#: sheep.lua
msgid "Raw Mutton"
msgstr "сырой ягненок"
msgstr "Сырая баранина"
#: sheep.lua
#, fuzzy
msgid "Cooked Mutton"
msgstr "приготовленный ягненок"
msgstr "Приготовленная баранина"
#: warthog.lua
msgid "Warthog"
@ -193,8 +209,8 @@ msgstr "Бородавочник"
#: warthog.lua
msgid "Raw Porkchop"
msgstr "Отбивные из свинины"
msgstr "Свиные отбивные"
#: warthog.lua
msgid "Cooked Porkchop"
msgstr "Приготовленные отбивные"
msgstr "Приготовленные свиные отбивные"

View File

@ -0,0 +1,206 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# IFRFSX <1079092922@qq.com>, 2020.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-07-31 11:28+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
#: bee.lua
msgid "Bee"
msgstr "蜜蜂"
#: bee.lua
msgid "Honey"
msgstr "蜂蜜"
#: bee.lua
msgid "Beehive"
msgstr "蜂巢"
#: bee.lua
msgid "Honey Block"
msgstr "蜂蜜方块"
#: bunny.lua
msgid "Bunny"
msgstr "兔子"
#: bunny.lua
msgid "Raw Rabbit"
msgstr "生兔肉"
#: bunny.lua
msgid "Cooked Rabbit"
msgstr "熟兔肉"
#: bunny.lua
msgid "Rabbit Hide"
msgstr "兔子皮"
#: chicken.lua
msgid "Chicken"
msgstr "鸡"
#: chicken.lua
msgid "Chicken Egg"
msgstr "鸡蛋"
#: chicken.lua
msgid "Fried Egg"
msgstr "煎蛋"
#: chicken.lua
msgid "Raw Chicken"
msgstr "生鸡肉"
#: chicken.lua
msgid "Cooked Chicken"
msgstr "熟鸡肉"
#: chicken.lua
msgid "Feather"
msgstr "羽毛"
#: cow.lua
msgid "Cow already milked!"
msgstr "奶牛已经被挤奶了!"
#: cow.lua
msgid "Cow"
msgstr "奶牛"
#: cow.lua
msgid "Bucket of Milk"
msgstr "一桶牛奶"
#: cow.lua
msgid "Glass of Milk"
msgstr "一杯牛奶"
#: cow.lua
msgid "Cheese"
msgstr "奶酪"
#: cow.lua
msgid "Cheese Block"
msgstr "奶酪方块"
#: init.lua
msgid "[MOD] Mobs Redo 'Animals' loaded"
msgstr "[模组] Mobs Redo 'Animals' 已加载!"
#: kitten.lua
msgid "Kitten"
msgstr "小猫"
#: kitten.lua
msgid "Hairball"
msgstr "毛球"
#: penguin.lua
msgid "Penguin"
msgstr "企鹅"
#: rat.lua
msgid "Rat"
msgstr "老鼠"
#: rat.lua
msgid "Cooked Rat"
msgstr "熟老鼠"
#: sheep.lua
msgid "Black"
msgstr "黑"
#: sheep.lua
msgid "Blue"
msgstr "蓝"
#: sheep.lua
msgid "Brown"
msgstr "棕"
#: sheep.lua
msgid "Cyan"
msgstr "青"
#: sheep.lua
msgid "Dark Green"
msgstr "蓝绿"
#: sheep.lua
msgid "Dark Grey"
msgstr "蓝灰"
#: sheep.lua
msgid "Green"
msgstr "绿"
#: sheep.lua
msgid "Grey"
msgstr "灰"
#: sheep.lua
msgid "Magenta"
msgstr "品红"
#: sheep.lua
msgid "Orange"
msgstr "橙"
#: sheep.lua
msgid "Pink"
msgstr "粉红"
#: sheep.lua
msgid "Red"
msgstr "红"
#: sheep.lua
msgid "Violet"
msgstr "紫"
#: sheep.lua
msgid "White"
msgstr "白"
#: sheep.lua
msgid "Yellow"
msgstr "黄"
#: sheep.lua
msgid "@1 Sheep"
msgstr "@1羊"
#: sheep.lua
msgid "Raw Mutton"
msgstr "生羊肉"
#: sheep.lua
msgid "Cooked Mutton"
msgstr "熟羊肉"
#: warthog.lua
msgid "Warthog"
msgstr "野猪"
#: warthog.lua
msgid "Raw Porkchop"
msgstr "生猪排"
#: warthog.lua
msgid "Cooked Porkchop"
msgstr "熟猪排"

View File

@ -0,0 +1,53 @@
# Template for translations of mobs_animal mod
# last update: 2020/02/13
Bee = 蜜蜂
Honey = 蜂蜜
Beehive = 蜂巢
Honey Block = 蜂蜜方块
Butter = 黄油
Bunny = 兔子
Raw Rabbit = 生兔肉
Cooked Rabbit = 熟兔肉
Rabbit Hide = 兔子皮
Chicken = 鸡
Chicken Egg = 鸡蛋
Fried Egg = 煎蛋
Raw Chicken = 生鸡肉
Cooked Chicken = 熟鸡肉
Feather = 羽毛
Cow already milked! = 奶牛已被挤奶!
Cow = 奶牛
Bucket of Milk = 一桶牛奶
Cheese = 奶酪
Cheese Block = 奶酪方块
[MOD] Mobs Redo 'Animals' loaded = [模组] Mobs Redo 'Animals' 已加载!
Kitten = 小猫
Penguin = 企鹅
Rat = 老鼠
Cooked Rat = 熟老鼠
Black = 黑
Blue = 蓝
Brown = 棕
Cyan = 青
Dark Green = 暗绿
Dark Grey = 暗灰
Green = 绿
Grey = 灰
Magenta = 品红
Orange = 橙
Pink = 粉红
Red = 红
Violet = 紫
White = 白
Yellow = 黄
@1 Sheep = @1羊
Raw Mutton = 生羊肉
Cooked Mutton = 熟羊肉
Warthog = 野猪
Raw Porkchop = 生猪排
Cooked Porkchop = 熟猪排
Panda = 熊猫
Glass of Milk = 一杯牛奶
Hairball = 毛球

View File

@ -0,0 +1,53 @@
# Template for translations of mobs_animal mod
# last update: 2020/02/13
Bee = 蜜蜂
Honey = 蜂蜜
Beehive = 蜂巢
Honey Block = 蜂蜜方塊
Butter = 黃油
Bunny = 兔子
Raw Rabbit = 生兔肉
Cooked Rabbit = 熟兔肉
Rabbit Hide = 兔子皮
Chicken = 雞
Chicken Egg = 雞蛋
Fried Egg = 煎蛋
Raw Chicken = 生雞肉
Cooked Chicken = 熟雞肉
Feather = 羽毛
Cow already milked! = 奶牛已被擠奶!
Cow = 奶牛
Bucket of Milk = 一桶牛奶
Cheese = 奶酪
Cheese Block = 奶酪方塊
[MOD] Mobs Redo 'Animals' loaded = [模組] Mobs Redo 'Animals' 已加載!
Kitten = 小貓
Penguin = 企鵝
Rat = 老鼠
Cooked Rat = 熟老鼠
Black = 黑
Blue = 藍
Brown = 棕
Cyan = 青
Dark Green = 暗綠
Dark Grey = 暗灰
Green = 綠
Grey = 灰
Magenta = 品紅
Orange = 橙
Pink = 粉紅
Red = 紅
Violet = 紫
White = 白
Yellow = 黃
@1 Sheep = @1羊
Raw Mutton = 生羊肉
Cooked Mutton = 熟羊肉
Warthog = 野豬
Raw Porkchop = 生豬排
Cooked Porkchop = 熟豬排
Panda = 熊貓
Glass of Milk = 一杯牛奶
Hairball = 毛球

View File

@ -15,6 +15,12 @@ if minetest.get_modpath("lucky_block") then
{"dro", {"mobs:bucket_milk"}, 8},
{"spw", "mobs:kitten", 2},
{"exp"},
{"dro", {"mobs:hairball"}, 3},
{"dro", {"mobs:chicken_raw", "mobs:chicken_cooked"}, 10},
{"dro", {"mobs:pork_raw", "mobs:pork_cooked"}, 10},
{"dro", {"mobs:mutton_raw", "mobs:mutton_cooked"}, 10},
{"dro", {"mobs:meat_raw", "mobs:meat"}, 10},
{"dro", {"mobs:glass_milk"}, 5},
})
if minetest.registered_nodes["default:nyancat"] then

View File

@ -1 +1,4 @@
name = mobs_animal
depends = default, mobs
optional_depends = lucky_block, intllib
description = Adds farm animals.

Binary file not shown.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,86 @@
local S = mobs.intllib
-- Panda by AspireMint (CC BY-SA 3.0)
mobs:register_mob("mobs_animal:panda", {
stepheight = 0.6,
type = "animal",
passive = false,
attack_type = "dogfight",
group_attack = false,
owner_loyal = true,
attack_npcs = false,
reach = 2,
damage = 3,
hp_min = 10,
hp_max = 24,
armor = 200,
collisionbox = {-0.4, -0.45, -0.4, 0.4, 0.45, 0.4},
visual = "mesh",
mesh = "mobs_panda.b3d",
textures = {
{"mobs_panda.png"},
},
makes_footstep_sound = true,
sounds = {
random = "mobs_panda",
attack = "mobs_panda",
},
walk_chance = 5,
walk_velocity = 0.5,
run_velocity = 1.5,
jump = false,
jump_height = 6,
follow = {"ethereal:bamboo", "bamboo:trunk"},
view_range = 8,
drops = {
{name = "mobs:meat_raw", chance = 1, min = 1, max = 2},
},
water_damage = 0,
lava_damage = 5,
light_damage = 0,
fear_height = 6,
animation = {
speed_normal = 15,
stand_start = 130,
stand_end = 270,
stand1_start = 0,
stand1_end = 0,
stand2_start = 1,
stand2_end = 1,
stand3_start = 2,
stand3_end = 2,
walk_start = 10,
walk_end = 70,
run_start = 10,
run_end = 70,
punch_start = 80,
punch_end = 120,
-- 0 = rest, 1 = hiding (covers eyes), 2 = surprised
},
on_rightclick = function(self, clicker)
if mobs:feed_tame(self, clicker, 20, true, true) then return end
if mobs:protect(self, clicker) then return end
if mobs:capture_mob(self, clicker, 0, 5, 50, false, nil) then return end
end,
})
if minetest.get_modpath("ethereal") and not mobs.custom_spawn_animal then
mobs:spawn({
name = "mobs_animal:panda",
nodes = {"ethereal:bamboo_dirt"},
neighbors = {"group:grass"},
min_light = 14,
interval = 60,
chance = 8000, -- 15000
min_height = 10,
max_height = 80,
day_toggle = true,
})
end
mobs:register_egg("mobs_animal:panda", S("Panda"), "mobs_panda_inv.png")

View File

@ -45,7 +45,10 @@ stepheight = 0.6,
},
fly_in = {"default:water_source", "default:water_flowing"},
floats = 0,
follow = {"ethereal:fish_raw", "mobs_fish:clownfish", "mobs_fish:tropical"},
follow = {
"group:food_fish_raw", "mobs_fish:clownfish", "mobs_fish:tropical",
"mobs_fish:clownfish_set", "mobs_fish:tropical_set", "xocean:fish_edible"
},
view_range = 5,
on_rightclick = function(self, clicker)
@ -57,7 +60,7 @@ stepheight = 0.6,
end,
})
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "mobs_animal:penguin",
nodes = {"default:snowblock"},
@ -68,6 +71,6 @@ mobs:spawn({
max_height = 200,
day_toggle = true,
})
end
mobs:register_egg("mobs_animal:penguin", S("Penguin"), "default_snow.png", 1)
mobs:register_egg("mobs_animal:penguin", S("Penguin"), "mobs_penguin_inv.png")

View File

@ -2,7 +2,7 @@
local S = mobs.intllib
-- Rat by PilzAdam
-- Rat by PilzAdam (B3D model by sirrobzeroone)
mobs:register_mob("mobs_animal:rat", {
stepheight = 0.6,
@ -67,6 +67,7 @@ local function rat_spawn(self, pos)
self.health = 100
end
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "mobs_animal:rat",
nodes = {"default:stone"},
@ -77,9 +78,10 @@ mobs:spawn({
max_height = 0,
-- on_spawn = rat_spawn,
})
end
mobs:register_egg("mobs_animal:rat", S("Rat"), "mobs_rat_inventory.png", 0)
mobs:register_egg("mobs_animal:rat", S("Rat"), "mobs_rat_inv.png")
mobs:alias_mob("mobs:rat", "mobs_animal:rat") -- compatibility
@ -90,12 +92,12 @@ minetest.register_craftitem(":mobs:rat_cooked", {
description = S("Cooked Rat"),
inventory_image = "mobs_cooked_rat.png",
on_use = minetest.item_eat(3),
groups = {food_rat = 1, flammable = 2},
groups = {food_rat = 1, flammable = 2}
})
minetest.register_craft({
type = "cooking",
output = "mobs:rat_cooked",
recipe = "mobs_animal:rat",
cooktime = 5,
cooktime = 5
})

View File

@ -17,7 +17,7 @@ Wanders around eating grass/wheat and can be right-clicked with empty bucket to
---
### Kitten
Found on green grass these cute cats walk around and can be picked up and placed in inventory as pets or right-clicked with 4x live rats or raw fish (found in ethereal) and tamed.
Found on green grass these cute cats walk around and can be picked up and placed in inventory as pets or right-clicked with 4x live rats or raw fish (found in ethereal) and tamed. They can sometimes leave you little gifts of a hairball.
---
### Rat
@ -36,6 +36,10 @@ Warthogs unlike pigs defend themselves when hit and give 1-3 raw pork when kille
These little guys can be found in glacier biomes on top of snow and have the ability to swim if they fall into water.
---
*Note: After breeding animals need to rest for 4 minutes, baby animals take 4 minutes to grow up and feeding them helps them grow quicker...*
### Panda
These monochrome cuties spawn in Ethereal's bamboo biome and can be tamed with bamboo stalks :) Remember they have claws though.
#### Lucky Blocks: 14
---
*Note: After breeding, animals need to rest for 4 minutes and baby animals take 4 minutes to grow up, also feeding them helps them grow quicker...*
#### Lucky Blocks: 20

View File

@ -0,0 +1,254 @@
local S = mobs.intllib
local all_colours = {
{"black", S("Black"), "#000000b0"},
{"blue", S("Blue"), "#015dbb70"},
{"brown", S("Brown"), "#663300a0"},
{"cyan", S("Cyan"), "#01ffd870"},
{"dark_green", S("Dark Green"), "#005b0770"},
{"dark_grey", S("Dark Grey"), "#303030b0"},
{"green", S("Green"), "#61ff0170"},
{"grey", S("Grey"), "#5b5b5bb0"},
{"magenta", S("Magenta"), "#ff05bb70"},
{"orange", S("Orange"), "#ff840170"},
{"pink", S("Pink"), "#ff65b570"},
{"red", S("Red"), "#ff0000a0"},
{"violet", S("Violet"), "#2000c970"},
{"white", S("White"), "#abababc0"},
{"yellow", S("Yellow"), "#e3ff0070"},
}
-- Sheep by PilzAdam, texture converted to minetest by AMMOnym from Summerfield pack
for _, col in ipairs(all_colours) do
mobs:register_mob("mobs_animal:sheep_"..col[1], {
stay_near = {"farming:straw", 10},
stepheight = 0.6,
type = "animal",
passive = true,
hp_min = 8,
hp_max = 10,
armor = 200,
collisionbox = {-0.5, -1, -0.5, 0.5, 0.3, 0.5},
visual = "mesh",
mesh = "mobs_sheep.b3d",
textures = {
{"mobs_sheep_base.png^(mobs_sheep_wool.png^[colorize:" .. col[3] .. ")"},
},
gotten_texture = {"mobs_sheep_shaved.png"},
gotten_mesh = "mobs_sheep_shaved.b3d",
makes_footstep_sound = true,
sounds = {
random = "mobs_sheep",
},
walk_velocity = 1,
run_velocity = 2,
runaway = true,
jump = true,
jump_height = 6,
pushable = true,
drops = {
{name = "mobs:mutton_raw", chance = 1, min = 1, max = 2},
{name = "wool:"..col[1], chance = 1, min = 1, max = 1},
},
water_damage = 0,
lava_damage = 5,
light_damage = 0,
animation = {
speed_normal = 15,
speed_run = 15,
stand_start = 0,
stand_end = 80,
walk_start = 81,
walk_end = 100,
die_start = 1, -- we dont have a specific death animation so we will
die_end = 2, -- re-use 2 standing frames at a speed of 1 fps and
die_speed = 1, -- have mob rotate when dying.
die_loop = false,
die_rotate = true,
},
follow = {
"farming:wheat", "default:grass_1", "farming:barley",
"farming:oat", "farming:rye"
},
view_range = 8,
replace_rate = 10,
replace_what = {
{"group:grass", "air", -1},
{"default:dirt_with_grass", "default:dirt", -2}
},
fear_height = 3,
on_replace = function(self, pos, oldnode, newnode)
self.food = (self.food or 0) + 1
-- if sheep replaces 8x grass then it regrows wool
if self.food >= 8 then
self.food = 0
self.gotten = false
self.object:set_properties({
textures = {"mobs_sheep_base.png^(mobs_sheep_wool.png^[colorize:" .. col[3] .. ")"},
mesh = "mobs_sheep.b3d",
})
end
end,
on_rightclick = function(self, clicker)
--are we feeding?
if mobs:feed_tame(self, clicker, 8, true, true) then
--if fed 7 times then sheep regrows wool
if self.food and self.food > 6 then
self.gotten = false
self.object:set_properties({
textures = {"mobs_sheep_base.png^(mobs_sheep_wool.png^[colorize:" .. col[3] .. ")"},
mesh = "mobs_sheep.b3d",
})
end
return
end
local item = clicker:get_wielded_item()
local itemname = item:get_name()
local name = clicker:get_player_name()
--are we giving a haircut>
if itemname == "mobs:shears" then
if self.gotten ~= false
or self.child ~= false
or name ~= self.owner
or not minetest.get_modpath("wool") then
return
end
self.gotten = true -- shaved
local obj = minetest.add_item(
self.object:get_pos(),
ItemStack( "wool:" .. col[1] .. " " .. math.random(1, 3) )
)
if obj then
obj:setvelocity({
x = math.random(-1, 1),
y = 5,
z = math.random(-1, 1)
})
end
item:add_wear(650) -- 100 uses
clicker:set_wielded_item(item)
self.object:set_properties({
textures = {"mobs_sheep_shaved.png"},
mesh = "mobs_sheep_shaved.b3d",
})
return
end
--are we coloring?
if itemname:find("dye:") then
if self.gotten == false
and self.child == false
and self.tamed == true
and name == self.owner then
local colr = string.split(itemname, ":")[2]
for _,c in pairs(all_colours) do
if c[1] == colr then
local pos = self.object:get_pos()
self.object:remove()
local mob = minetest.add_entity(pos, "mobs_animal:sheep_" .. colr)
local ent = mob:get_luaentity()
ent.owner = name
ent.tamed = true
-- take item
if not mobs.is_creative(clicker:get_player_name()) then
item:take_item()
clicker:set_wielded_item(item)
end
break
end
end
end
return
end
-- protect mod with mobs:protector item
if mobs:protect(self, clicker) then return end
--are we capturing?
if mobs:capture_mob(self, clicker, 0, 5, 60, false, nil) then return end
end
})
mobs:register_egg("mobs_animal:sheep_"..col[1], S("@1 Sheep", col[2]), "wool_"..col[1]..".png^mobs_sheep_inv.png")
-- compatibility
mobs:alias_mob("mobs:sheep_" .. col[1], "mobs_animal:sheep_" .. col[1])
end
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "mobs_animal:sheep_white",
nodes = {"default:dirt_with_grass", "ethereal:green_dirt"},
neighbors = {"group:grass"},
min_light = 14,
interval = 60,
chance = 8000, -- 15000
min_height = 0,
max_height = 200,
day_toggle = true,
})
end
mobs:alias_mob("mobs:sheep", "mobs_animal:sheep_white") -- compatibility
-- raw mutton
minetest.register_craftitem(":mobs:mutton_raw", {
description = S("Raw Mutton"),
inventory_image = "mobs_mutton_raw.png",
on_use = minetest.item_eat(2),
groups = {food_meat_raw = 1, food_mutton_raw = 1, flammable = 2},
})
-- cooked mutton
minetest.register_craftitem(":mobs:mutton_cooked", {
description = S("Cooked Mutton"),
inventory_image = "mobs_mutton_cooked.png",
on_use = minetest.item_eat(6),
groups = {food_meat = 1, food_mutton = 1, flammable = 2},
})
minetest.register_craft({
type = "cooking",
output = "mobs:mutton_cooked",
recipe = "mobs:mutton_raw",
cooktime = 5,
})

Binary file not shown.

View File

@ -0,0 +1,195 @@
--[[ Spawn Template, defaults to values shown if line not provided
mobs:spawn({
name = "",
- Name of mob, must be provided e.g. "mymod:my_mob"
nodes = {"group:soil, "group:stone"},
- Nodes to spawn on top of.
neighbors = {"air"},
- Nodes to spawn beside.
min_light = 0,
- Minimum light level.
max_light = 15,
- Maximum light level, 15 is sunlight only.
interval = 30,
- Spawn interval in seconds.
chance = 5000,
- Spawn chance, 1 in every 5000 nodes.
active_object_count = 1,
- Active mobs of this type in area.
min_height = -31000,
- Minimum height level.
max_height = 31000,
- Maximum height level.
day_toggle = nil,
- Daytime toggle, true to spawn during day, false for night, nil for both
on_spawn = nil,
- On spawn function to run when mob spawns in world
on_map_load = nil,
- On map load, when true mob only spawns in newly generated map areas
})
]]--
-- Bee
mobs:spawn({
name = "mobs_animal:bee",
nodes = {"group:flower"},
min_light = 14,
interval = 60,
chance = 7000,
min_height = 3,
max_height = 200,
day_toggle = true,
})
-- Bunny
mobs:spawn({
name = "mobs_animal:bunny",
nodes = {"default:dirt_with_grass"},
neighbors = {"group:grass"},
min_light = 14,
interval = 60,
chance = 8000,
min_height = 5,
max_height = 200,
day_toggle = true,
})
-- Chicken
mobs:spawn({
name = "mobs_animal:chicken",
nodes = {"default:dirt_with_grass"},
neighbors = {"group:grass"},
min_light = 14,
interval = 60,
chance = 8000,
min_height = 5,
max_height = 200,
day_toggle = true,
})
-- Cow
mobs:spawn({
name = "mobs_animal:cow",
nodes = {"default:dirt_with_grass", "ethereal:green_dirt"},
neighbors = {"group:grass"},
min_light = 14,
interval = 60,
chance = 8000,
min_height = 5,
max_height = 200,
day_toggle = true,
})
-- Kitten
mobs:spawn({
name = "mobs_animal:kitten",
nodes = {"default:dirt_with_grass"},
neighbors = {"group:grass"},
min_light = 14,
interval = 60,
chance = 10000,
min_height = 5,
max_height = 50,
day_toggle = true,
})
-- Panda
mobs:spawn({
name = "mobs_animal:panda",
nodes = {"ethereal:bamboo_dirt"},
neighbors = {"group:grass"},
min_light = 14,
interval = 60,
chance = 8000,
min_height = 10,
max_height = 80,
day_toggle = true,
})
-- Penguin
mobs:spawn({
name = "mobs_animal:penguin",
nodes = {"default:snowblock"},
min_light = 14,
interval = 60,
chance = 20000,
min_height = 0,
max_height = 200,
day_toggle = true,
})
-- Rat
mobs:spawn({
name = "mobs_animal:rat",
nodes = {"default:stone"},
min_light = 3,
max_light = 9,
interval = 60,
chance = 8000,
max_height = 0,
})
-- Sheep
mobs:spawn({
name = "mobs_animal:sheep_white",
nodes = {"default:dirt_with_grass", "ethereal:green_dirt"},
neighbors = {"group:grass"},
min_light = 14,
interval = 60,
chance = 8000,
min_height = 0,
max_height = 200,
day_toggle = true,
})
-- Warthog
mobs:spawn({
name = "mobs_animal:pumba",
nodes = {"default:dirt_with_dry_grass", "default:dry_dirt_with_dry_grass"},
neighbors = {"group:dry_grass"},
min_light = 14,
interval = 60,
chance = 8000,
min_height = 0,
max_height = 200,
day_toggle = true,
})

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 948 B

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 610 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 363 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 157 B

After

Width:  |  Height:  |  Size: 472 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 157 B

After

Width:  |  Height:  |  Size: 520 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 378 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 312 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 224 B

After

Width:  |  Height:  |  Size: 462 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 198 B

After

Width:  |  Height:  |  Size: 406 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 914 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 164 B

After

Width:  |  Height:  |  Size: 444 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 145 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 164 B

After

Width:  |  Height:  |  Size: 489 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 834 B

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 565 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 635 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 983 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@ -2,10 +2,10 @@
local S = mobs.intllib
-- Warthog by KrupnoPavel
-- Warthog originally by KrupnoPavel, B3D model by sirrobzeroone
mobs:register_mob("mobs_animal:pumba", {
stepheight = 0.6,
stepheight = 0.6,
type = "animal",
passive = false,
attack_type = "dogfight",
@ -19,7 +19,7 @@ stepheight = 0.6,
armor = 200,
collisionbox = {-0.4, -0.01, -0.4, 0.4, 0.95, 0.4},
visual = "mesh",
mesh = "mobs_pumba.x",
mesh = "mobs_pumba.b3d",
textures = {
{"mobs_pumba.png"},
},
@ -32,12 +32,13 @@ stepheight = 0.6,
run_velocity = 3,
jump = true,
jump_height = 6,
pushable = true,
follow = {"default:apple", "farming:potato"},
view_range = 10,
drops = {
{name = "mobs:pork_raw", chance = 1, min = 1, max = 3},
},
water_damage = 1,
water_damage = 0,
lava_damage = 5,
light_damage = 0,
fear_height = 2,
@ -49,6 +50,12 @@ stepheight = 0.6,
walk_end = 100,
punch_start = 70,
punch_end = 100,
die_start = 1, -- we dont have a specific death animation so we will
die_end = 2, -- re-use 2 standing frames at a speed of 1 fps and
die_speed = 1, -- have mob rotate when dying.
die_loop = false,
die_rotate = true,
},
on_rightclick = function(self, clicker)
@ -62,15 +69,16 @@ local spawn_on = {"default:dirt_with_grass"}
local spawn_by = {"group:grass"}
if minetest.get_mapgen_setting("mg_name") ~= "v6" then
spawn_on = {"default:dirt_with_dry_grass"}
spawn_on = {"default:dirt_with_dry_grass", "default:dry_dirt_with_dry_grass"}
spawn_by = {"group:dry_grass"}
end
if minetest.get_modpath("ethereal") then
spawn_on = {"ethereal:mushroom_dirt"}
spawn_by = {"flowers:mushroom_brown", "flowers:mushroom_brown"}
spawn_by = {"flowers:mushroom_brown", "flowers:mushroom_red"}
end
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "mobs_animal:pumba",
nodes = spawn_on,
@ -82,9 +90,9 @@ mobs:spawn({
max_height = 200,
day_toggle = true,
})
end
mobs:register_egg("mobs_animal:pumba", S("Warthog"), "wool_pink.png", 1)
mobs:register_egg("mobs_animal:pumba", S("Warthog"), "mobs_pumba_inv.png")
mobs:alias_mob("mobs:pumba", "mobs_animal:pumba") -- compatibility