Personalidade
pet_personality/ tem um arquivo por personagem, com o nome do id do personagem: chiikawa Chiikawa, hachiware Hachiware, usagi Usagi, momonga Momonga, kurimanju Kurimanju, rakko Rakko, shisa Shisa, furuhonya Furuhonya. Veja o Usagi como exemplo:
{
"intent_multipliers": { "chiikawa:wander": 2.0 },
"routine": { "NIGHT": { "chiikawa:wander": 1.5 } },
"randomness": 0.15,
"likes": [
{ "item": "minecraft:cookie", "weight": 1 },
{ "item": "minecraft:cake", "weight": 1 }
],
"wild_tools": [
{ "item": "chiikawa:usagi_weapon", "weight": 6 },
{ "item": "minecraft:wooden_hoe", "weight": 1 }
],
"qualifications": { "chiikawa:weeding": { "aptitude": 1.4 } },
"idle": {
"look_at_player": { "weight": 1, "range": 5.0, "ticks": [15, 30] },
"look_at_creature": { "weight": 1, "range": 5.0, "ticks": [15, 30] },
"stroll": 4,
"rest": { "weight": 1, "ticks": [15, 30] }
}
}Qualquer campo pode ficar de fora, e o que ficar de fora usa o padrão.
O que prefere fazer. intent_multipliers multiplica a vontade de fazer algo por um fator; o que não estiver na lista vale 1. routine multiplica de novo de acordo com a hora do dia, com os períodos MORNING, DAY, EVENING e NIGHT. Atividades comuns são chiikawa:wander passear, chiikawa:weed arrancar ervas daninhas, chiikawa:harvest colher, chiikawa:plant plantar, chiikawa:deliver guardar a colheita em baús, chiikawa:pick_mushroom colher cogumelos, chiikawa:pick_up_item pegar coisas, chiikawa:melee lutar corpo a corpo, chiikawa:ranged atirar, chiikawa:play_music se apresentar, chiikawa:take_task pegar fichas, chiikawa:shop fazer compras e chiikawa:gift_owner trazer presentes para você. Esses fatores só valem dentro do que você permite: não importa como a personalidade esteja escrita, ela nunca vai fazer um pet fazer algo que você não deixou.
Quanto as escolhas variam. randomness vai de 0 a 1; quanto maior, mais imprevisível fica o pet.
Do que gosta. likes lista em que o pet gasta o próprio dinheiro, sorteado por peso. Se não houver nada na lista, não compra nada. Além de item e weight, cada entrada aceita alguns campos opcionais:
| Campo | Significado |
|---|---|
requires | Só quer comprar isto quando já tem este item na mochila; por exemplo, o Hachiware só compra filme quando já tem câmera |
limit | Quando tem essa quantidade na mochila, para de comprar; por exemplo, 1 câmera basta |
keep | Compra isto para uso próprio e nunca escolhe como presente para você |
save_up | Vale a pena juntar dinheiro para isto; enquanto ainda quer e não consegue pagar, não compra mais nada e guarda o dinheiro |
É assim que a Câmera do Hachiware está escrita: { "item": "chiikawa:camera", "weight": 4, "limit": 1, "keep": true, "save_up": true }.
O que segura na natureza. wild_tools sorteia um item por peso; minecraft:air quer dizer que o pet aparece de mãos vazias.
O jeito para provas. qualifications é escrito por id de licença: aptitude é o fator pelo qual a chance de passar é multiplicada, book_bonus é a chance extra de passar que ganha por ler o guia de estudo, e fail_reaction é a expressão quando não passa, que pode ser happy, hurt ou confused.
O que faz quando não tem nada para fazer. As quatro atividades em idle são sorteadas por peso: look_at_player olha para um jogador, look_at_creature olha para animais e outros pets por perto, stroll dá alguns passos e rest simplesmente fica onde está. As duas de olhar também precisam de quão perto algo tem que estar para o pet olhar (range) e de quanto tempo olhar (ticks); um peso de 0 quer dizer que nunca faz aquilo.
