- ◆ 游戏版本
- 1.12.2
- ◆ 服务端核心
- Spigot / Paper / CatServer / Mohist
- ◆ 前置/依赖
- 无强制前置;Multiverse-Core 为可选软依赖
WorldRefresher · 定时世界刷新
定时自动刷新 | 奖励箱完整保留 | 随机/指定种子 | 宝可梦生成维度管理
作者:leu
定时自动刷新 | 奖励箱完整保留 | 随机/指定种子 | 宝可梦生成维度管理
作者:leu
适用环境:Spigot / Paper / CatServer / Mohist 1.12.2 · 无强制前置 · 软依赖:Multiverse-Core(可选)
▎插件简介
WorldRefresher 是一款轻量级的世界自动刷新插件。在配置中设定日期、时间与世界名,到点自动刷新,无需人工守夜;刷新前通过解析 region 文件全量扫描并保存世界中的奖励箱与各类容器(含未加载区块),刷新后随区块加载逐个恢复;支持随机、保留与指定种子三种模式,并可直接管理 Pixelmon 的宝可梦生成维度。插件纯事件驱动、异步扫描,主世界亦可安全刷新。
▎核心功能一览
| 功能 | 说明 |
| 定时刷新 | 配置日期与时间,到点自动执行,支持多任务与手动刷新 |
| 奖励箱保留 | 解析 region 文件全量扫描,未加载区块内的箱子也不会遗漏 |
| 战利品重置 | 可配置:带战利品表的箱子重新随机奖励,或原样恢复箱内物品 |
| 容器白名单 | 箱子、陷阱箱、发射器、投掷器、漏斗、熔炉、酿造台、全色潜影盒均可保留 |
| 种子模式 | random 随机新地形、keep 保留原种子、数字或字符串指定种子 |
| 宝可梦维度 | 指令直接修改 BetterSpawnerConfig.json 的生成维度,无需手动翻文件 |
| 主世界刷新 | 倒计时广播、自动踢人、写标记关服,重启时在世界加载前完成重建 |
| 数据零丢失 | 仅清空地形,level.dat 与 playerdata、pokemon、stats 等目录完整保留 |
▎刷新安全机制
| 机制 | 说明 |
| 异步全量扫描 | region 解析在异步线程进行,不阻塞主线程,箱子再多也不卡服 |
| 按区块懒恢复 | 刷新后箱子在对应区块被玩家加载时才恢复,瞬时零开销 |
| 保留 level.dat | 方块与物品 ID 注册表原样保留,从根源杜绝 ID 重排导致的物品错乱 |
| 单区块容错 | 损坏区块、单个箱子恢复失败均独立跳过,不影响整体流程 |
| 主世界保护流程 | 10 秒倒计时并踢出全部玩家后延迟关服,由面板自动重启完成重建 |
| 在线玩家处理 | 刷新世界内的玩家自动传送至主世界出生点,不会被卡进虚空 |
▎命令与权限
| 命令(别名 /worldrefresher、/wr) | 说明 |
| /wr | 查看帮助 |
| /wr reload | 重载配置文件(管理员) |
| /wr refresh <任务名> | 手动刷新指定世界(管理员) |
| /wr list | 查看全部刷新任务(管理员) |
| /wr dim list | 查看当前宝可梦生成维度 |
| /wr dim add <ID> | 添加生成维度 |
| /wr dim remove <ID> | 移除生成维度 |
| /wr dim set <ID1,ID2,...> | 批量设置生成维度 |
▎Multiverse-Core 兼容
插件声明 softdepend,检测到 Multiverse-Core 时自动调用其官方 regenWorld 接口重建世界(等同 /mv regen),世界环境、生成器、游戏模式等配置原样保留;未安装 Multiverse-Core 时自动回退到内置的删除重建流程,功能完全一致。MV 调用全部通过纯反射完成,不安装 MV 不会产生任何报错。
▎配置示例
定时刷新任务(到点自动执行,可配置多个):
代码:
refresh-tasks:
resource-world:
world: "resource" # 要刷新的世界名
date: "2026-10-04" # 刷新日期(年-月-日)
time: "04:00" # 刷新时间(24小时制)
seed: "random" # random=随机 / keep=保留 / 数字或字符串=指定种子
enabled: true # 是否启用
种子模式与战利品刷新开关:
代码:
# seed 三种写法:
# random 每次刷新使用随机种子,生成全新地形
# keep 保留原种子刷新
# 12345 数字或任意字符串,使用指定种子
seed: "random"
# true:带战利品表的箱子在玩家打开时重新随机生成奖励(推荐)
# false:原样恢复箱子物品(已被拿空的箱子恢复后仍为空)
refresh-loot: true
刷新时保留的容器方块(可自行增减):
代码:
keep-tile-ids:
- "minecraft:chest"
- "minecraft:trapped_chest"
- "minecraft:dispenser"
- "minecraft:dropper"
- "minecraft:hopper"
- "minecraft:furnace"
- "minecraft:brewing_stand"
- "minecraft:white_shulker_box"
# ……其余颜色潜影盒已在默认配置中列出
消息前缀与播报文本均支持自定义颜色变量:
代码:
prefix: "&8[&b世界刷新&8] &f"
message:
refresh-start: "&a世界 %world% 开始刷新..."
refresh-done: "&a世界 %world% 刷新完成! 保留奖励箱 &e%count% &a个, 耗时 &e%time% &a秒"
购买后免费更新 · 使用问题可联系作者 · QQ:764791791