跳到正文

Folks & Favors

作者:gart3572

Dynamic entity tasks to make your world feel alive!

收藏

截图

介绍

中文介绍正在准备中,下面暂时显示原文。

Folks & Favors!

Folks & Favors adds a cozy, lightweight quest system by giving certain mobs their own personalities, requests, and rewards. Instead of static NPCs, villagers and other friendly mobs can now ask you for help — and thank you with useful items in return. This mod is designed to feel vanilla‑friendly, immersive, and fully configurable, making it perfect for both casual worlds and large modpacks. By default the mod enhances Nitwit Villagers, turning them into charming quest-givers with unique personalities and item requests. Other mobs can be enabled through the simple JSON config!

Configuration

There are 4 different config files for Folks & Favors, below is what each of them do and how to use them:

folksfavors_quest_givers.json

This file defines which mobs are allowed to become quest givers and how likely they are to roll a personality when they spawn. (If a mob has no personality it will recieve no quest!!!)

Example code:

{
  "quest_givers": {
    "minecraft:villager": {
      "chance": 1.0,
      "forced_personality": null
    }
  }
}

chance represents the % chance a mob becomes a quest giver when it spawns. (A value of 1.0 means always, while 0.25 means 25%)

forced_personality can be set to any personality name that is defined. This entity will only ever have this personality now. (If this parameter is not needed, you may delete it or set it to null)

folksfavors_personalities.json

Each personality defines:

  • What type of quests they prefer (tag based system)
  • How rare their quests are
  • How long they wait nefore offering a new quest

Example code:

"farmer": {
  "preferred_tags": ["plants", "food", "animals"],
  "rarity_bias": {
    "common": 70,
    "uncommon": 20,
    "rare": 8,
    "mythic": 2,
    "legendary": 0
  },
  "reset_time": 18000
}

_preferred_tags_ determines which quests this personality is more likely to pick.

_rarity_bias_ controls how often each quest rarity in this personality appears.

_reset_time_ is how long (in ticks) before they can offer a new quest after the previous has been satisfied.

You can add as many personalities as you want!

folksfavors_quests.json

Each quest entry defines the item requested, the amount, the rarity, and the personality tags it belongs to.

Example code:

{
  "id": "gather_wheat",
  "text": "Could you bring me some wheat?",
  "item": "minecraft:wheat",
  "amount": 16,
  "rarity": "common",
  "tags": ["plants", "food"]
}

_id_ is the unique quest ID given to each quest to call and apply to a mob.

_text_ is the quest title that displays above the mobs head once granted. (Some symbols are auto escaped to respect JSON’s formatting)

_item_ is the item registry name of the quest item. (Ex. minecraft:dirt, minecraft:sugar_cane, etc. This works with any mod you have installed)

_amount_ is the item stack amount needed to complete the quest. The quest will only check if the item stack is in the hand of the player. (To prevent “stuck quests” please only set the stack amount to no more than 64, unless the item supports higher stack sizes)

_rarity_ is the weighted value that a quest has to be selected when assigned to a mob with a personality. There are 5 hard coded rarities: “common”, “uncommon”, “rare”, “mythic”, and “legendary”. The weight for each rarity is defined in the personality. (You can add more personalities, though the mod will not assign a color code to the text string of your quest)

_tags_ define what personality the quest can be a part of. You may use as many tags as you like on each mob. (To reduce massive tag lists, use “any” to call all tags)

folksfavors_loot.json

On completion of a quest, the player will be rewarded with a roll from the loot table of the corresponding quest rarity.

Example code:

{
  "loot": [
    {
      "rarity": "common",
      "item": "minecraft:bread",
      "min": 1,
      "max": 3,
      "weight": 40
    },
    {
      "rarity": "uncommon",
      "item": "minecraft:emerald",
      "min": 1,
      "max": 2,
      "weight": 20
    },
    {
      "rarity": "rare",
      "item": "minecraft:golden_apple",
      "min": 1,
      "max": 1,
      "weight": 5
    }
  ]
}

_rarity_ defines what quest rarities can roll this table.

_item_ is the item stack ID of the reward.

_min_ is the minimum amount of item that can be granted on reward.

_max_ is the maximum amount of item that can be granted on reward.

_weight_ is the chance this reward has in relation to the other rewards in the table. (These numbers are weights, not percentages. They do not need to add up to 100, they do not need to be normalized, they are used relative to each other)

Thank you for playing! Feel free to comment any suggestions you may feel are benficial to add to this project.

常见问题

Folks & Favors 支持哪些 Minecraft 版本?

Folks & Favors 支持 Minecraft Java 版 1.21.1,可用的加载器:NeoForge。下载时注意选择和你游戏版本一致的文件。

Folks & Favors 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 NeoForge,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:客户端和服务端都要装。

评论

登录后评论和评分