Back to mods
World Progress project artwork

CurseForge · Minecraft mod

World Progress

An addon mod to AnvilLib. Adds a World Progress system, and the CompeletedProgress predicate for InWorldRecipe.

Choose a version Pick your version below, then grab the matching file.

Quick answer

Which World Progress release should I use?

Updated 8 months ago
Latest stable file world_progress-0.0.1.jar
Game version 1.21.1
Loader NeoForge

World Progress world_progress-0.0.1.jar targets 1.21.1 with NeoForge. The project page does not say whether this file belongs on the client, dedicated server, or both. No extra mods listed for this file.

Where it goes

Is World Progress required on the client, server, or both?

The project page does not say whether this file belongs on the client, dedicated server, or both.

Client Source doesn’t say
Dedicated server Source doesn’t say
Loader for this release NeoForge
Required install it here Optional supported, not mandatory Not supported do not install here Source doesn’t say do not assume

The source does not explicitly classify this release as client-only or server-only.

What else does World Progress world_progress-0.0.1.jar need?

world_progress-0.0.1.jar. Change the file and its required mods may change too.

No extra mods listed for this file

This file does not list any required mods. Do not add a library just because a different file uses it.

This file does not list any required or optional mods.

Before you install it

Add World Progress without breaking your instance.

Built for World Progress world_progress-0.0.1.jar. Pick another file and the loader, install side or required mods may change.

  1. 01

    Stick to this file

    Use world_progress-0.0.1.jar. It targets 1.21.1 with NeoForge; another release may have different loader, side or dependency requirements.

  2. 02

    Bring the mods it needs

    This file does not list any required mods. Do not add a library just because a different file uses it.

  3. 03

    Put it on the correct side

    The project page does not say whether this file belongs on the client, dedicated server, or both.

  4. 04

    Pick the file you checked

    Use the “Get this file” button beside world_progress-0.0.1.jar. It opens that exact file at the source.

About this project

What does World Progress add?

WorldProgress

A world-level persistent progress / flag system for Minecraft
一个用于 Minecraft 的世界级持久化进度 / 标记系统


📖 简介 | Introduction

WorldProgress 是一个基于 AnvilLib 的附属库 Mod。
它为 Minecraft 提供了一套世界级(World-level)进度标记系统,可用于在整个存档范围内持久化记录“某件事是否已经发生”。

这些进度信息会被写入世界存档,并且可以:

  • 通过 API 在代码中查询 / 设置
  • 通过 命令 手动管理
  • 通过 AnvilLib 的 InWorldRecipe 作为 predicate 使用,从而控制配方是否可用

WorldProgress is an addon library mod for AnvilLib.
It provides a persistent world-level progress / flag system, allowing mods and datapacks to record whether certain events have been completed in a save.

Progress data is saved to disk with the world, and can be:

  • Queried or modified via Java API
  • Managed via commands
  • Used as a predicate in AnvilLib InWorldRecipe, enabling world-state–dependent recipes

📦 依赖 | Dependencies

  • NeoForge
  • AnvilLib (required)

✨ 特性 | Features

  • ✅ 世界级进度(与玩家无关)
  • 💾 自动随世界存档持久化
  • 🧩 提供简洁的 Java API
  • 🛠 内置管理指令
  • 🔗 与 AnvilLib InWorldRecipe 深度集成
  • 🌍 支持本地化显示名称(通过资源包)

🧩 API 使用 | API Usage

测试进度是否完成

Test whether a world progress is completed:

boolean completed = WorldProgressAPI.testProgress(server, progressId);

完成某个世界进度

Mark a world progress as completed:

WorldProgressAPI.achieveProgress(server, progressId);

移除某个世界进度

Remove a completed world progress:

WorldProgressAPI.removeProgress(server, progressId);

获取所有世界进度

Get all completed world progress IDs:

List<ResourceLocation> list = WorldProgressAPI.getProgressList(server);

获取进度的显示名称

Get localized display name of a progress:

String name = WorldProgressAPI.getProgressString(progressId);

本地化规则 | Localization rule

在语言文件中添加:

progress_name.<namespace>.<path>="显示名称"

如果未提供翻译,则会显示 namespace:path


⌨ 指令 | Commands

权限等级:2(默认 OP)

列出当前世界中所有已完成的进度

List all completed world progress in the current world

/worldprogress list

测试某个进度是否已完成

Test whether a progress is completed

/worldprogress test <id>

将某个进度标记为完成

Mark a progress as completed

/worldprogress achieve <id>

移除某个已完成的进度

Remove a completed progress

/worldprogress remove <id>

🔧 与 InWorldRecipe 集成 | InWorldRecipe Integration

WorldProgress 提供了一个新的 InWorldRecipe predicate:

world_progress:complete_progress

示例 | Example

{
  "type": "world_progress:complete_progress",
  "progress_id": "world_progress:downed_ender_dragon"
}

该 predicate 仅在指定世界进度已完成时才会满足条件。

This predicate passes only if the specified world progress has been completed.

配方示例(节选) | Recipe Example (Excerpt)

"non_conflicting": [
  {
    "type": "anvilcraft:has_cauldron",
    "offset": [0.0, -1.0, 0.0]
  },
  {
    "type": "world_progress:complete_progress",
    "progress_id": "world_progress:downed_ender_dragon"
  }
]

👉 这可以用于:

  • 击杀末影龙后解锁配方

  • 世界进入某阶段后启用新内容

  • 剧情 / 科技线控制

🎯 适用场景 | Use Cases

  • 🌍 世界阶段系统(World Stages)

  • 🐉 Boss 击杀判定

  • 🧪 科技线 / 配方解锁

  • 📜 剧情 / 事件触发

  • 🧩 作为其他 Mod 的底层库

📄 许可证 | License

LGPL 3

Project description from CurseForge.

Pick your setup

World Progress by Minecraft version and loader

Choose the version and loader you play, then open the matching release.

1 available setups

Check the dependencies, then try the file in a copied instance before changing a world you care about.

Recent files

World Progress versions and loaders

1 of 1 releases match

Looking for an older file? The official CurseForge project page is in Resources.