跳到正文

CAdvancements

作者:TheFogIOF

Custom advancements without datapacks!

收藏

介绍

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

Custom Advancements

This mod allows you to add custom advancements to Minecraft using standard vanilla advancement JSON files. If you know how to make advancements for a datapack, you already know how to use this mod – just drop your JSON files into the config folder and they will load as regular advancements.

The mod is primarily intended for mod and modpack authors who want to ship advancements without creating a full datapack or including them inside a mod jar.

Example with BetterAdvancements

Features

Custom advancements via config folder

Place your advancement JSON files into:

./config/cadvancements/advancements/<namespace>/<your_files>.json
  • <namespace> — the namespace used in the advancement ID (for example mymod, custom, tutorial).
  • <your_files>.json — an advancement file with exactly the same structure as vanilla (display, criteria, requirements, rewards, etc.).

Soft-reload

You can update the achievements using the standard /reload command.

Fully vanilla-compatible JSON format

Every field that works in a vanilla advancement works here. You can use vanilla triggers (minecraft:inventory_changed, minecraft:player_killed_entity, etc.), vanilla rewards (loot, experience, function), and vanilla display options (icon, title, description, frame, background, show_toast, announce_to_chat, hidden).

Example of a JSON advancement

{
  "display": {
    "icon": { "item": "minecraft:stone" },
    "title": "Stone Age",
    "description": "Mine your first stone",
    "frame": "task",
    "show_toast": true,
    "announce_to_chat": true
  },
  "criteria": {
    "get_stone": {
      "trigger": "minecraft:inventory_changed",
      "conditions": {
        "items": [ { "items": ["minecraft:stone"] } ]
      }
    }
  },
  "requirements": [ ["get_stone"] ]
}

BetterAdvancements compatibility

If BetterAdvancements is installed, you can extend your advancements with an optional better_display block that controls how the advancement is drawn in the advancement tree.

"better_display": {
  "pos_x": 0,
  "pos_y": 0,
  "completed_icon_color": "#FFFFFF",
  "uncompleted_icon_color": "#FFFFFF",
  "completed_title_color": "#FFFFFF",
  "uncompleted_title_color": "#FFFFFF",
  "draw_direct_lines": false,
  "hide_lines": false
}
Field Type Description
pos_x / pos_y int Position offset of the advancement icon relative to its default spot.
completed_icon_color hex string Icon color for completed advancements.
uncompleted_icon_color hex string Icon color for uncompleted advancements.
completed_title_color hex string Title color for completed advancements.
uncompleted_title_color hex string Title color for uncompleted advancements.
draw_direct_lines boolean Draw connection lines as straight lines instead of curved ones. (works with bugs)
hide_lines boolean Hide the connection lines entirely.

The better_display block is ignored if BetterAdvancements is not installed.

Client and server friendly

Advancements loaded from the config folder behave like regular advancements — they sync to clients, work with the vanilla advancement GUI, grant rewards, and can be used in /advancement grant and /advancement revoke commands.

常见问题

CAdvancements 支持哪些 Minecraft 版本?

CAdvancements 支持 Minecraft Java 版 26.3,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。

CAdvancements 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。

评论

登录后评论和评分

TheFogIOF 的其他作品

查看全部 →