Compare commits

85 Commits

Author SHA1 Message Date
d500e7f893 Merge remote-tracking branch 'upstream/master' 2021-11-26 21:43:46 +01:00
3e15456bce fix intllib return 2021-11-14 14:22:15 +00:00
cac5e8328f Merge remote-tracking branch 'upstream/master' 2021-11-01 10:31:14 +01:00
99ca850018 simplify baby chicken from egg (thanks MoNTE48) 2021-10-27 13:43:16 +01:00
bcb158d241 Fix crash on shift + right-click on a goat 2021-08-25 22:37:07 +02:00
99cf81611a Merge remote-tracking branch 'upstream/master' 2021-07-26 22:21:44 +02:00
c2fa3e300c make default optional dependency 2021-07-24 22:21:59 +01:00
a7b08928c5 Merge remote-tracking branch 'upstream/master' 2021-06-26 18:55:19 +02:00
9a27ed80d7 add Brazilian Portuguese translations and converter (thanks Lunovox) 2021-06-21 11:07:39 +01:00
630c73cdd7 Merge remote-tracking branch 'upstream/master' 2021-06-20 17:15:09 +02:00
52d4d45027 dont drop 8x buckets of milk as stack, separate with water buckets 2021-05-18 19:08:06 +01:00
1d50cdbcca fix kitten tamed with rats 2021-05-15 09:39:43 +01:00
eba1ac7f10 Merge remote-tracking branch 'upstream/master' 2021-04-17 13:51:50 +02:00
80e72a4edc reduce shapeless crafts 2021-04-13 21:13:35 +01:00
86987aadde Merge remote-tracking branch 'upstream/master' 2021-04-08 13:28:50 +02:00
cd2b2609a2 add _is_arrow=true to throwable egg 2021-04-06 13:07:55 +01:00
5293673547 Merge remote-tracking branch 'upstream/master' 2021-04-04 21:01:44 +02:00
54f6de148b check item exists for hairballs 2021-04-02 14:01:14 +01:00
0873ef4119 Merge remote-tracking branch 'upstream/master' 2021-03-25 21:47:49 +01:00
f2b1b752a7 update penguin to use group:food_fish_raw for taming 2021-03-23 19:14:37 +00:00
db59194f88 use group:food_fish_raw instead of huge list of fish 2021-03-23 17:08:15 +00:00
733ab61820 update fish kittens like 2021-03-23 16:38:48 +00:00
498b3fbf10 Merge remote-tracking branch 'upstream/master' 2021-02-13 14:13:02 +01:00
8bfa177190 nil check for egg drop 2021-02-08 20:27:14 +00:00
01bdea97c7 Merge remote-tracking branch 'upstream/master' 2021-02-07 13:11:00 +01:00
a1bbcb26ec amend cheese block recipe and dig groups 2021-01-29 20:32:41 +00:00
620bdfe33d Merge remote-tracking branch 'upstream/master' 2021-01-23 12:55:30 +01:00
77ed774de5 update mod.conf info 2021-01-21 10:14:06 +00:00
061cbb10b7 Merge remote-tracking branch 'upstream/master' 2021-01-19 23:36:36 +01:00
c22c556b5f change rabbit hide to pelt group instead of leather 2021-01-18 11:00:54 +00:00
ba305db9ca Merge remote-tracking branch 'upstream/master' 2021-01-15 21:10:27 +01:00
7de71d8724 add compatibility groups to mob items 2021-01-14 21:12:30 +00:00
6a74a05836 update milk bucket recipe to use soy milk (for vegan cheese) 2021-01-13 10:36:35 +00:00
e3ca168e7e Merge remote-tracking branch 'upstream/master' 2021-01-08 23:36:50 +01:00
9c7e537f52 hogs spin on death 2021-01-08 10:15:40 +00:00
66be327567 Merge remote-tracking branch 'upstream/master' 2020-12-08 22:38:39 +01:00
96f41785b5 add death spin to sheep when killed 2020-12-06 08:57:16 +00:00
8ef65e2292 Merge remote-tracking branch 'upstream/master' 2020-09-21 18:02:56 +02:00
95c32cb4af Added spawn.lua check for custom mob spawning with example file 2020-09-21 09:48:45 +01:00
e8ccc6b3c1 add more food types to follow for kitten, cow, sheep, penguin, chicken (thanks rusty-snake) 2020-09-06 20:29:47 +01:00
03acd94c3b Merge remote-tracking branch 'upstream/master' 2020-09-04 21:40:00 +02:00
4706a78a2a convert mobs_kitten.ogg to mono 2020-09-04 09:13:00 +01:00
a5ed775333 Merge remote-tracking branch 'upstream/master' 2020-08-30 12:52:14 +02:00
7a572d874d mt5.x translations added/updated (thanks dacmot) 2020-08-30 08:14:07 +01:00
b98fc2186f Merge remote-tracking branch 'upstream/master' 2020-08-25 20:06:08 +02:00
d4ae151e47 update translation detection 2020-08-25 09:56:14 +01:00
a14d29bd55 Merge remote-tracking branch 'upstream/master' 2020-07-17 22:42:54 +02:00
3768da8e49 add {drink=1} group to bucket and glass of milk 2020-06-30 20:17:23 +01:00
c6a82eae3a slow chicken fall speed 2020-06-29 14:58:33 +01:00
0aa7224ebc Merge remote-tracking branch 'upstream/master' into nalc-1.2-dev 2020-06-20 15:38:41 +02:00
479a9f2fa2 updated russian locale (thanks Yellow) 2020-06-19 17:43:47 +01:00
42fbf31f80 fix typo in hog spawn_by 2020-06-19 10:57:26 +01:00
e3d51b3f58 hogs can spawn on dry dirt with dry grass 2020-06-19 10:55:31 +01:00
59d5dbab85 beehives no longer suffocate bees 2020-05-09 20:28:11 +01:00
914c37a0ae checkens also spawn on ethereal's prairie dirt 2020-04-07 08:49:08 +01:00
9776d5dfd4 Merge remote-tracking branch 'upstream/master' into nalc-1.2-dev 2020-02-29 18:07:18 +01:00
18e5094afe Merge branch 'master' of IFRFSX/mobs_animal into master 2020-02-24 09:13:12 +00:00
004d88ede7 add two word 2020-02-23 15:24:10 +08:00
299314144f repair a word 2020-02-23 15:14:13 +08:00
7f2badbd8e chinese local added (thanks IFRFSX) 2020-02-14 11:24:00 +00:00
4a8cd67f6d Merge branch 'master' of yunohost.local:mtcontrib/mobs_animal into nalc-1.2-dev 2019-12-22 13:56:39 +01:00
c6841290e5 panda can now eat cool trees bamboo 2019-09-07 08:56:52 +01:00
901225565c code tidy ' to " 2019-08-05 09:50:56 +01:00
e8709a1d11 add tamed fish to penguins diet :) 2019-07-17 08:25:16 +01:00
eafbfd6f94 new rat model and texture by sirrobzeroone 2019-06-25 15:02:37 +01:00
1a770dec3b added new bee model by sirrobzeroone 2019-06-16 15:23:25 +01:00
9e2f3813b3 added new animal inventory textures (thanks sirrobzeroone) 2019-06-02 10:53:50 +01:00
4259e9a6b1 New cow model and textures by sirrobzeroone 2019-06-01 09:20:59 +01:00
bdfa95ff8a warthog model converted from .x to .b3d (thanks Sirrobzeroone) 2019-05-20 16:18:53 +01:00
f553e1e0a0 increase cat stepheight to 1.1 2019-05-19 09:28:27 +01:00
fa0b70f354 fix mobs_rabbit_hide.png 2019-05-14 09:32:43 +01:00
ad864bd1c8 Merge branch 'master' into nalc-1.2 2019-05-10 00:53:43 +02:00
43a813d4f1 Chicken model fixes and new textures by sirrobzeroone (many thanks) 2019-03-22 11:06:47 +00:00
c14c8676ec use bee_inv texture instead of blood texture when hit. 2019-02-11 10:41:45 +00:00
84cc9c3fa8 stop animals from drowning in water since they can all swim irl 2019-02-11 09:10:51 +00:00
1637379056 add vessel group 2019-01-30 09:10:18 +00:00
f75e6ddd4b added stay_near setting for sheep 2019-01-24 11:11:25 +00:00
631cddc727 fix 5.0x nil error when feeding sheep/cow 2018-12-16 20:27:41 +00:00
0703b8b4f2 fix cow and sheep taming bug 2018-12-13 19:03:53 +00:00
e307db5df0 update license.txt 2018-12-04 17:46:48 +00:00
8d37aaf1b9 replace textures for pork, mutton and rabbit (thanks Piezo_) 2018-12-04 14:34:14 +00:00
01d7e07f2a add on_replace functions to cow and sheep to replace milk and wool when eating 2018-11-26 17:47:15 +00:00
10028cd63d add glass of milk and craft recipes 2018-11-21 16:19:32 +00:00
e36deb7bc5 replace newer chicken sounds with more suitable one's, add luckyblocks 2018-11-02 12:51:20 +00:00
0ec8022a76 add some new chicken sounds 2018-10-30 10:17:56 +00:00
79 changed files with 1994 additions and 23690 deletions

16
bee.lua
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)

View File

@ -33,7 +33,7 @@ stepheight = 0.6,
{name = "mobs:rabbit_raw", 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,
@ -113,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},
@ -124,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)
@ -159,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({
@ -170,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 = {
@ -41,16 +38,27 @@ stepheight = 0.6,
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)
@ -135,7 +146,7 @@ mobs:register_arrow("mobs_animal:egg_entity", {
hit_node = function(self, pos, node)
if math.random(1, 10) > 1 then
if math.random(10) > 1 then
return
end
@ -149,28 +160,10 @@ mobs:register_arrow("mobs_animal:egg_entity", {
return
end
local mob = minetest.add_entity(pos, "mobs_animal:chicken")
local ent2 = mob:get_luaentity()
local staticdata = minetest.serialize(
{child = true, tamed = true, owner = self.playername})
mob:set_properties({
textures = ent2.child_texture[1],
visual_size = {
x = ent2.base_size.x / 2,
y = ent2.base_size.y / 2
},
collisionbox = {
ent2.base_colbox[1] / 2,
ent2.base_colbox[2] / 2,
ent2.base_colbox[3] / 2,
ent2.base_colbox[4] / 2,
ent2.base_colbox[5] / 2,
ent2.base_colbox[6] / 2
},
})
ent2.child = true
ent2.tamed = true
ent2.owner = self.playername
minetest.add_entity(pos, "mobs_animal:chicken", staticdata)
end
})
@ -202,14 +195,15 @@ 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({
obj:set_velocity({
x = dir.x * egg_VELOCITY,
y = dir.y * egg_VELOCITY,
z = dir.z * egg_VELOCITY
})
obj:setacceleration({
obj:set_acceleration({
x = dir.x * -3,
y = -egg_GRAVITY,
z = dir.z * -3
@ -217,6 +211,7 @@ local mobs_shoot_egg = function (item, player, pointed_thing)
-- pass player name to egg for chick ownership
local ent2 = obj:get_luaentity()
ent2.playername = player:get_player_name()
item:take_item()
@ -291,7 +286,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({

114
cow.lua
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"},
@ -35,35 +35,55 @@ mobs:register_mob("mobs_animal:cow", {
{name = "mobs:leather", chance = 1, min = 0, max = 2},
{name = "maptools:silver_coin", chance = 10, min = 0, max = 1,},
},
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", "mobs:dung", 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
@ -102,9 +122,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"},
@ -116,9 +148,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
@ -129,16 +162,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
@ -178,23 +244,23 @@ 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?
default?
lucky_block?
intllib?

View File

@ -55,7 +55,7 @@ mobs:register_mob("mobs_animal:goat", {
punch_start = 120, punch_end = 150, -- attack
},
-- follows wheat
follow = "farming:wheat",
follow = {"farming:wheat"},
view_range = 10,
-- replace grass/wheat with air (eat)
replace_rate = 50,

View File

@ -1,25 +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 .. "goat.lua") -- NALC(sys4 fork MFF)
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 .. "/goat.lua") -- NALC(sys4 fork MFF)
dofile(path .. "/penguin.lua") -- D00Med
dofile(path .. "/panda.lua") -- AspireMint
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 ("[MOD] Mobs Redo Animals loaded")

View File

@ -1,45 +1,3 @@
-- Support for the old multi-load method
return 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

@ -13,6 +13,7 @@ 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,
@ -39,7 +40,7 @@ reach = 1,
drops = {
{name = "farming:string", chance = 1, min = 0, max = 1},
},
water_damage = 1,
water_damage = 0,
lava_damage = 5,
fear_height = 3,
animation = {
@ -52,16 +53,9 @@ reach = 1,
stoodup_end = 0,
},
follow = {
"mobs_animal:rat",
"ethereal:fish_raw",
"mobs_fish:clownfish",
"mobs_fish:tropical",
"fishing:clownfish_raw",
"fishing:bluewhite_raw",
"fishing:exoticfish_raw",
"fishing:carp_raw",
"fishing:perch_raw",
"fishing:catfish_raw",
"mobs_animal:rat", "group:food_fish_raw",
"mobs_fish:tropical", "xocean:fish_edible",
"group:fishraw" -- NALC: Group from fishing mod
},
view_range = 8,
@ -122,6 +116,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},
@ -133,6 +128,7 @@ mobs:spawn({
max_height = 50,
day_toggle = true,
})
end
mobs:register_egg("mobs_animal:kitten", S("Kitten"), "mobs_kitten_inv.png", 0)
@ -161,7 +157,8 @@ minetest.register_craftitem(":mobs:hairball", {
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 ~= "" then
if item ~= ""
and minetest.registered_items[item] then
minetest.add_item(newpos, {name = item})
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

10
locale/README.md Normal file
View File

@ -0,0 +1,10 @@
# Convert '.po' file to '.txt' file.
### COMMAND SAMPLE
''''
$ lua po2tr.lua "Your Name (Your Site) <Your Email>" "pt_BR.po"
rm "pt_BR.tr" "mobs_animal.pt_BR.tr"
$ cat mobs_animal.pt_BR.tr | less
''''
Source Code: https://gitlab.com/4w/xtend/-/blob/master/xtend_default/tools/convert_po_file_to_tr_file/convert_po_file_to_tr_file.lua

50
locale/mobs_animal.de.tr Normal file
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=

50
locale/mobs_animal.en.tr Normal file
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=

50
locale/mobs_animal.fr.tr Normal file
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

50
locale/mobs_animal.it.tr Normal file
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=

50
locale/mobs_animal.ms.tr Normal file
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=

46
locale/mobs_animal.pt.tr Normal file
View File

@ -0,0 +1,46 @@
# textdomain: Lunovox Heavenfinder (https://libreplanet.org/wiki/User:Lunovox) <lunovox@disroot.org>
Bee=Abelha
Honey=Mel
Beehive=Colméia
Honey Block=Bloco de Mel
Bunny=Coelho
Raw Rabbit=Carne de Coelho (Cru)
Cooked Rabbit=Coelho (Assado)
Rabbit Hide=Pele de Coelho
Chicken=Galinha
Chicken Egg=Ovo de Galinha
Fried Egg=Ovo Frito
Raw Chicken=Carne de Galinha (Crua)
Cooked Chicken=Galinha Assada
Feather=Pluma
Cow already milked!=Vaca já ordenhada!
Cow=Vaca
Bucket of Milk=Balde de leite
Cheese=Queijo
Cheese Block=Bloco de Queijo
[MOD] Mobs Redo 'Animals' loaded=[MOBS_ANIMAL] Mod carregado completamente
Kitten=Gato
Penguin=Pinguim
Rat=Rato
Cooked Rat=Rato (Assado)
Black=Preto
Blue=Azul
Brown=Marrom
Cyan=Ciano
Dark Green=Verde Escuro
Dark Grey=Cinza Escuro
Green=Verde
Grey=Cinza
Magenta=Rosa Magenta
Orange=Laranja
Pink=Rosa
Red=Vermelho
Violet=Violeta
White=Branco
Yellow=Amarelo
@1 Sheep=Ovelha @1
Raw Mutton=Carneiro (Cru)
Cooked Mutton=Carneiro (Assado)
Warthog=Javali
Raw Porkchop=Costeleta de Javali (Crua)
Cooked Porkchop=Costeleta de Javali Assada

View File

@ -0,0 +1,46 @@
# textdomain: Lunovox Heavenfinder (https://libreplanet.org/wiki/User:Lunovox) <lunovox@disroot.org>
Bee=Abelha
Honey=Mel
Beehive=Colméia
Honey Block=Bloco de Mel
Bunny=Coelho
Raw Rabbit=Carne de Coelho (Cru)
Cooked Rabbit=Coelho (Assado)
Rabbit Hide=Pele de Coelho
Chicken=Galinha
Chicken Egg=Ovo de Galinha
Fried Egg=Ovo Frito
Raw Chicken=Carne de Galinha (Crua)
Cooked Chicken=Galinha Assada
Feather=Pluma
Cow already milked!=Vaca já ordenhada!
Cow=Vaca
Bucket of Milk=Balde de leite
Cheese=Queijo
Cheese Block=Bloco de Queijo
[MOD] Mobs Redo 'Animals' loaded=[MOBS_ANIMAL] Mod carregado completamente
Kitten=Gato
Penguin=Pinguim
Rat=Rato
Cooked Rat=Rato (Assado)
Black=Preto
Blue=Azul
Brown=Marrom
Cyan=Ciano
Dark Green=Verde Escuro
Dark Grey=Cinza Escuro
Green=Verde
Grey=Cinza
Magenta=Rosa Magenta
Orange=Laranja
Pink=Rosa
Red=Vermelho
Violet=Violeta
White=Branco
Yellow=Amarelo
@1 Sheep=Ovelha @1
Raw Mutton=Carneiro (Cru)
Cooked Mutton=Carneiro (Assado)
Warthog=Javali
Raw Porkchop=Costeleta de Javali (Crua)
Cooked Porkchop=Costeleta de Javali Assada

50
locale/mobs_animal.ru.tr Normal file
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=

50
locale/mobs_animal.tr.tr Normal file
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=

116
locale/po2tr.lua Normal file
View File

@ -0,0 +1,116 @@
#!/usr/bin/env luajit
-- Convert regular Gettext PO files to Minetest-specific TR files. If there is
-- already a TR file with the same name of the PO file except the file suffix
-- bneing .tr (or .TR) instead of .po (or .PO) then THIS FILE WILL BE
-- OVERWRITTEN WITHOUT INFORMATION OR A WAY TO RECOVER THE PREVIOUS FILE!
--
--
-- ▄██▄
-- ▀███
-- █
-- ▄▄▄▄▄ █
-- ▀▄ ▀▄ █ BACKUP
-- ▄▀▀▀▄ █▄▄▄▄█▄▄ ▄▀▀▀▄ █
-- █ ▄ █ █ ▄ █ █
-- ▀▄ ▄▀ ▀▄ ▄▀ █
-- █▀▀▀ ▀▀▀ █ █
-- █ █ █ ALL
-- ▄▀▄▄▀▄ █ ▄█▀█▀█▀█▀█▀█▄ █ █
-- █▒▒▒▒█ █ █████████████▄ █ █
-- █▒▒▒▒█ █ ██████████████▄ █ █
-- █▒▒▒▒█ █ ██████████████▄ █ █
-- █▒▒▒▒█ █ ██████████████ █ █
-- █▒▒▒▒█ █ ██████████████▀ █ █ THE
-- █▒▒▒▒█ ██ ██████████████ █ █
-- ▀████▀ ██▀█ █████████████▀ █▄█
-- ██ ██ ▀█ █▄█▄█▄█▄█▄█▀ ▄█▀
-- ██ ██ ▀█ ▄▀▓█
-- ██ ██ ▀█▀▄▄▄▄▄▄▄▄▄▀▀▓▓▓█
-- ████ █▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█
-- ███ █▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█ THINGS
-- ██ █▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█
-- ██ █▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█
-- ██ ▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█
-- ██ ▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█
-- ██ ▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▌ !!!
-- ██ ▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▌
-- ██ ▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▌
-- ██ ▐█▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓█▌
--
--
-- The syntax of TR files according to the introducing forum post is:
--
-- # textdomain: namespace
-- original 1 = translation 1
-- original 2 = translation 2
-- original 3 = tralslation 3
-- original N = translation N
--
-- Where namespace should be the name of the mod. Following strings have to be
-- escaped using @.
--
-- String | Escape
-- -------+--------
-- `@` |`@@`
-- `=` |`@=`
-- `\n` |`@\n`
--
-- See https://forum.minetest.net/viewtopic.php?t=18349 for details.
-- Preparation
if arg[1] == nil or arg[2] == nil then
print('Provide the namesspace as first parameter')
print('Provide the path to the source PO file as second parameter')
print('Example: '..arg[0]..' mymod path/to/my/source.po')
return
end
local SEP = package.path:match('(%p)%?%.') or '/' -- wonky but hey ... :)
-- Assign parameters to local variables
local namespace = arg[1]
local po_file = arg[2]
local tr_file = arg[2]:gsub('po$', 'tr'):gsub('PO$', 'TR')
-- Get the translations through crude plaintext file parsing
local file_contents = {}
local translations = {}
local po_file_handle = io.open(po_file, 'rb')
if po_file_handle == nil then print('No base file found') return end
for line in po_file_handle:lines() do
if line:match('^msgid') or line:match('^msgstr') then
table.insert(file_contents, line)
end
end
local escape_string = function (s)
s = s:gsub('@([^%d])', '@@%1') -- All @ not followed by a number become @@
s = s:gsub('([^@]@)$', '%1@') -- An @ at the end of the string become @@
s = s:gsub('=', '@=') -- All = become @=
return s
end
for number,line_content in pairs(file_contents) do
if line_content:match('^msgid') then
local o = line_content:gsub('^msgid "(.+)"$', '%1')
local t = file_contents[number + 1]:gsub('^msgstr "(.+)"$', '%1')
if o ~= 'msgid = ""' and t ~= 'msgstr ""' then
table.insert(translations, escape_string(o)..'='..escape_string(t))
end
end
end
print(number)
po_file_handle:close()
-- Write translation to file
local tr_file_handle = io.open(tr_file, 'w+')
if tr_file_handle == nil then print('Could not open target file') return end
tr_file_handle:write('# textdomain: '..namespace, "\n")
for _,line in pairs(translations) do tr_file_handle:write(line, "\n") end
tr_file_handle:close()

199
locale/pt.po Normal file
View File

@ -0,0 +1,199 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-07-31 11:28+0200\n"
"PO-Revision-Date: 2021-06-20 18:51-0300\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.6\n"
"Last-Translator: Lunovox Heavenfinder <lunovox@disroot.org>\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Language: pt_BR\n"
#: bee.lua
msgid "Bee"
msgstr "Abelha"
#: bee.lua
msgid "Honey"
msgstr "Mel"
#: bee.lua
msgid "Beehive"
msgstr "Colméia"
#: bee.lua
msgid "Honey Block"
msgstr "Bloco de Mel"
#: bunny.lua
msgid "Bunny"
msgstr "Coelho"
#: bunny.lua
msgid "Raw Rabbit"
msgstr "Carne de Coelho (Cru)"
#: bunny.lua
msgid "Cooked Rabbit"
msgstr "Coelho (Assado)"
#: bunny.lua
msgid "Rabbit Hide"
msgstr "Pele de Coelho"
#: chicken.lua
msgid "Chicken"
msgstr "Galinha"
#: chicken.lua
msgid "Chicken Egg"
msgstr "Ovo de Galinha"
#: chicken.lua
msgid "Fried Egg"
msgstr "Ovo Frito"
#: chicken.lua
msgid "Raw Chicken"
msgstr "Carne de Galinha (Crua)"
#: chicken.lua
msgid "Cooked Chicken"
msgstr "Galinha Assada"
#: chicken.lua
msgid "Feather"
msgstr "Pluma"
#: cow.lua
msgid "Cow already milked!"
msgstr "Vaca já ordenhada!"
#: cow.lua
msgid "Cow"
msgstr "Vaca"
#: cow.lua
msgid "Bucket of Milk"
msgstr "Balde de leite"
#: cow.lua
msgid "Cheese"
msgstr "Queijo"
#: cow.lua
msgid "Cheese Block"
msgstr "Bloco de Queijo"
#: init.lua
msgid "[MOD] Mobs Redo 'Animals' loaded"
msgstr "[MOBS_ANIMAL] Mod carregado completamente"
#: kitten.lua
msgid "Kitten"
msgstr "Gato"
#: penguin.lua
msgid "Penguin"
msgstr "Pinguim"
#: rat.lua
msgid "Rat"
msgstr "Rato"
#: rat.lua
msgid "Cooked Rat"
msgstr "Rato (Assado)"
#: sheep.lua
msgid "Black"
msgstr "Preto"
#: sheep.lua
msgid "Blue"
msgstr "Azul"
#: sheep.lua
msgid "Brown"
msgstr "Marrom"
#: sheep.lua
msgid "Cyan"
msgstr "Ciano"
#: sheep.lua
msgid "Dark Green"
msgstr "Verde Escuro"
#: sheep.lua
msgid "Dark Grey"
msgstr "Cinza Escuro"
#: sheep.lua
msgid "Green"
msgstr "Verde"
#: sheep.lua
msgid "Grey"
msgstr "Cinza"
#: sheep.lua
msgid "Magenta"
msgstr "Rosa Magenta"
#: sheep.lua
msgid "Orange"
msgstr "Laranja"
#: sheep.lua
msgid "Pink"
msgstr "Rosa"
#: sheep.lua
msgid "Red"
msgstr "Vermelho"
#: sheep.lua
msgid "Violet"
msgstr "Violeta"
#: sheep.lua
msgid "White"
msgstr "Branco"
#: sheep.lua
msgid "Yellow"
msgstr "Amarelo"
#: sheep.lua
msgid "@1 Sheep"
msgstr "Ovelha @1 "
#: sheep.lua
msgid "Raw Mutton"
msgstr "Carneiro (Cru)"
#: sheep.lua
msgid "Cooked Mutton"
msgstr "Carneiro (Assado)"
#: warthog.lua
msgid "Warthog"
msgstr "Javali"
#: warthog.lua
msgid "Raw Porkchop"
msgstr "Costeleta de Javali (Crua)"
#: warthog.lua
msgid "Cooked Porkchop"
msgstr "Costeleta de Javali Assada"

46
locale/pt.txt Normal file
View File

@ -0,0 +1,46 @@
# textdomain: Lunovox Heavenfinder (https://libreplanet.org/wiki/User:Lunovox) <lunovox@disroot.org>
Bee=Abelha
Honey=Mel
Beehive=Colméia
Honey Block=Bloco de Mel
Bunny=Coelho
Raw Rabbit=Carne de Coelho (Cru)
Cooked Rabbit=Coelho (Assado)
Rabbit Hide=Pele de Coelho
Chicken=Galinha
Chicken Egg=Ovo de Galinha
Fried Egg=Ovo Frito
Raw Chicken=Carne de Galinha (Crua)
Cooked Chicken=Galinha Assada
Feather=Pluma
Cow already milked!=Vaca já ordenhada!
Cow=Vaca
Bucket of Milk=Balde de leite
Cheese=Queijo
Cheese Block=Bloco de Queijo
[MOD] Mobs Redo 'Animals' loaded=[MOBS_ANIMAL] Mod carregado completamente
Kitten=Gato
Penguin=Pinguim
Rat=Rato
Cooked Rat=Rato (Assado)
Black=Preto
Blue=Azul
Brown=Marrom
Cyan=Ciano
Dark Green=Verde Escuro
Dark Grey=Cinza Escuro
Green=Verde
Grey=Cinza
Magenta=Rosa Magenta
Orange=Laranja
Pink=Rosa
Red=Vermelho
Violet=Violeta
White=Branco
Yellow=Amarelo
@1 Sheep=Ovelha @1
Raw Mutton=Carneiro (Cru)
Cooked Mutton=Carneiro (Assado)
Warthog=Javali
Raw Porkchop=Costeleta de Javali (Crua)
Cooked Porkchop=Costeleta de Javali Assada

199
locale/pt_BR.po Normal file
View File

@ -0,0 +1,199 @@
# SOME DESCRIPTIVE TITLE.
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-07-31 11:28+0200\n"
"PO-Revision-Date: 2021-06-20 18:51-0300\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 2.0.6\n"
"Last-Translator: Lunovox Heavenfinder <lunovox@disroot.org>\n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"Language: pt_BR\n"
#: bee.lua
msgid "Bee"
msgstr "Abelha"
#: bee.lua
msgid "Honey"
msgstr "Mel"
#: bee.lua
msgid "Beehive"
msgstr "Colméia"
#: bee.lua
msgid "Honey Block"
msgstr "Bloco de Mel"
#: bunny.lua
msgid "Bunny"
msgstr "Coelho"
#: bunny.lua
msgid "Raw Rabbit"
msgstr "Carne de Coelho (Cru)"
#: bunny.lua
msgid "Cooked Rabbit"
msgstr "Coelho (Assado)"
#: bunny.lua
msgid "Rabbit Hide"
msgstr "Pele de Coelho"
#: chicken.lua
msgid "Chicken"
msgstr "Galinha"
#: chicken.lua
msgid "Chicken Egg"
msgstr "Ovo de Galinha"
#: chicken.lua
msgid "Fried Egg"
msgstr "Ovo Frito"
#: chicken.lua
msgid "Raw Chicken"
msgstr "Carne de Galinha (Crua)"
#: chicken.lua
msgid "Cooked Chicken"
msgstr "Galinha Assada"
#: chicken.lua
msgid "Feather"
msgstr "Pluma"
#: cow.lua
msgid "Cow already milked!"
msgstr "Vaca já ordenhada!"
#: cow.lua
msgid "Cow"
msgstr "Vaca"
#: cow.lua
msgid "Bucket of Milk"
msgstr "Balde de leite"
#: cow.lua
msgid "Cheese"
msgstr "Queijo"
#: cow.lua
msgid "Cheese Block"
msgstr "Bloco de Queijo"
#: init.lua
msgid "[MOD] Mobs Redo 'Animals' loaded"
msgstr "[MOBS_ANIMAL] Mod carregado completamente"
#: kitten.lua
msgid "Kitten"
msgstr "Gato"
#: penguin.lua
msgid "Penguin"
msgstr "Pinguim"
#: rat.lua
msgid "Rat"
msgstr "Rato"
#: rat.lua
msgid "Cooked Rat"
msgstr "Rato (Assado)"
#: sheep.lua
msgid "Black"
msgstr "Preto"
#: sheep.lua
msgid "Blue"
msgstr "Azul"
#: sheep.lua
msgid "Brown"
msgstr "Marrom"
#: sheep.lua
msgid "Cyan"
msgstr "Ciano"
#: sheep.lua
msgid "Dark Green"
msgstr "Verde Escuro"
#: sheep.lua
msgid "Dark Grey"
msgstr "Cinza Escuro"
#: sheep.lua
msgid "Green"
msgstr "Verde"
#: sheep.lua
msgid "Grey"
msgstr "Cinza"
#: sheep.lua
msgid "Magenta"
msgstr "Rosa Magenta"
#: sheep.lua
msgid "Orange"
msgstr "Laranja"
#: sheep.lua
msgid "Pink"
msgstr "Rosa"
#: sheep.lua
msgid "Red"
msgstr "Vermelho"
#: sheep.lua
msgid "Violet"
msgstr "Violeta"
#: sheep.lua
msgid "White"
msgstr "Branco"
#: sheep.lua
msgid "Yellow"
msgstr "Amarelo"
#: sheep.lua
msgid "@1 Sheep"
msgstr "Ovelha @1 "
#: sheep.lua
msgid "Raw Mutton"
msgstr "Carneiro (Cru)"
#: sheep.lua
msgid "Cooked Mutton"
msgstr "Carneiro (Assado)"
#: warthog.lua
msgid "Warthog"
msgstr "Javali"
#: warthog.lua
msgid "Raw Porkchop"
msgstr "Costeleta de Javali (Crua)"
#: warthog.lua
msgid "Cooked Porkchop"
msgstr "Costeleta de Javali Assada"

46
locale/pt_BR.txt Normal file
View File

@ -0,0 +1,46 @@
# textdomain: Lunovox Heavenfinder (https://libreplanet.org/wiki/User:Lunovox) <lunovox@disroot.org>
Bee=Abelha
Honey=Mel
Beehive=Colméia
Honey Block=Bloco de Mel
Bunny=Coelho
Raw Rabbit=Carne de Coelho (Cru)
Cooked Rabbit=Coelho (Assado)
Rabbit Hide=Pele de Coelho
Chicken=Galinha
Chicken Egg=Ovo de Galinha
Fried Egg=Ovo Frito
Raw Chicken=Carne de Galinha (Crua)
Cooked Chicken=Galinha Assada
Feather=Pluma
Cow already milked!=Vaca já ordenhada!
Cow=Vaca
Bucket of Milk=Balde de leite
Cheese=Queijo
Cheese Block=Bloco de Queijo
[MOD] Mobs Redo 'Animals' loaded=[MOBS_ANIMAL] Mod carregado completamente
Kitten=Gato
Penguin=Pinguim
Rat=Rato
Cooked Rat=Rato (Assado)
Black=Preto
Blue=Azul
Brown=Marrom
Cyan=Ciano
Dark Green=Verde Escuro
Dark Grey=Cinza Escuro
Green=Verde
Grey=Cinza
Magenta=Rosa Magenta
Orange=Laranja
Pink=Rosa
Red=Vermelho
Violet=Violeta
White=Branco
Yellow=Amarelo
@1 Sheep=Ovelha @1
Raw Mutton=Carneiro (Cru)
Cooked Mutton=Carneiro (Assado)
Warthog=Javali
Raw Porkchop=Costeleta de Javali (Crua)
Cooked Porkchop=Costeleta de Javali Assada

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 "Приготовленные свиные отбивные"

206
locale/zh_CN.pot Normal file
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 "熟猪排"

53
locale/zh_CN.txt Normal file
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 = 毛球

53
locale/zh_TW.txt Normal file
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

@ -12,10 +12,15 @@ if minetest.get_modpath("lucky_block") then
{"spw", "mobs:chicken", 5},
{"dro", {"mobs:egg"}, 5},
{"spw", "mobs:cow", 5},
{"dro", {"mobs:bucket_milk"}, 8},
{"dro", {"mobs:bucket_milk", "bucket:bucket_water"}, 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 = mobs
optional_depends = default, lucky_block, intllib
description = Adds farm animals.

BIN
models/mobs_bee.b3d Normal file

Binary file not shown.

File diff suppressed because it is too large Load Diff

BIN
models/mobs_chicken.b3d Normal file

Binary file not shown.

File diff suppressed because it is too large Load Diff

BIN
models/mobs_cow.b3d Normal file

Binary file not shown.

File diff suppressed because it is too large Load Diff

BIN
models/mobs_pumba.b3d Normal file

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -33,12 +33,12 @@ stepheight = 0.6,
run_velocity = 1.5,
jump = false,
jump_height = 6,
follow = {"ethereal:bamboo"},
follow = {"ethereal:bamboo", "bamboo:trunk"},
view_range = 8,
drops = {
{name = "mobs:meat_raw", chance = 1, min = 1, max = 2},
},
water_damage = 1,
water_damage = 0,
lava_damage = 5,
light_damage = 0,
fear_height = 6,
@ -68,7 +68,7 @@ stepheight = 0.6,
end,
})
if minetest.get_modpath("ethereal") then
if minetest.get_modpath("ethereal") and not mobs.custom_spawn_animal then
mobs:spawn({
name = "mobs_animal:panda",
@ -83,4 +83,4 @@ if minetest.get_modpath("ethereal") then
})
end
mobs:register_egg("mobs_animal:panda", S("Panda"), "wool_green.png", 1)
mobs:register_egg("mobs_animal:panda", S("Panda"), "mobs_panda_inv.png")

View File

@ -46,16 +46,9 @@ stepheight = 0.6,
fly_in = {"default:water_source", "default:water_flowing"},
floats = 0,
follow = {
"ethereal:fish_raw",
"mobs_fish:clownfish",
"mobs_fish:tropical",
"fishing:fish_raw",
"fishing:clownfish_raw",
"fishing:bluewhite_raw",
"fishing:exoticfish_raw",
"fishing:carp_raw",
"fishing:perch_raw",
"fishing:catfish_raw",
"group:food_fish_raw", "mobs_fish:clownfish", "mobs_fish:tropical",
"mobs_fish:clownfish_set", "mobs_fish:tropical_set", "xocean:fish_edible",
"group:fishraw" -- Edit from NALC: Group from fishing mod
},
view_range = 5,
@ -68,7 +61,7 @@ stepheight = 0.6,
end,
})
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "mobs_animal:penguin",
nodes = {"default:snowblock"},
@ -79,6 +72,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")

10
rat.lua
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

@ -42,4 +42,4 @@ These monochrome cuties spawn in Ethereal's bamboo biome and can be tamed with b
---
*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: 15
#### Lucky Blocks: 20

View File

@ -1,7 +1,6 @@
local S = mobs.intllib
local all_colours = {
{"black", S("Black"), "#000000b0"},
{"blue", S("Blue"), "#015dbb70"},
@ -26,7 +25,8 @@ local all_colours = {
for _, col in ipairs(all_colours) do
mobs:register_mob("mobs_animal:sheep_"..col[1], {
stepheight = 0.6,
stay_near = {"farming:straw", 10},
stepheight = 0.6,
type = "animal",
passive = true,
hp_min = 8,
@ -54,7 +54,7 @@ stepheight = 0.6,
{name = "mobs:mutton_raw", chance = 1, min = 1, max = 2},
{name = "wool:"..col[1], chance = 1, min = 1, max = 1},
},
water_damage = 1,
water_damage = 0,
lava_damage = 5,
light_damage = 0,
animation = {
@ -64,26 +64,49 @@ stepheight = 0.6,
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"
},
follow = {"farming:wheat", "default:grass_5"},
view_range = 8,
replace_rate = 10,
replace_what = {"default:grass_3", "default:grass_4", "default:grass_5", "farming:wheat_8"},
replace_with = "air",
replace_offset = -1,
replace_what = {
{"group:grass", "air", -1},
{"default:dirt_with_grass", "default:dirt", -2}
},
fear_height = 3,
--[[
on_replace = function(self, pos, oldnode, newnode)
print ("---- replaced") ; return false -- false to keep node, true to replace
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 full grow fuzz
if self.gotten == false 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] .. ")"},
@ -182,7 +205,7 @@ stepheight = 0.6,
end
})
mobs:register_egg("mobs_animal:sheep_"..col[1], S("@1 Sheep", col[2]), "wool_"..col[1]..".png", 1)
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])
@ -190,6 +213,7 @@ stepheight = 0.6,
end
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "mobs_animal:sheep_white",
nodes = {"default:dirt_with_grass", "ethereal:green_dirt"},
@ -201,6 +225,7 @@ mobs:spawn({
max_height = 200,
day_toggle = true,
})
end
mobs:alias_mob("mobs:sheep", "mobs_animal:sheep_white") -- compatibility

BIN
sounds/mobs_chicken.1.ogg Normal file

Binary file not shown.

BIN
sounds/mobs_chicken.2.ogg Normal file

Binary file not shown.

Binary file not shown.

195
spawn_example.lua Normal file
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.

After

Width:  |  Height:  |  Size: 103 B

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

BIN
textures/mobs_cow_inv.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 610 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 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

BIN
textures/mobs_panda_inv.png Normal file

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

BIN
textures/mobs_pumba_inv.png Normal file

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

BIN
textures/mobs_rat_inv.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 565 B

BIN
textures/mobs_sheep_inv.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 B

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"},
},
@ -39,7 +39,7 @@ stepheight = 0.6,
{name = "mobs:pork_raw", chance = 1, min = 1, max = 3},
{name = "maptools:silver_coin", chance = 10, min = 0, max = 1,},
},
water_damage = 1,
water_damage = 0,
lava_damage = 5,
light_damage = 0,
fear_height = 2,
@ -51,6 +51,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)
@ -64,15 +70,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,
@ -84,9 +91,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