
世界重置
Fabric 的世界重置工具
World Reset
在不关闭服务器的情况下重置服务器世界,可使用命令、计时器或自定义谓词。 计时器可通过 /worldreset stop 或停止谓词来停止。
让世界出生点设置在某特定生物群系或结构附近,微调玩家状态重置,并更改世界池大小。
与 Fabric Permissions API(由 LuckPerms、PlayerRoles 使用)以及 Predicate API 集成,以支持自定义谓词。
命令与权限
| 命令 | 权限 | 描述 |
|---|---|---|
| /worldreset reset [seed] | worldreset.reset | 立即重置世界(可选种子,支持 "random") |
| /worldreset reload | worldreset.reload | 重新加载配置 |
| /worldreset timer | worldreset.timer | 设置重置计时器(例如 "5m"、"300s") |
| /worldreset stop | worldreset.stop | 停止计时器 |
| /worldreset seed | worldreset.seed | 设置种子(支持 "random") |
| /worldreset spawn none | worldreset.spawn | 禁用附近生成 |
| /worldreset spawn structure | worldreset.spawn | 在结构附近生成(例如 "minecraft:stronghold") |
| /worldreset spawn biome | worldreset.spawn | 在生物群系附近生成(例如 "minecraft:plains") |
| /worldreset spawn offset | worldreset.spawn | 距目标位置的方块偏移 |
| /worldreset spawn require_surface | worldreset.spawn | 要求生成时需要表面方块 |
| /worldreset triggers list [stop|reset] | worldreset.triggers | 列出触发器(默认:两者) |
| /worldreset triggers clear [stop|reset] | worldreset.triggers | 清除触发器(默认:两者) |
| /worldreset triggers remove <stop|reset> | worldreset.triggers | 按索引移除触发器 |
| /worldreset triggers add <stop|reset> portal [origin_dimension] [require_all_players] | worldreset.triggers | 添加传送门进入触发器(origin_dimension:例如 minecraft:overworld) |
| /worldreset triggers add <stop|reset> death | worldreset.triggers | 添加实体死亡触发器 |
| /worldreset triggers add <stop|reset> advancement [require_all_players] | worldreset.triggers | 添加进度触发器 |
| /reset [seed] | worldreset.reset | /worldreset reset 的别名 |
/wr 是 /worldreset 的别名。所有权限默认需要管理员等级 2。
时长支持秒(15/15s)、分钟(3m)、小时(2h)、天(7d)以及组合(1h30m)。
配置
{
// 请勿修改!
"config_version": 8,
// 为即时重置而预加载保留的世界数量,若为 0,玩家需要被传送到 worldreset:lobby
"pool_size": 1,
// 每个世界预加载的区块半径(数字,或视距的百分比,例如 "50%")
"preload_distance": "4",
// 伪造自定义 worldreset:dimension 标识符,以显示原版 minecraft:dimension 标识符
// 这对于依赖原版维度标识符的着色器兼容性很有用
// 若启用,玩家会被传送到 worldreset:lobby,以避免区块相互渗透
// 若禁用,玩家会立即被传送到下一个池中的世界,速度稍快
"spoof_dimension": true,
// 启用计时器倒计时音效
"countdown_sounds": true,
// 启用重启聊天消息
"restart_message": true,
// 提前停止倒计时计时器的触发器
"stop_triggers": [
{
"type": "worldreset:portal_enter",
"block": "minecraft:end_portal",
"origin_dimension": "minecraft:the_end",
"require_all_players": false
},
{
"type": "worldreset:advancement",
"advancement": "minecraft:nether/uneasy_alliance",
"require_all_players": false
}
],
// 立即重置世界的触发器
"reset_triggers": [
{
"type": "worldreset:entity_death",
"entity": "minecraft:player",
"filter": {
"type": "entity",
"value": {
"type_specific": {
"type": "player",
"gamemode": ["survival"]
}
}
}
}
],
// 支持 long、字符串或 "random" 种子
"seed": "random",
// 配置生成位置
"spawn_near": {
// 生成类型:"none"、"structure" 或 "biome"
"type": "none",
// 目标结构或生物群系(例如 "minecraft:stronghold"、"minecraft:plains")
"target": "",
// 距目标位置的方块偏移
"offset": 0,
// 是否要求生成时需要表面方块
"require_surface": false
},
// 世界重置时重置玩家状态
"reset_on_load": {
// 移除所有药水效果
"effects": false,
// 重置生命值、氧气值、着火状态和速度
"health": false,
// 重置饥饿值和饱和度
"hunger": false,
// 重置所有游戏统计
"statistics": false,
// 重置所有进度
"advancements": false,
// 重置经验等级、点数和分数
"experience": false,
// 清空物品栏和末影箱内容
"inventory": false,
// 重置配方知识
"recipes": false,
// 重置玩家属性(生命值提升、速度等)
"attributes": false,
// 重置后应用于每个玩家的游戏模式(覆盖极限模式旁观者锁定);"none" 表示跳过
"gamemode": "survival",
// 设置游戏内一天中的时间(0-24000,-1 表示禁用)
"time_of_day": -1,
// 将天气重置为晴朗
"clear_weather": false
}
}
触发器类型(在 stop_triggers 和 reset_triggers 中均使用):
worldreset:portal_enter- 当玩家进入传送门方块时触发block:传送门方块标识符(例如minecraft:end_portal)origin_dimension:可选,玩家必须所处的维度(例如要塞传送门使用minecraft:overworld,末地出口传送门使用minecraft:the_end)require_all_players:若为 true,则所有玩家都必须进入;若为 false,则任意玩家进入即可(默认:false)filter:可选的 Predicate API 谓词,用于玩家级别的匹配
worldreset:entity_death- 当实体死亡时触发entity:实体类型标识符(例如minecraft:ender_dragon)filter:可选的 Predicate API 谓词,用于实体级别的匹配
worldreset:advancement- 当玩家获得进度时触发advancement:进度标识符(例如minecraft:end/kill_dragon)require_all_players:若为 true,则所有玩家都必须获得;若为 false,则任意玩家获得即可(默认:false)filter:可选的 Predicate API 谓词,用于玩家级别的匹配
带过滤器的示例(仅统计进入末地传送门的生存模式玩家):
{
"type": "worldreset:portal_enter",
"block": "minecraft:end_portal",
"require_all_players": true,
"filter": {
"type": "entity",
"value": {
"condition": "minecraft:entity_properties",
"predicate": { "gamemode": "survival" }
}
}
}
致谢
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。