Cairn

Quick rating

Community listing page, reviews here may not be monitored by the author.

Cairn

No reviews yet

[Human + AI slop] A small mod that enables natural progression of advancements with rewards to help players figure out what they should focus on.

Mod Loaders
Minecraft
26.1

About

Description

Cairn - A guide to your questing

This project was made with the help of AI

Disclaimer: This mod has been created with heavy use of AI to let me learn about how networking works, explaining concepts among other things, lots of code autocompletion (but still reviewed by me, by reading the code), but if you don't like AI slop, this is not for you.


Cairn is a mod that allows you to track advancements among other things, and gives you rewards based on the tier they are on.

The rewards can be overridden by datapacks, if you want to either disable rewards, or change what you get from completing the advancements.

Progression and rewards can be shared among other players on the same server.

The mod can be used both on clients and servers.

Every advancement is a quest. Cairn turns the advancements already in your game - vanilla's and every mod's - into a quest log, with no config or generation step.

Quests

  • Every advancement is discovered automatically and stays current across /reload.
  • Track up to 5 quests (configurable). Right-click an advancement in the vanilla advancement screen to track it; a marker shows which ones are tracked.
  • Requirements in plain words - "Obtain: Iron Ingot", "Kill: Blaze", "Visit: Badlands" - worked out from each advancement's own criteria, with your progress per line. Shown in the advancement screen hover panel (Shift for the full list), on the HUD, and via /cairn info for vanilla clients.
  • Completing a tracked quest can automatically track its next step.

HUD and toasts

  • On-screen tracker in any corner, drawn with vanilla's own advancement frames, showing progress and the open requirements per quest.
  • Completion toast with the reward that was paid out.

Rewards

  • Attach rewards to advancements you don't own with a datapack file in vanilla's own rewards format: data/<namespace>/cairn/rewards/<path>.json (loot tables, XP, functions). No editing of other mods' files.
  • Bundled starter rewards for 25 vanilla advancements, using items that never complete another advancement by accident. Can be turned off.
  • Configurable default XP per frame type (task/goal/challenge) for everything else. Recipe unlocks and advancements granted for free never pay out.
  • Exclude advancements with a tag-style datapack file.

Multiplayer

  • Works server-side on its own; vanilla clients get chat messages and commands.
  • Optional shared progression: what one player earns, everyone earns, including players who join later. Each player still gets their own rewards.
  • Per-player state is stored in the world and survives death.

Commands

  • /cairn list, track, untrack, tracked, info, rewards, shared

Requires Obsidian Weave 1.2.1 or newer. Fabric, Forge and NeoForge.

We have a few configuration items that can be of interest:

Quests

  • include_recipe_advancements (true) - Treat the hidden recipe-unlock advancements as quests. They can carry rewards but never appear in the tracker.
  • max_tracked (5) - How many quests a player can track at once.
  • auto_track_next_child (true) - When a tracked quest completes, start tracking its first unfinished child.

Rewards

  • default_rewards (true) - Give XP for every displayed advancement that has no reward file, based on its frame type.
  • default_xp_task (10), default_xp_goal (30), default_xp_challenge (100) - XP points per frame type.
  • default_xp_hidden_multiplier (1.5) - Multiplier for hidden advancements.
  • bundled_rewards (true) - Use Cairn's built-in item rewards for 25 vanilla advancements (torches, bread, arrows, emeralds and other items that never complete another advancement by accident). Datapack reward files always take priority.

Multiplayer

  • shared_progression (false) - Every advancement criterion any player earns is earned by everyone on the server, including players who join later. Each player still receives their own rewards. Recipe unlocks are not shared.

HUD (client)

  • hud_corner (top_left) - Screen corner for the tracker: top_left, top_right, bottom_left, bottom_right.
  • hud_offset_x (4), hud_offset_y (4) - Distance in pixels from that corner.
  • hud_max_rows (5) - How many tracked quests the HUD shows.
  • hud_show_progress (true) - Show the x/y criteria count under each quest.
  • hud_requirement_lines (2) - How many open requirements to list under each quest; 0 hides them.
  • hud_show_description (false) - Show the advancement's own description under each quest.