Mascotes do FreeMinecraftModels
O FreeMinecraftModels pode transformar um modelo numa espécie de mascote. Os jogadores domesticam as mascotes com comida, reproduzem-nas, levam-nas consigo, mandam-nas ficar quietas e guardam-nas numa coleção que abrem com /fmm pets. Cada espécie é definida por um ficheiro <species>.pet.yml que fica junto do seu modelo, pelo que um pacote de modelos instala, ativa e desativa as suas mascotes em conjunto com os seus modelos. O que uma mascote faz por si própria, desde seguir o dono até rodear fogueiras, vem dos módulos de comportamento Lua que o seu ficheiro lista. As definições de mascotes para todo o servidor ficam em pets.yml.
Requisitos
- Uma mascote é um mob vanilla oculto que transporta o modelo, controlado pela IA Mind do MagmaCore. Isto exige o suporte NMS do FreeMinecraftModels para a versão do servidor e o Minecraft 1.21.4 ou posterior. Sem ele, a consola regista no arranque uma linha que começa por
Pets are off:, e/fmm petsrespondePets are not available on this server. - O FreeMinecraftModels não inclui nenhuma espécie de mascote. As mascotes só existem depois de um pacote de modelos, ou o próprio administrador, acrescentar um ficheiro
.pet.yml. - Os jogadores precisam do pacote de recursos gerado, como para qualquer modelo.
Como é construída uma mascote
- O corpo é o mob vanilla indicado por
bodyno ficheiro da mascote, por predefinição um allay. Está oculto dentro do modelo, é silencioso e nunca apanha itens. A sua vida máxima é ahealthdo ficheiro da mascote. - Os cliques recaem sobre o modelo que os jogadores veem, e não sobre o corpo mais pequeno que está dentro dele.
- As mascotes nunca atacam nada, e os mobs nunca atacam mascotes.
- O dano por contacto do FreeMinecraftModels está desativado para as mascotes. Uma mascote só magoa algo através do módulo
sting. - Uma mascote que morre não deixa cair nada e não dá experiência.
- Os corpos das mascotes nunca são guardados com o seu chunk. As mascotes com dono são recriadas junto do dono, e as selvagens aguardam em
data/wild_pets.yml(consulte Mascotes selvagens). O corpo de uma mascote deixado num chunk após uma falha do servidor é removido quando o chunk carrega. - O modelo mostra o
nameda espécie por cima dele, comBabyà frente nas crias.
Modos das mascotes
O pets.yml tem dois modos:
| Modo | O que acontece |
|---|---|
COSMETIC (predefinido) | Só existem no mundo as mascotes que os jogadores possuem, além das migrações noturnas de passagem. Nada mais aparece em estado selvagem e nada pode ser domesticado. As mascotes com dono não podem ser magoadas por nada |
CREATURES | As espécies de mascotes vivem também selvagens no mundo, aparecendo como os animais de quinta vanilla, e os jogadores domesticam-nas alimentando-as. As mascotes com dono podem ser magoadas, dentro das regras de dano |
Altere o modo com o botão Pets da barra de ferramentas de /fmm setup, com /fmm petadmin mode creatures ou /fmm petadmin mode cosmetic, ou editando mode em pets.yml e executando /fmm reload. O botão e o comando escrevem o novo modo em pets.yml.
Passar para COSMETIC envia para data/wild_pets.yml as mascotes selvagens que estão vivas. Voltam quando o servidor passa de novo para CREATURES. As migrações noturnas voam nos dois modos, mas só CREATURES permite que os jogadores domestiquem uma migrante.
No modo COSMETIC, os jogadores não domesticam mascotes. /fmm petadmin give <species> acrescenta uma mascote à coleção do jogador que o executa. A reprodução funciona nos dois modos.
Domesticação
No modo CREATURES, um jogador domestica um adulto selvagem clicando nele com o botão direito com um dos itens tamingFood da sua espécie.
- Cada alimentação gasta um item, exceto no modo Criativo.
- Cada alimentação domestica com a probabilidade
tameChance,1/3por predefinição, como acontece com os lobos e os gatos. Uma alimentação falhada mostra fumo etameFailedMessage. - Uma mascote domesticada junta-se à coleção do jogador e sai ao seu lado. Mantém a variante de cor que tinha em estado selvagem e reproduz uma vez a sua animação
interact. - Quando o jogador já tem
maxEquippedPetsmascotes fora, a nova mascote vai para casa, para a coleção. - Uma espécie com a lista
tamingFoodvazia não pode ser domesticada.
Uma trela funciona no corpo de uma mascote como num mob vanilla.
Reprodução e crias
- Quando o dono clica com o botão direito num adulto com um dos itens
breedingFood, este gasta um item e põe a mascote no modo de amor duranteloveSeconds,30por predefinição. - Dois adultos da mesma espécie pertencentes ao mesmo jogador, ambos no modo de amor e a menos de 8 blocos um do outro, têm uma cria. A cria junta-se à coleção do dono e sai, a menos que o dono já esteja em
maxEquippedPets. - A cria herda a variante de cor de um dos pais. Veste
babyModelquando a espécie o define, caso contrário o modelo da sua variante, e tembabyScaledo tamanho do adulto em qualquer dos casos. - Ambos os pais esperam
breedingCooldownMinutes,5por predefinição, antes de poderem voltar a reproduzir-se. Alimentar um dos pais durante esse tempo mostrabreedingCooldownMessage. - Uma cria cresce
babyGrowthMinutes,20por predefinição, depois de nascer. O tempo conta também enquanto a cria está em casa, e o adulto aparece da próxima vez que a cria sair. - As crias não se reproduzem e não reproduzem nenhuma animação de ataque quando picam.
Os pais reproduzem a sua animação interact quando nasce uma cria.
Seguir, ficar quieta e vaguear
Com os comportamentos incluídos, uma mascote com dono que está fora fica perto do dono. Os números abaixo são as predefinições dos módulos follow_owner, stay, drift e hover e das chaves follow e float da espécie:
- Quando o dono está mais longe do que
follow.distance(5blocos), a mascote segue-o, apontando para 1,5 blocos atrás dele e, numa espécie voadora, parafloat.hoverHeightacima dos seus pés. Uma voadora segue a 5 blocos por segundo comfollow.speed: 1, e a 8 blocos por segundo para lá defollow.leashDistance(12). Para de seguir nesse ponto, ou quando estiver a menos de 3 blocos (0,6 da distância de seguimento) do dono. - Para lá de
follow.teleportDistance(24), a mascote teletransporta-se para junto do dono. Também se teletransporta depois de 3 segundos seguidos sem chegar a lado nenhum: sem caminho até ao dono, um caminho que termina antes dele numa vedação ou numa margem, ou uma parede no caminho de uma voadora. Um teletransporte de recuperação só aproxima a mascote do dono, e nunca coloca uma caminhante ou nadadora no próprio bloco do dono. - Dentro da distância de seguimento, uma voadora flutua para pontos aleatórios a até
follow.roamRadius(5) do dono e balança no mesmo sítio entre as flutuações, mantendofloat.hoverHeightacima do chão, com a variação defloat.hoverVariance. As espécies que andam vagueiam e, de vez em quando, olham para um jogador próximo; as espécies que nadam nadam debaixo de água. - Quando o dono clica com o botão direito na mascote com algo que não seja a sua comida de reprodução ou uma trela, ela fica onde está, como um cão, com um balanço suave. O clique seguinte do mesmo tipo manda-a seguir de novo. Defina
follow.stay: falsepara desativar isto. Os cliques de outros jogadores numa mascote com dono não fazem nada.
follow.speed multiplica a velocidade de todos os comportamentos incluídos, exceto o voo de migração. Os corpos voadores são dirigidos diretamente. Os outros corpos andam ou nadam até aos mesmos pontos com a navegação vanilla; consulte Velocidades. As mascotes que não nadam pairam sobre as superfícies da água e da lava em vez de afundarem.
Uma mascote selvagem vagueia da mesma forma à volta do sítio onde apareceu.
As mascotes que estão fora saem do mundo quando o dono sai e voltam a sair ao seu lado na entrada seguinte. Uma mascote perdida por descarregamento de um chunk, mudança de mundo ou teletransporte longo regressa para junto do dono em menos de um segundo.
O menu de mascotes
/fmm pets abre a coleção do jogador como um menu de baú, com o título menuTitle. Mostra até 54 mascotes.
- Cada entrada mostra o item
iconda espécie, com o seuiconItemModelquando a espécie o define. As mascotes que estão fora brilham. - A lore mostra a espécie, a variante (quando difere do modelo da espécie), a idade e se a mascote está com o jogador.
- Clicar numa entrada leva a mascote consigo ou manda-a para casa. Tentar levar mais mascotes do que
maxEquippedPetspermite é recusado commaxEquippedMessage. - Um jogador sem mascotes recebe
noPetsMessageem vez do menu.
A coleção é guardada no jogador, como JSON nos dados persistentes do jogador, pelo que viaja com o ficheiro de gravação do jogador e não precisa de base de dados. Uma mascote cuja espécie já não está instalada permanece na coleção com um ícone de barreira e não sai.
Dano e morte
| Mascote | Dano |
|---|---|
Com dono, modo COSMETIC | Ignora todo o dano |
Com dono, modo CREATURES | Ignora o dano do dono. Ignora o dano de outros jogadores enquanto petsInvulnerableToPlayers for true (o predefinido). Os restantes danos aplicam-se |
| Selvagem | Sofre dano como qualquer mob |
Um clique esquerdo numa mascote que não pode ser magoada não conta como ataque, pelo que o modelo não pisca a vermelho.
Quando uma mascote com dono morre, vai para casa e pode voltar a sair a partir de /fmm pets. Com petsDiePermanently: true, em vez disso, sai da coleção. Uma mascote selvagem que morre desaparece.
Mascotes selvagens
As mascotes selvagens só existem no modo CREATURES. Vivem como os animais de quinta vanilla: a maioria vem com o mundo à medida que os chunks são gerados, ficam onde estão e nunca desaparecem.
Povoar chunks novos
Quando um chunk é gerado, o FreeMinecraftModels faz um sorteio com wildGenerationChance (0.01). Se for bem-sucedido, coloca um grupo de uma espécie, escolhida por wildSpawn.weight entre as espécies que podem estar ali, à superfície, à volta de uma coluna aleatória. O sorteio repete-se depois de cada grupo. Os valores acima de 0.9 contam como 0.9, para que um chunk nunca se encha indefinidamente. Os limites, os jogadores, a hora do dia e a regra do jogo de aparecimento de mobs não limitam este povoamento.
Reforços à volta dos jogadores
A cada wildSpawnIntervalTicks (400, nunca menos de 20), uma passagem acrescenta mascotes selvagens em chunks carregados a até 8 chunks de cada jogador que não esteja em modo espectador:
- Cada chunk é tentado com a probabilidade
wildSpawnChunkChance(0.01). - Um local tem de estar a mais de 24 blocos do jogador mais próximo e do spawn do mundo, e a não mais de 128 blocos desse jogador.
- Os reforços param quando há
wildPetCapPerPlayer(6) mascotes selvagens de todas as espécies a até 8 chunks de todos os jogadores perto do local. OwildSpawn.cap(4) de cada espécie limita ainda mais essa espécie. - Os reforços respeitam a regra do jogo de aparecimento de mobs do mundo e o
wildSpawn.timede cada espécie.
As migrantes não contam para estes limites.
Onde aguardam as mascotes selvagens
Quando o chunk de uma mascote selvagem é descarregado ou deixa de processar ticks, a sua espécie, variante, posição e casa vão para plugins/FreeMinecraftModels/data/wild_pets.yml. Ela volta quando um jogador está a até 8 chunks desse chunk carregado. O ficheiro é escrito sempre que os mundos são guardados e quando o FreeMinecraftModels é encerrado ou recarregado.
As mascotes selvagens de uma espécie que já não está instalada continuam a aguardar no ficheiro. Uma mascote selvagem viva que outro plugin remove desaparece, como se tivesse morrido.
Migrações noturnas
De vez em quando, um bando de uma espécie migratória atravessa o céu noturno por cima de um jogador e parte depois da travessia. Uma espécie migra quando a sua locomotion é FLYING, o seu ficheiro de mascote tem uma secção migration: e os seus comportamentos executam migrate, que as predefinições de FLYING incluem. Quando uma espécie tem variantes, todas as variantes que uma migrante possa vestir têm de executar migrate. Uma espécie com uma secção migration: que não cumpra estas condições nunca lança bandos e regista um aviso ao carregar, a menos que o seu migration.weight seja 0 ou o seu migration.enabled seja false.
- O agendador verifica a cada 5 segundos, nos mundos normais (do tipo overworld), durante a noite. Cada jogador tem um sorteio por noite contra
migrations.chancePerNight(0.15). Um sorteio ganho escolhe um momento no resto da noite, suficientemente cedo para que toda a travessia termine ao amanhecer. - Nesse momento, o bando começa se o jogador estiver sob céu aberto, nenhum outro bando estiver a menos de
migrations.viewDistancedele e houver menos demigrations.maxActiveFlocks(3) bandos no ar. Caso contrário, tenta de novo até a noite acabar. - Um bando tem de
minFlockSizeamaxFlockSizemembros (8a14), voaaltitudeblocos (28) acima do mais alto entre o jogador e o chão debaixo dele, aspeedblocos por tick (0.15), num percurso reto que passa por cima do jogador a meio dedurationSeconds(90), ou mais cedo quando a distância de simulação do mundo é inferior a 12 chunks, já que o bando começa onde os seus membros ainda processam ticks. - Os membros são mascotes selvagens normais da espécie, com o modelo completo e as animações, a
migration.scalevezes o tamanho da espécie, totalmente iluminados e vistos a partir demigrations.viewDistance(160) blocos. Os clientes continuam a precisar dos chunks sob o bando dentro da sua distância de renderização. - No modo
CREATURES, um jogador que alcance uma migrante pode domesticá-la, o que a retira do bando. Quando a travessia termina, os membros que ainda voam são removidos.
/fmm petmigrate [species] envia de imediato um bando por cima de si, seja qual for a hora, o céu ou os outros bandos. Com uma espécie, começa mesmo que essa espécie não tenha uma secção migration:, mas os seus membros só voam o percurso quando executam migrate. Sem espécie, escolhe uma espécie migratória por migration.weight.
Secção de migração
| Chave | Predefinição | Significado |
|---|---|---|
enabled | true | false desativa as migrações da espécie e mantém os outros valores |
model | vazio | Um modelo fixo para todos os membros. Vazio escolhe entre as variantes da espécie, como num aparecimento selvagem |
scale | 1 | Tamanho de uma migrante relativamente ao scale da espécie |
animation | vazio | Uma animação para repetir enquanto voa. Vazio reproduz as animações idle e walk do próprio modelo |
weight | 1 | Com que frequência esta espécie é escolhida quando várias migram. 0 mantém-na fora do agendamento noturno |
Comportamentos
Tudo o que uma mascote faz por si própria vem dos módulos de comportamento: ficheiros Lua em plugins/FreeMinecraftModels/pet_behaviors/. O FreeMinecraftModels inclui 15 e escreve cada um nessa pasta no arranque e em /fmm reload quando não existe lá nenhum ficheiro com o seu nome. Um módulo incluído que seja eliminado volta no carregamento seguinte. Um módulo que já esteja na pasta nunca é substituído, editado ou não, pelo que mantém a versão com que foi escrito: elimine a sua cópia e recarregue para obter a que a sua versão do FreeMinecraftModels inclui.
Cada mascote executa os módulos que o ficheiro da sua espécie lista, com as definições dessa espécie. /fmm reload volta a ler os módulos e os ficheiros de mascotes e põe todas as mascotes a usá-los de novo. Para alterar um módulo ou escrever o seu, consulte Módulos de comportamento de mascotes.
A lista behaviors
behaviors:
- migrate
- stay
- follow_owner
- campfire: { radius: 20, night_only: false }
- drift
- hover
- sting:
effect: POISON
damage: 1
- Cada entrada é o nome de um módulo, que é o nome do seu ficheiro sem
.lua, ou o nome com definições: na mesma linha comoname: { setting: value }, ou nas linhas seguintes, com recuo de dois espaços a partir do nome. - Uma definição que a entrada omite mantém a predefinição do módulo. As predefinições estão listadas em Módulos incluídos e no topo de cada ficheiro
.lua. - Uma mascote só executa o que a sua lista indica. Deixe um módulo de fora e a espécie nunca o faz.
- A ordem da lista não decide qual comportamento é executado. Decide a prioridade de cada módulo, e um ficheiro de mascote não a pode alterar: copie o módulo e altere a prioridade aí. A ordem só importa quando dois módulos entram em conflito, caso em que o primeiro é mantido.
- Um módulo listado duas vezes é executado uma só vez, com as definições da primeira entrada, e a consola avisa.
Predefinições sem lista
Um ficheiro de espécie sem lista behaviors: executa as predefinições da sua locomoção:
locomotion | Comportamentos predefinidos |
|---|---|
FLYING | migrate, stay, follow_owner, drift, hover |
GROUNDED, AMPHIBIOUS | stay, follow_owner, wander, idle_look |
AQUATIC | stay, follow_owner, swim |
STATIONARY | stay, follow_owner |
Uma lista substitui estas predefinições em vez de lhes acrescentar, pelo que uma lista que acrescenta um módulo tem também de indicar as predefinições que mantém. behaviors: [] não executa módulo nenhum. Um valor de behaviors que não seja uma lista é ignorado com um aviso, e a espécie executa as suas predefinições.
Comportamentos das variantes
Escreva uma variante como um mapa para dar às mascotes que a vestem mais módulos ou outras definições:
variants:
- firefly
- model: firefly_blue
weight: 0.5
behaviors:
- night_glow: { light: 10 }
- crop_drizzle
- Um mapa de variante aceita
model,weight(predefinição1) ebehaviors. Qualquer outra chave é ignorada com um aviso. - Uma mascote que veste a variante executa a lista da espécie, ou as predefinições da sua locomoção, mais as entradas da variante. Um módulo que ambas as listas nomeiam mantém o seu lugar na lista da espécie e recebe as definições da variante por cima das da espécie. Os outros módulos da variante vêm depois dos da espécie.
- Uma cria executa a lista da sua variante, mesmo enquanto veste
babyModel.
Valores das definições
Cada definição tem o tipo da sua predefinição: um número, true ou false, texto, ou uma lista de textos.
- Um valor cujo significado é claro é aceite noutra forma: um número entre aspas como
"8","true"ou"false"em qualquer capitalização, e uma única palavra para uma lista de um item. - Uma definição de texto a que se dê um número ou
true/falserecebe-o tal como o YAML o lê, pelo queoneyespassam atrue. Ponha essas palavras entre aspas. - Escreva uma lista com parênteses retos, como em
[CAMPFIRE, SOUL_CAMPFIRE], ou um item por linha começando por-. O texto que contenha vírgulas ou espaços não é lido como lista. - Uma definição que o módulo não tem, uma definição sem valor, uma lista com uma entrada vazia ou um valor do tipo errado regista um aviso que indica o ficheiro da mascote, e a predefinição mantém-se. A criatura continua a carregar.
Módulos incluídos
| Módulo | Prioridade | Tipo | O que faz |
|---|---|---|---|
migrate | 1 | Comportamento | Voa um percurso de migração noturna |
stay | 5 | Comportamento | Mantém o sítio onde lhe mandaram ficar |
follow_owner | 10 | Comportamento | Acompanha o dono |
campfire | 15 | Comportamento | Rodeia uma fogueira acesa à noite |
day_perch | 18 | Comportamento | Descansa na folhagem ou no chão de dia |
rain_bloom | 19 | Comportamento e sensor | Incha, e flutua mais, à chuva |
drift | 20 | Comportamento | Voa para pontos aleatórios à volta da sua âncora |
wander | 20 | Comportamento | Anda para sítios onde pode estar de pé à volta da sua âncora |
swim | 20 | Comportamento | Nada para sítios debaixo de água à volta da sua âncora |
hover | 30 | Comportamento | Balança no mesmo sítio entre flutuações |
idle_look | 30 | Comportamento | Olha de vez em quando para um jogador próximo |
night_glow | Sensor | Ilumina o modelo à noite | |
sting | Sensores | Pica jogadores ou mobs hostis que lhe toquem | |
crop_drizzle | Sensor | Faz crescer as culturas sobre as quais paira | |
owner_effect | Sensor | Dá um efeito de poção ao dono |
Um comportamento com um número de prioridade mais baixo substitui um comportamento em execução com um número mais alto, pelo que seguir vence as fogueiras e as fogueiras vencem a flutuação. Os sensores nunca movem a mascote; são executados ao lado de qualquer comportamento que esteja ativo.
A âncora de uma mascote é aquilo à volta do qual ela vagueia: o dono ou, numa mascote selvagem, o sítio onde apareceu. Uma mascote está sossegada enquanto não lhe mandaram ficar quieta e é selvagem ou está a menos de follow.distance do dono.
Velocidades
A velocidade que um módulo pede é a sua definição speed vezes follow.speed. Um corpo voador voa esse número de blocos por tick, no máximo 4; 0.05 é um bloco por segundo. Um corpo que anda ou nada segue até lá com a navegação vanilla a 4 vezes esse número, como multiplicador da velocidade de movimento do seu tipo de corpo, nunca abaixo de um quarto dela. Uma speed de 0 imobiliza um caminhante ou nadador.
migrate
Enquanto a mascote voa uma migração noturna, voa o percurso do seu bando à velocidade do bando, com prioridade sobre todos os outros comportamentos. Para quando a travessia termina ou um jogador domestica a mascote. Uma espécie cujos comportamentos não o executam nunca lança bandos. Sem definições.
stay
Depois do clique para ficar do dono, a mascote mantém o sítio com um balanço suave. Cada balanço fica no meio em que o corpo se desloca: no ar numa voadora, no chão numa caminhante, debaixo de água numa nadadora, que mantém a profundidade a que lhe mandaram ficar.
| Definição | Predefinição | Significado |
|---|---|---|
speed | 0.03 | Consulte Velocidades |
bob_ticks | 40 | Ticks entre balanços |
bob_radius | 0.5 | Blocos a que um balanço a pode afastar do sítio |
Os comportamentos de movimento incluídos esperam todos enquanto uma mascote tem ordem para ficar, pelo que uma mascote sem stay na lista não tem balanço.
follow_owner
Mantém uma mascote com dono junto do dono, como descrito em Seguir, ficar quieta e vaguear. Lê follow.distance, follow.leashDistance, follow.teleportDistance e float.hoverHeight do ficheiro da espécie.
Um teletransporte de recuperação aterra a até 2 blocos do dono, no meio em que a mascote se desloca: a sua faixa de pairar numa voadora, chão onde se possa estar de pé numa caminhante, água até 6 blocos de distância numa nadadora, e chão ou, na falta dele, água num corpo anfíbio. Só coloca uma mascote pelo menos um bloco mais perto do dono do que já está, e uma caminhante ou nadadora pelo menos um bloco afastada dele. Quando nada serve, tenta de novo passados mais stuck_ticks.
| Definição | Predefinição | Significado |
|---|---|---|
speed | 0.25 | Velocidade de seguimento. Consulte Velocidades. Com 0, a mascote só acompanha através de teletransportes de recuperação |
leash_urgency | 1.6 | Multiplicador de velocidade para lá de follow.leashDistance |
trail_back | 1.5 | Blocos atrás do dono para onde a mascote aponta |
stuck_ticks | 60 | Ticks seguidos sem chegar a lado nenhum antes de a mascote se teletransportar para junto do dono |
drift
Para espécies voadoras. A mascote voa para um ponto aleatório a até follow.roamRadius da sua âncora, dentro da sua faixa de pairar (float.hoverHeight acima do chão, com a variação de float.hoverVariance), e depois descansa.
| Definição | Predefinição | Significado |
|---|---|---|
speed | 0.06 | Consulte Velocidades |
drift_ticks | 160 | Máximo de ticks que uma flutuação dura |
stuck_ticks | 20 | Ticks sem se mover antes de uma flutuação desistir |
rest_ticks | 60 | Ticks que a mascote descansa depois de uma flutuação |
rest_random_ticks | 80 | Acrescenta ao descanso um número aleatório de ticks, de 0 a este valor menos 1 |
hover
Para espécies voadoras. Enquanto nenhum outro comportamento de movimento é executado, a mascote balança no mesmo sítio: a cada bob_ticks move-se para cima ou para baixo até metade de float.hoverVariance. Uma mascote que se afaste mais de correct_above blocos da altura float.hoverHeight acima do chão volta, em vez disso, diretamente a essa altura. Procura o chão até 12 blocos abaixo.
| Definição | Predefinição | Significado |
|---|---|---|
speed | 0.03 | Consulte Velocidades |
bob_ticks | 30 | Ticks entre balanços |
correct_above | 1.5 | Blocos de diferença para a sua altura de pairar a partir dos quais volta diretamente a ela |
wander
Para espécies que andam. A mascote anda até um sítio perto da sua âncora onde possa estar de pé, descansa e volta a ir. Uma mascote selvagem escolhe sítios a até follow.roamRadius do local onde apareceu. Uma mascote com dono escolhe sítios a até follow.roamRadius do dono e a não mais de 0,8 de follow.distance, para que o seguimento não comece no momento em que chega. Uma caminhada termina a menos de 1,5 blocos do seu sítio, depois de walk_ticks, ou depois de stuck_ticks sem se mover. Sobre água ou uma queda longa, onde nada serve, espera que acabe um descanso e procura de novo.
| Definição | Predefinição | Significado |
|---|---|---|
speed | 0.15 | Consulte Velocidades |
walk_ticks | 120 | Máximo de ticks que uma caminhada dura |
stuck_ticks | 20 | Ticks sem se mover antes de uma caminhada desistir |
rest_ticks | 80 | Ticks que a mascote descansa depois de uma caminhada |
rest_random_ticks | 120 | Acrescenta ao descanso um número aleatório de ticks, de 0 a este valor menos 1 |
idle_look
De vez em quando, a mascote olha para o jogador mais próximo dentro de range durante look_ticks e depois descansa. Ocupa apenas o olhar, pelo que qualquer comportamento que mova a mascote assume o controlo, e nunca olha para jogadores em modo Criativo ou Espectador. Um range de 0 desativa-o. Um corpo STATIONARY nunca vira o olhar, pelo que as suas predefinições deixam este módulo de fora.
| Definição | Predefinição | Significado |
|---|---|---|
range | 8 | Blocos dentro dos quais olha para um jogador |
look_ticks | 40 | Máximo de ticks que um olhar dura |
rest_ticks | 100 | Ticks entre olhares |
rest_random_ticks | 100 | Acrescenta aos ticks entre olhares um número aleatório, de 0 a este valor menos 1 |
swim
Para espécies que nadam. A mascote nada até um sítio na água perto da sua âncora, entre min_depth e max_depth blocos abaixo da superfície, descansa e volta a ir. Escolhe sítios à volta da sua âncora como wander, e só na água. Uma nadadora encalhada em terra espera aí; uma com dono volta à água quando o dono se afasta e o teletransporte de recuperação de follow_owner encontra água junto dele.
| Definição | Predefinição | Significado |
|---|---|---|
speed | 0.15 | Consulte Velocidades |
min_depth / max_depth | 0.5 / 3 | Blocos abaixo da superfície, de 0 a 16 |
swim_ticks | 120 | Máximo de ticks que um nado dura |
stuck_ticks | 20 | Ticks sem se mover antes de um nado desistir |
rest_ticks | 40 | Ticks que a mascote descansa depois de um nado |
rest_random_ticks | 60 | Acrescenta ao descanso um número aleatório de ticks, de 0 a este valor menos 1 |
campfire
À noite, as mascotes sossegadas flutuam até à fogueira acesa mais próxima, a até radius blocos, e rodeiam-na lentamente no seu fumo. Uma mascote com dono só aceita uma fogueira suficientemente perto do dono para que rodeá-la nunca desencadeie o seguimento. A mascote verifica uma vez por segundo que a fogueira continua acesa.
| Definição | Predefinição | Significado |
|---|---|---|
radius | 12 | Blocos onde procurar uma fogueira, de 1 a 32 |
height | 2.5 | Blocos acima da fogueira a que a mascote a rodeia |
ring | 0.8 | Raio do círculo |
night_only | true | Só entre o anoitecer e o amanhecer |
wild / pets | true / true | Se as mascotes selvagens e as mascotes com dono se juntam |
blocks | [CAMPFIRE, SOUL_CAMPFIRE] | Fogueiras que contam. Só estas duas funcionam |
soul_variants | [] | Modelos de variantes atraídos apenas por fogueiras de almas. Todas as outras variantes aceitam então apenas fogueiras normais. Vazio significa que qualquer variante aceita qualquer fogueira listada |
search_seconds | 5 | Segundos entre procuras de uma fogueira. No mínimo 1 |
speed | 0.06 | Consulte Velocidades |
day_perch
De dia, uma mascote sossegada desce até à folhagem mais próxima por baixo dela, ou ao chão mesmo por baixo, e descansa aí com um balanço leve. Levanta voo ao anoitecer, quando a chuva cai sobre ela e quando o dono sai do alcance de seguimento. Uma mascote com dono só aceita um poiso a menos de follow.distance do dono. Quando não encontra nada onde pousar, como água ou uma queda longa, volta a procurar 5 segundos depois.
| Definição | Predefinição | Significado |
|---|---|---|
height | 0.3 | Blocos acima da folhagem ou do chão a que descansa, de 0 a 8 |
search_radius | 2 | Blocos para o lado onde procurar folhagem, de 0 a 4 |
wild / pets | true / true | Se as mascotes selvagens e as mascotes com dono pousam |
speed | 0.06 | Velocidade enquanto está a mais de um bloco do poiso. Consulte Velocidades |
settle_speed | 0.03 | Velocidade no último bloco |
rain_bloom
Enquanto a chuva cai sobre a mascote, ela incha e flutua à volta da sua âncora com mais frequência, mais alto e mais depressa. Volta ao tamanho normal quando a chuva para ou quando a mascote encontra abrigo. A chuva cai sobre uma mascote durante uma tempestade, sob céu aberto, num bioma suficientemente quente e húmido para chover. O inchaço é um sensor executado a cada 4 ticks; a flutuação é um comportamento com prioridade 19, pelo que ocupa o lugar de drift à chuva.
| Definição | Predefinição | Significado |
|---|---|---|
scale_multiplier | 1.25 | Tamanho à chuva, relativo ao tamanho normal, de 0.1 a 16 |
scale_seconds | 3 | Segundos para inchar ou encolher |
drift_frequency | 2.5 | Quantas vezes mais curtos são os seus descansos entre flutuações do que rest_ticks e rest_random_ticks indicam, nunca abaixo de 10 ticks |
rise | 1 | Blocos mais acima a que flutua |
speed_multiplier | 1.4 | Quantas vezes mais depressa flutua |
speed | 0.06 | Velocidade de flutuação antes de speed_multiplier. Consulte Velocidades |
drift_ticks | 120 | Máximo de ticks que uma flutuação dura |
stuck_ticks | 20 | Ticks sem se mover antes de uma flutuação desistir |
rest_ticks / rest_random_ticks | 60 / 80 | O descanso que drift_frequency encurta |
night_glow
Os ossos de apresentação do modelo são iluminados a um nível de luz fixo à noite, seja qual for a luz do local onde a mascote está. Os mundos sem sol contam como noite. O sensor verifica a cada 2 segundos. Apenas para jogadores Java: os jogadores Bedrock veem o modelo com a luz do mundo.
| Definição | Predefinição | Significado |
|---|---|---|
night_only | true | false brilha de dia e de noite |
light | 15 | Nível de luz, de 0 a 15 |
lantern_bone | lantern | Um modelo com um osso com este nome repete animation enquanto brilha |
animation | glow | A animação do osso da lanterna |
sting
Uma mascote selvagem pica os jogadores que tocam no seu modelo, exceto em modo Criativo ou Espectador. Uma mascote com dono pica os mobs hostis que se aproximem a menos de reach da hitbox do seu modelo, e nunca um jogador. Os adultos reproduzem a sua animação attack enquanto picam. Os toques são verificados a cada 4 ticks e os mobs próximos a cada 10.
| Definição | Predefinição | Significado |
|---|---|---|
wild / pets | true / true | Se as mascotes selvagens picam jogadores e as mascotes com dono picam mobs hostis |
effect | SLOWNESS | Efeito de poção, pelo nome. NONE para nenhum efeito |
duration_ticks | 60 | Duração do efeito em ticks, de 1 a 6000 |
amplifier | 0 | Nível do efeito; 0 é o nível I |
damage | 0 | Dano por picada, em meios corações |
cooldown_seconds | 3 | Segundos até a mesma vítima poder ser picada de novo por esta mascote |
reach | 0.5 | Blocos de distância à hitbox do modelo a que uma mascote com dono ainda pica um mob, de 0 a 4. As picadas selvagens exigem que o jogador toque no modelo |
Um nome de effect que não exista regista um aviso uma vez por espécie e nome, e a picada não aplica nenhum efeito.
crop_drizzle
Enquanto a mascote paira imóvel sobre uma cultura, cai sobre ela uma chuva leve, e a cada interval_seconds a cultura pode crescer uma fase. As culturas são os blocos da etiqueta de culturas do Minecraft, a verruga do Nether e os arbustos de bagas doces. A mascote olha diretamente para baixo, apenas através de ar. O crescimento é emitido como um BlockGrowEvent, pelo que os plugins de proteção e de agricultura o podem recusar. Tanto para mascotes selvagens como com dono.
| Definição | Predefinição | Significado |
|---|---|---|
chance | 0.1 | Probabilidade, por intervalo, de a cultura crescer, de 0 a 1 |
interval_seconds | 5 | Segundos entre tentativas. No mínimo 1; é verificado uma vez por segundo, pelo que uma fração espera pelo segundo inteiro seguinte |
depth | 4 | Blocos abaixo da mascote onde procurar a cultura, de 1 a 8 |
owner_effect
Enquanto uma mascote com dono está fora e a até range blocos do dono, o dono tem um efeito de poção, como visão noturna ou respiração aquática. O efeito dura 15 segundos e é renovado a cada segundo, pelo que nunca pisca, e desaparece no máximo 15 segundos depois de a mascote ir para casa ou de o dono sair do seu alcance. Mostra o ícone mas não partículas. Se o dono já tiver esse efeito com pelo menos a mesma força e duração, por exemplo de uma poção que bebeu, a mascote não lhe mexe.
Adequa-se a efeitos constantes: visão noturna, respiração aquática, velocidade, pressa, resistência ao fogo. Os efeitos que atuam sobre o tempo restante, como regeneração, veneno e definhamento, comportam-se mal quando renovados a cada segundo.
| Definição | Predefinição | Significado |
|---|---|---|
effect | NIGHT_VISION | Efeito de poção, pelo nome |
amplifier | 0 | Nível do efeito; 0 é o nível I |
range | 16 | Blocos a partir da mascote |
Antigas secções de interações com o mundo
Os ficheiros de mascotes escritos antes dos módulos de comportamento podem ter secções campfire:, rainBloom:, glow:, sting:, dayPerch: ou drizzle:. Já não fazem nada, e cada uma regista um aviso quando o ficheiro carrega:
firefly.pet.yml: the campfire section is ignored now that world interactions are behavior modules; list the campfire module under behaviors: instead (see plugins/FreeMinecraftModels/pet_behaviors/campfire.lua for its settings).
Uma simples linha glow: true recebe o mesmo aviso, redigido como the glow setting. Quando a secção estava desligada (enabled: false, ou glow: definido com qualquer valor que não true), ou o ficheiro já lista o seu módulo, o aviso apenas pede que a remova.
Para manter uma interação, liste o seu módulo e mude o nome das suas definições:
| Secção antiga | Módulo | Definições com novo nome |
|---|---|---|
campfire | campfire | nightOnly para night_only, soulVariants para soul_variants, searchSeconds para search_seconds |
rainBloom | rain_bloom | scaleMultiplier para scale_multiplier, scaleSeconds para scale_seconds, driftFrequency para drift_frequency, speedMultiplier para speed_multiplier |
glow | night_glow | nightOnly para night_only, lanternBone para lantern_bone |
sting | sting | durationTicks para duration_ticks, cooldownSeconds para cooldown_seconds |
dayPerch | day_perch | searchRadius para search_radius |
drizzle | crop_drizzle | intervalSeconds para interval_seconds |
As outras definições mantêm os nomes. Elimine enabled: deixar um módulo fora da lista é a forma de o desativar. Um ficheiro sem lista behaviors: executa apenas as predefinições da sua locomoção, por isso liste também essas. Para uma espécie voadora que manteve a fogueira e o brilho:
behaviors:
- migrate
- stay
- follow_owner
- campfire: { radius: 12 }
- drift
- hover
- night_glow
migration: continua a ser uma secção do ficheiro da mascote; consulte Secção de migração.
Inclinação e centramento
As criaturas voadoras e aquáticas costumam ficar melhor quando se inclinam com a sua deslocação e rodam em torno do seu próprio meio:
orientationdefine como o modelo se inclina ao deslocar-se.UPRIGHT(o predefinido) apenas fica virado para onde vai.TOP_FIRSTvai com o topo à frente, como uma alforreca: inclina-se para a deslocação, deita-se de lado em cruzeiro e vira-se ao contrário para mergulhar.FRONT_FIRSTadequa-se a aves e peixes: inclina o nariz nas subidas e nos mergulhos e inclina-se lateralmente nas curvas. Todos os estilos voltam à vertical quando a mascote se detém. Consulte Orientação de deslocação.centerOnBodydesenha o modelo com o meio dos seus cubos no meio do seu corpo oculto, em vez de assente nos pés do corpo. O modelo move-se, roda e inclina-se então em torno do corpo, e a sua caixa de clique fica sobre aquilo que os jogadores veem. Por predefinição étruenas espéciesFLYINGeAQUATICefalsenas outras. Consulte Centrar um modelo no corpo.
Referência do ficheiro de espécie
Coloque <species>.pet.yml em qualquer sítio de plugins/FreeMinecraftModels/models/, normalmente junto do modelo que usa. O FreeMinecraftModels lê todos os ficheiros cujo nome termina em .pet.yml no arranque e em /fmm reload. O nome do ficheiro antes de .pet.yml é o ID de espécie predefinido.
isEnabled: true
species: firefly
model: firefly
name: '&eFirefly'
body: ALLAY
scale: 1.0
health: 20
icon: GLOW_BERRIES
iconItemModel: ''
tamingFood:
- GLOW_BERRIES
breedingFood:
- GLOW_BERRIES
tameChance: 0.34
babyModel: ''
babyScale: 0.5
babyGrowthMinutes: 20
breedingCooldownMinutes: 5
loveSeconds: 30
variants:
- firefly
- firefly_blue:0.5
follow:
distance: 5
leashDistance: 12
teleportDistance: 24
roamRadius: 5
speed: 1.0
stay: true
float:
hoverHeight: 1.5
hoverVariance: 0.75
locomotion: FLYING
centerOnBody: true
orientation:
style: FRONT_FIRST
startSpeed: 0.6
fullSpeed: 4.0
maxTilt: 180
turnSpeed: 180
wildSpawn:
enabled: true
weight: 10
minGroup: 1
maxGroup: 3
placement: AIR
minLight: 0
maxLight: 15
cap: 4
worlds: []
environments:
- NORMAL
biomes:
- minecraft:plains
time: NIGHT
minY: -64
maxY: 320
behaviors:
- migrate
- stay
- follow_owner
- campfire: { radius: 12 }
- drift
- hover
- night_glow: { light: 15 }
migration:
scale: 2.0
Identidade e aparência
| Chave | Predefinição | Significado |
|---|---|---|
isEnabled | true | false ignora o ficheiro |
species | nome do ficheiro | O ID da espécie, em minúsculas. As mascotes guardadas dos jogadores e /fmm petadmin usam-no, por isso mantenha-o estável depois de os jogadores terem mascotes. Quando dois ficheiros definem o mesmo ID, o primeiro por caminho é mantido e a consola avisa |
model | nome do ficheiro | O modelo que a mascote veste. A consola avisa quando não está carregado, e a mascote não pode aparecer |
name | nome do ficheiro | Nome mostrado por cima da mascote e nas mensagens. Aceita códigos de cor com & |
body | ALLAY | O tipo de mob vanilla que transporta o modelo. O seu tamanho é o que bloqueia o movimento |
scale | 1 | Tamanho global, no mínimo 0.0625 |
health | 20 | Vida máxima do corpo, no mínimo 1 |
icon | GLOW_BERRIES | Item do ícone do menu |
iconItemModel | vazio | Um modelo de item (namespace:path) de um pacote de recursos para o ícone do menu |
variants | [] | Variantes de cor, como model, model:weight, ou um mapa com model, weight e behaviors (consulte Comportamentos das variantes). Um aparecimento selvagem escolhe uma por peso, uma mascote domesticada mantém a sua e uma cria herda a de um dos pais. Vazio significa apenas model. As variantes devem partilhar os mesmos ossos e animações |
Domesticação e reprodução
| Chave | Predefinição | Significado |
|---|---|---|
tamingFood | [] | Nomes de itens que domesticam um adulto selvagem |
breedingFood | [] | Nomes de itens que põem um adulto com dono no modo de amor |
tameChance | 0.333 | Probabilidade de uma alimentação domesticar |
babyModel | vazio | Modelo vestido enquanto cria, a babyScale. Vazio usa o modelo da variante |
babyScale | 0.5 | Tamanho da cria relativo a scale |
babyGrowthMinutes | 20 | Minutos até a cria ser adulta |
breedingCooldownMinutes | 5 | Minutos até os pais voltarem a reproduzir-se |
loveSeconds | 30 | Quanto tempo um adulto alimentado espera por um parceiro |
Movimento
Os valores de follow e float são lidos pelos módulos de comportamento incluídos, como indicado.
| Chave | Predefinição | Significado |
|---|---|---|
follow.distance | 5 | follow_owner segue o dono quando ele está mais longe do que isto. Dentro dessa distância, a mascote está sossegada e vagueia livremente |
follow.leashDistance | 12 | Para lá disto, follow_owner apressa-se |
follow.teleportDistance | 24 | Para lá disto, follow_owner teletransporta a mascote para junto do dono |
follow.roamRadius | 5 | A que distância da sua âncora drift, rain_bloom, wander e swim levam a mascote |
follow.speed | 1 | Multiplica a velocidade de todos os comportamentos incluídos, exceto migrate, no mínimo 0.05 |
follow.stay | true | Se um clique direito manda a mascote ficar quieta |
float.hoverHeight | 1.5 | Blocos acima do chão que uma mascote voadora mantém |
float.hoverVariance | 0.75 | Quanto se desvia dessa altura |
locomotion | FLYING | Como o corpo se move: FLYING, GROUNDED, AQUATIC, AMPHIBIOUS ou STATIONARY. Define também os comportamentos predefinidos |
centerOnBody | true para FLYING e AQUATIC | Consulte Inclinação e centramento |
orientation.style | UPRIGHT | UPRIGHT, TOP_FIRST ou FRONT_FIRST |
orientation.startSpeed | 0.6 | Blocos por segundo abaixo dos quais o modelo permanece na vertical |
orientation.fullSpeed | 4.0 | Blocos por segundo a que se alinha totalmente com a deslocação |
orientation.maxTilt | 180 | O máximo que se inclina, em graus. 180 permite que um modelo com o topo à frente se vire ao contrário |
orientation.turnSpeed | 180 | Graus por segundo a que a inclinação pode mudar |
Aparecimento selvagem
Estas chaves aplicam-se apenas no modo CREATURES. As listas vazias permitem tudo.
| Chave | Predefinição | Significado |
|---|---|---|
wildSpawn.enabled | true | Se a espécie vive em estado selvagem |
wildSpawn.weight | 10 | Peso face às outras espécies que podem aparecer no mesmo sítio. 0 nunca aparece. Um ficheiro com a antiga chave chance (0 a 1) e sem weight usa chance vezes 10 |
wildSpawn.minGroup / maxGroup | 1 / minGroup | Tamanho do grupo |
wildSpawn.placement | a partir de locomotion | GROUND, WATER, WATER_SURFACE ou AIR. FLYING assume AIR, AQUATIC assume WATER e as restantes GROUND. AIR exige um bloco superior sólido e seco e WATER_SURFACE um bloco superior de água, cada um com dois blocos livres por cima |
wildSpawn.minLight / maxLight | 0 / 15 | Nível de luz de que o sítio precisa |
wildSpawn.cap | 4 | Máximo de mascotes selvagens desta espécie a até 8 chunks de um jogador, para os reforços |
wildSpawn.worlds | [] | Nomes de mundos |
wildSpawn.environments | [] | NORMAL, NETHER ou THE_END |
wildSpawn.biomes | [] | Chaves de biomas como minecraft:plains |
wildSpawn.time | ANY | ANY, DAY ou NIGHT, para os reforços |
wildSpawn.minY / maxY | -64 / 320 | Intervalo de alturas |
Comportamentos e migração
| Chave | Predefinição | Significado |
|---|---|---|
behaviors | as predefinições da locomoção | Os módulos de comportamento que a espécie executa, com as suas definições. Consulte Comportamentos |
migration | nenhuma | O aspeto da espécie nas migrações noturnas. Consulte Secção de migração |
As antigas secções campfire, rainBloom, glow, sting, dayPerch e drizzle são ignoradas com um aviso. Consulte Antigas secções de interações com o mundo.
Referência de pets.yml
plugins/FreeMinecraftModels/pets.yml é gerado no primeiro arranque. /fmm reload aplica as alterações.
| Chave | Predefinição | Significado |
|---|---|---|
mode | COSMETIC | COSMETIC ou CREATURES. Consulte Modos das mascotes |
maxEquippedPets | 0 | Quantas mascotes um jogador pode ter fora ao mesmo tempo. 0 significa sem limite |
petsInvulnerableToPlayers | true | Se as mascotes com dono ignoram o dano de jogadores que não sejam o dono |
petsDiePermanently | false | Se uma mascote que morre sai da coleção do dono |
wildGenerationChance | 0.01 | Probabilidade, de 0 a 0.9, de um chunk novo receber um grupo de mascotes selvagens, sorteada de novo depois de cada grupo |
wildSpawnIntervalTicks | 400 | Ticks entre passagens de reforço |
wildSpawnChunkChance | 0.01 | Probabilidade de uma passagem de reforço tentar um dado chunk perto de um jogador |
wildPetCapPerPlayer | 6 | Mascotes selvagens de todas as espécies a até 8 chunks de um jogador a partir das quais os reforços param |
migrations.enabled | true | Se as migrações noturnas se realizam |
migrations.chancePerNight | 0.15 | Probabilidade, de 0 a 1, de um jogador receber um bando numa dada noite |
migrations.minFlockSize / maxFlockSize | 8 / 14 | Tamanho do bando |
migrations.altitude | 28 | Blocos acima do jogador ou do chão, o que for mais alto |
migrations.speed | 0.15 | Blocos por tick (0.15 são 3 blocos por segundo) |
migrations.durationSeconds | 90 | Segundos desde o aparecimento do bando até à sua remoção |
migrations.viewDistance | 160 | Blocos a partir dos quais os jogadores veem um bando |
migrations.maxActiveFlocks | 3 | Máximo de bandos no ar ao mesmo tempo em todo o servidor |
migrations.species | [] | IDs de espécies que podem migrar. Vazio significa todas as que possam (consulte Migrações noturnas) |
As mensagens aceitam códigos de cor com &. $pet é o nome da mascote, e $amount em maxEquippedMessage é o limite.
| Chave | Predefinição |
|---|---|
tamedMessage | &aYou tamed a $pet&a! It follows you now. &f/fmm pets &amanages your pets. |
tameFailedMessage | &7The $pet &7eats it, but is not tamed yet. |
stayMessage | &7Your $pet &7stays here. |
followMessage | &7Your $pet &7follows you again. |
menuTitle | &2Your pets |
noPetsMessage | &7You have no pets yet. Tame a wild creature by feeding it its favorite food. |
equippedMessage | &a$pet &ais with you. |
unequippedMessage | &7$pet &7went home. |
maxEquippedMessage | &cYou can only have $amount pets with you at once. |
breedingCooldownMessage | &7Your $pet &7is not ready to breed again yet. |
bornMessage | &aA $pet &awas born! |
Comandos e permissões
| Comando | Permissão | Predefinição | Finalidade |
|---|---|---|---|
/fmm pets | freeminecraftmodels.pets | true | Abre o seu menu de mascotes |
/fmm petadmin mode [creatures|cosmetic] | freeminecraftmodels.pets.admin | op | Mostra o modo das mascotes, ou altera-o e guarda-o em pets.yml |
/fmm petadmin list | freeminecraftmodels.pets.admin | op | Lista as espécies carregadas com o respetivo ficheiro, modelo, corpo, comida de domesticação e comida de reprodução |
/fmm petadmin spawn <species> | freeminecraftmodels.pets.admin | op | Faz aparecer uma mascote selvagem sobre o bloco para onde olha, até 12 blocos de distância. Apenas no modo CREATURES |
/fmm petadmin give <species> | freeminecraftmodels.pets.admin | op | Acrescenta um adulto da espécie à sua própria coleção e faz com que saia, a menos que já esteja em maxEquippedPets |
/fmm petmigrate [species] | freeminecraftmodels.pets.admin | op | Envia agora um bando de migração por cima de si. Consulte Migrações noturnas |
Os três comandos são exclusivos para jogadores. freeminecraftmodels.pets controla o menu de mascotes, e todos os jogadores a têm por predefinição. freeminecraftmodels.pets.admin controla /fmm petadmin e /fmm petmigrate, é atribuída por predefinição aos operadores e está incluída em freeminecraftmodels.*. Domesticar, reproduzir e mandar uma mascote ficar quieta não exigem permissão.
Resolução de problemas
Procure na consola por pet behavior, pet_behaviors e .pet.yml para encontrar os avisos sobre módulos de comportamento. Cada um indica o ficheiro de mascote ou de módulo a corrigir.
A consola diz Pets are off.
A versão do servidor não tem suporte NMS do FreeMinecraftModels, ou é anterior ao Minecraft 1.21.4.
A consola diz Pet <species> (<file>) names model <model>, which is not loaded.
A chave model indica um ID de modelo que não carregou. Uma variante cujo modelo não carregou não regista nada; as mascotes dessa variante vestem o model da espécie. Verifique o nome do ficheiro do modelo, que é o seu ID, e o registo de recarregamento desse modelo.
A consola diz Could not spawn pet <species>: <cause>.
Não foi possível uma mascote dessa espécie entrar no mundo, pelo motivo indicado, como um modelo que não está carregado, comportamentos que não conseguiram arrancar ou um corpo que não conseguiu aparecer. Cada espécie e causa é registada uma vez até ao recarregamento seguinte, por muitas vezes que o aparecimento seja repetido.
A consola diz the <section> section is ignored now that world interactions are behavior modules.
O ficheiro da mascote ainda tem uma antiga secção de interação com o mundo, ou uma linha glow: true, a que o aviso chama the glow setting. Consulte Antigas secções de interações com o mundo.
A consola diz there is no pet behavior <name> in pet_behaviors/.
A lista behaviors indica um módulo que não tem ficheiro. Verifique a ortografia; o aviso sugere o nome mais próximo quando existe. A criatura carrega sem esse módulo.
A consola diz the pet behavior <name> failed to load.
O ficheiro do módulo tem um erro. Um aviso anterior indica o ficheiro e, num erro Lua, a linha. Corrija-o e execute /fmm reload, ou elimine um módulo incluído que esteja danificado para que o FreeMinecraftModels o volte a escrever.
A consola diz the pet behavior <module> has no setting <setting>, ou <module>.<setting> must be ....
Uma definição na lista behaviors está mal escrita ou tem o tipo errado. O aviso lista as definições do módulo ou o tipo de que precisa, e a predefinição mantém-se. Consulte Valores das definições.
A consola diz cannot run alongside the ones listed before it.
Dois módulos da lista não podem ser executados em conjunto, normalmente porque ambos declaram a mesma memória, comportamento ou sensor, como acontece com um módulo copiado listado ao lado do original. O primeiro da lista é executado e o outro fica de fora. Consulte Módulos de comportamento de mascotes.
Não aparecem mascotes selvagens.
Verifique se mode é CREATURES e se /fmm petadmin list mostra a espécie. Depois verifique wildSpawn: enabled, um weight superior a 0, e os mundos, ambientes, biomas, luz e altura que permite. Os chunks são povoados uma só vez, quando são gerados, pelo que uma área explorada só se enche através dos reforços, que são lentos por predefinição e param nos limites. /fmm petadmin spawn <species> coloca uma para verificar a própria mascote.
Os jogadores não conseguem abrir /fmm pets.
Precisam de freeminecraftmodels.pets, que todos os jogadores têm por predefinição, a menos que um plugin de permissões a retire. Consulte Comandos e permissões.
Nenhum bando atravessa o céu.
Os bandos voam à noite nos mundos do tipo overworld sobre jogadores sob céu aberto, e só para espécies FLYING com uma secção migration: cujos comportamentos executem migrate. Uma espécie que não pode migrar regista has a migration section, but ... ao carregar, com a correção. /fmm petmigrate <species> envia um de imediato.
Uma mascote não faz nada, ou deixou de fazer algo depois de uma atualização.
Verifique a sua lista behaviors: uma mascote só executa os módulos que nomeia, e uma lista substitui as predefinições. Um ficheiro cujas interações com o mundo eram secções não executa nenhuma delas até listar os respetivos módulos.
O brilho de uma mascote não aparece para os jogadores Bedrock. O brilho ilumina apenas os ossos de apresentação Java.