性格
pet_personality/ 下每个角色一个文件,文件名是角色的 id:chiikawa 吉伊、hachiware 小八、usagi 乌萨奇、momonga 飞鼠、kurimanju 栗子馒头、rakko 獭师父、shisa 狮萨、furuhonya 古本屋。以乌萨奇为例:
{
"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] }
}
}所有字段都可以省略,省略的就按默认来。
它更想做什么。 intent_multipliers 给某件事的意愿乘一个系数,没写的都是 1;routine 再按一天里的时段额外乘一次,时段有 MORNING、DAY、EVENING、NIGHT。常用的事有 chiikawa:wander 闲逛、chiikawa:weed 拔草、chiikawa:harvest 收割、chiikawa:plant 种地、chiikawa:deliver 把收成放进箱子、chiikawa:pick_mushroom 采蘑菇、chiikawa:pick_up_item 捡东西、chiikawa:melee 近战、chiikawa:ranged 射箭、chiikawa:play_music 演奏、chiikawa:take_task 领牌、chiikawa:shop 逛商店、chiikawa:gift_owner 给你送礼。这些系数只在你允许的范围里起作用,性格再怎么写,也不会让它去做你没让它做的事。
它的选择有多随性。 randomness 从 0 到 1,越大越不按常理出牌。
它喜欢什么。 likes 是它会花自己的钱买的东西,按权重抽;什么都没写,它就什么都不买。每一项除了 item 和 weight,还可以加几个可选的字段:
| 字段 | 含义 |
|---|---|
requires | 背包里要先有这件东西,才会想买,比如小八有相机才买胶卷 |
limit | 背包里已经有这么多了,就不再买,比如相机 1 台就够 |
keep | 买来是自己用的,永远不会挑出来送给主人 |
save_up | 值得攒钱:还想要它、又买不起的时候,别的什么都不买,把钱攒下来 |
小八的相机就是这样写的:{ "item": "chiikawa:camera", "weight": 4, "limit": 1, "keep": true, "save_up": true }。
它野生时拿着什么。 wild_tools 按权重抽一件,写 minecraft:air 就是空着手出现。
它考试的本事。 qualifications 按证的 id 写:aptitude 是通过率要乘的系数,book_bonus 是它读参考书时额外加的通过率,fail_reaction 是落榜时的表情,可以写 happy、hurt、confused。
它闲着时做什么。 idle 里的四件事按权重抽:look_at_player 看玩家,look_at_creature 看附近的动物和别的小伙伴,stroll 走几步,rest 就待着。看人的两项还要写多近才看(range)、看多久(ticks);权重写 0 就是从来不做。
