A world-level persistent progress / flag system for Minecraft
一个用于 Minecraft 的世界级持久化进度 / 标记系统
WorldProgress 是一个基于 AnvilLib 的附属库 Mod。
它为 Minecraft 提供了一套世界级(World-level)进度标记系统,可用于在整个存档范围内持久化记录“某件事是否已经发生”。
这些进度信息会被写入世界存档,并且可以:
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:
InWorldRecipe 深度集成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);
在语言文件中添加:
progress_name.<namespace>.<path>="显示名称"
如果未提供翻译,则会显示 namespace:path
权限等级: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>
WorldProgress 提供了一个新的 InWorldRecipe predicate:
world_progress:complete_progress
{
"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.
"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"
}
]
👉 这可以用于:
击杀末影龙后解锁配方
世界进入某阶段后启用新内容
剧情 / 科技线控制
🌍 世界阶段系统(World Stages)
🐉 Boss 击杀判定
🧪 科技线 / 配方解锁
📜 剧情 / 事件触发
🧩 作为其他 Mod 的底层库
LGPL3

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