What are you searching for?

Folks & Favors
Folks & Favors

Folks & Favors

Dynamic entity tasks to make your world feel alive!

download 7 Downloads · favorite 2 Followers · Updated 1 week ago
Adventure Economy Game-mechanics Neoforge Utility 1.21.1

Versions

inventory_2
Folks & Favors 1.1.0

1.1.0 · 1 week ago · 3.27 MB

Release download
Neoforge 1.21.1
inventory_2
Folks & Favors 1.0.0

1.0.0 · 1 week ago · 3.23 MB

Release download
Neoforge 1.21.1

About

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:

{
  "quest_givers": {
    "minecraft:villager": 1.0,
    "minecraft:allay": 0.6,
    "minecraft:piglin": 0.25,
    "minecraft:snow_golem": 0.15,
    "minecraft:bee": 0.15
  }
}

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

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:

"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:

{
  "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:

{
  "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.

open_in_new View on Modrinth
Compatibility
Client: Required Server: Required
gavel MIT

Conversation

What are your thoughts?

Related projects

Optimization Utility
FerriteCore
FerriteCore

by malte0811

Memory usage optimizations

download 87.1M
favorite 12,856
Utility
Mod Menu
Mod Menu

by Prospector

Adds a mod menu to view the list of mods you have installed.

download 80.3M
favorite 22,309
Library Management Utility
YetAnotherConfigLib (YACL)
YetAnotherConfigLib (YACL)

by isxander

A builder-based configuration library for Minecraft!

download 68.2M
favorite 7,680
Adventure Transportation Utility
Xaero's Minimap
Xaero's Minimap

by thexaero

Displays a map of the nearby world terrain, players, mobs, entities in the corner of your screen. Lets you create waypoints which help you find the locations you've marked.

download 63.0M
favorite 13,862
lock Cookie consent

SkinMC uses cookies to provide functionality and features.