merge upstream

master
tchncs 2021-09-01 18:15:32 +02:00
commit f34b5215fa
23 changed files with 1005 additions and 46 deletions

View File

@ -90,6 +90,7 @@ mobs:register_mob("mobs_animal:bee_angry", {
mobs:register_egg("mobs_animal:bee_angry", S("Angry Bee"), "mobs_bee_inv.png", 0)
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "mobs_animal:bee",
nodes = {"group:flower"},
@ -100,6 +101,7 @@ mobs:spawn({
max_height = 200,
day_toggle = true,
})
end
mobs:register_egg("mobs_animal:bee", S("Bee"), "mobs_bee_inv.png")

View File

@ -114,6 +114,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},
@ -125,6 +126,7 @@ mobs:spawn({
max_height = 310,
day_toggle = true,
})
end
mobs:register_egg("mobs_animal:bunny", S("Bunny"), "mobs_bunny_inv.png", 0)
@ -160,7 +162,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({
@ -171,9 +173,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

@ -82,7 +82,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")
@ -101,6 +101,8 @@ if minetest.get_modpath("ethereal") then
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,
@ -112,6 +114,7 @@ mobs:spawn({
max_height = 120,
day_toggle = true,
})
end
mobs:register_egg("mobs_animal:chicken", S("Chicken"), "mobs_chicken_inv.png", 0)
@ -136,7 +139,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)
@ -211,6 +214,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,
@ -300,7 +304,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({

32
cow.lua
View File

@ -136,6 +136,7 @@ mobs:register_mob("mobs_animal:cow", {
})
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "mobs_animal:cow",
nodes = {"default:dirt_with_grass", "ethereal:green_dirt"},
@ -147,6 +148,7 @@ mobs:spawn({
max_height = 210,
day_toggle = true,
})
end
mobs:register_egg("mobs_animal:cow", S("Cow"), "mobs_cow_inv.png")
@ -173,25 +175,27 @@ minetest.register_craftitem(":mobs:glass_milk", {
})
minetest.register_craft({
type = "shapeless",
-- type = "shapeless",
output = "mobs:glass_milk 4",
recipe = {
"vessels:drinking_glass", "vessels:drinking_glass",
"vessels:drinking_glass", "vessels:drinking_glass",
"mobs:bucket_milk"
{"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",
-- type = "shapeless",
output = "mobs:bucket_milk",
recipe = {
"mobs:glass_milk", "mobs:glass_milk",
"mobs:glass_milk", "mobs:glass_milk",
"bucket:bucket_empty"
{"group:food_milk_glass", "group:food_milk_glass"},
{"group:food_milk_glass", "group:food_milk_glass"},
{"bucket:bucket_empty", ""}
},
replacements = { {"mobs:glass_milk", "vessels:drinking_glass 4"} }
replacements = {
{"group:food_milk_glass", "vessels:drinking_glass 4"}
}
})
@ -200,7 +204,7 @@ 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
@ -240,16 +244,16 @@ 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"},
}
})

View File

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

View File

@ -1,23 +1,44 @@
-- Load support for intllib.
local path = minetest.get_modpath(minetest.get_current_modname())
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")
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 .. "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
-- Load custom spawning
if mobs.custom_spawn_animal then
dofile(path .. "spawn.lua")
end
-- Lucky Blocks
dofile(path .. "/lucky_block.lua")
dofile(path .. "lucky_block.lua")
print (S("[MOD] Mobs Redo Animals loaded"))

View File

@ -54,7 +54,7 @@ stepheight = 1.1,
stoodup_end = 0,
},
follow = {
"mobs_animal:rat", "ethereal:fish_raw", "mobs_fish:clownfish",
"mobs_animal:rat", "group:food_fish_raw",
"mobs_fish:tropical", "xocean:fish_edible"
},
view_range = 8,
@ -116,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 = {"group:grass", "ethereal:grove_dirt"},
@ -126,6 +127,7 @@ mobs:spawn({
max_height = 310,
day_toggle = true,
})
end
mobs:register_egg("mobs_animal:kitten", S("Kitten"), "mobs_kitten_inv.png", 0)
@ -154,7 +156,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

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

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

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

@ -12,7 +12,7 @@ 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},

View File

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

View File

@ -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",

View File

@ -47,7 +47,7 @@ stepheight = 0.6,
fly_in = {"default:water_source", "default:water_flowing"},
floats = 0,
follow = {
"ethereal:fish_raw", "mobs_fish:clownfish", "mobs_fish:tropical",
"group:food_fish_raw", "mobs_fish:clownfish", "mobs_fish:tropical",
"mobs_fish:clownfish_set", "mobs_fish:tropical_set", "xocean:fish_edible"
},
view_range = 5,
@ -61,7 +61,7 @@ stepheight = 0.6,
end,
})
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "mobs_animal:penguin",
nodes = {"default:snowblock"},
@ -72,6 +72,6 @@ mobs:spawn({
max_height = 400,
day_toggle = true,
})
end
mobs:register_egg("mobs_animal:penguin", S("Penguin"), "mobs_penguin_inv.png")

View File

@ -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,6 +78,7 @@ mobs:spawn({
max_height = 0,
-- on_spawn = rat_spawn,
})
end
mobs:register_egg("mobs_animal:rat", S("Rat"), "mobs_rat_inv.png")
@ -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

@ -65,6 +65,12 @@ for _, col in ipairs(all_colours) do
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",
@ -98,7 +104,7 @@ for _, col in ipairs(all_colours) do
--are we feeding?
if mobs:feed_tame(self, clicker, 8, true, true) then
--if fed 7x grass or wheat then sheep regrows wool
--if fed 7 times then sheep regrows wool
if self.food and self.food > 6 then
self.gotten = false
@ -208,6 +214,7 @@ mobs:register_egg("mobs_animal:sheep_"..col[1], S("@1 Sheep", col[2]), "wool_"..
end
if not mobs.custom_spawn_animal then
mobs:spawn({
name = "mobs_animal:sheep_white",
nodes = {"default:dirt_with_grass", "ethereal:green_dirt"},
@ -219,6 +226,7 @@ mobs:spawn({
max_height = 2000,
day_toggle = true,
})
end
mobs:alias_mob("mobs:sheep", "mobs_animal:sheep_white") -- compatibility

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,
})

View File

@ -50,6 +50,12 @@ mobs:register_mob("mobs_animal:pumba", {
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)
@ -72,6 +78,7 @@ if minetest.get_modpath("ethereal") then
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,
@ -83,7 +90,7 @@ mobs:spawn({
max_height = 180,
day_toggle = true,
})
end
mobs:register_egg("mobs_animal:pumba", S("Warthog"), "mobs_pumba_inv.png")