一个基于 Paper 的多世界管理插件,支持世界的创建、删除、重置、传送与列表管理,内置按世界划分的权限控制、强制游戏模式与首次出生点功能。
- 作者: BrokenDream_Star、DeepSeek
- 网站: https://starm.team/
- 🌍 世界管理 (
/mw)/mw create <世界> [环境] [种子]— 创建或加载世界,支持 NORMAL / NETHER / THE_END/mw delete <世界> [force]— 删除世界(需二次确认,删除前自动备份)/mw reset <世界> [force]— 使用随机种子重新生成世界(需二次确认,重置前自动备份)/mw tp <世界> [玩家]— 传送到指定世界(可传送其他玩家)/mw setspawn [世界]— 将当前位置设为某世界的重生点/mw info [世界]— 查看世界信息(环境、种子)/mw list— 列出所有已管理的世界/mw reload— 热重载插件配置
- 🔐 按世界权限控制
- 通过
starmw.world.<世界名>控制玩家进入对应世界 - 在
PlayerTeleportEvent、PlayerPortalEvent(HIGH)中拦截,PlayerChangedWorldEvent(MONITOR)兜底
- 通过
- 🎮 强制游戏模式
- 进入世界时按
worlds.yml中配置的游戏模式强制切换 - 可通过
starmw.bypass.gamemode权限绕过
- 进入世界时按
- 👋 首次出生点
- 新玩家首次加入服务器时自动传送到
config.yml中配置的位置
- 新玩家首次加入服务器时自动传送到
- 🛡️ 安全删除 / 重置
- 删除或重置前自动异步备份世界存档,备份失败则中止操作
- 支持
force参数跳过备份直接执行
| 依赖 | 版本 |
|---|---|
| 服务端 | Paper 26.1.2+ |
| Java | 25+ |
# 构建
./gradlew build
# 产物位于
# build/libs/StarMultiWorld-<version>.jar将构建出的 jar 放入服务端的 plugins/ 文件夹,重启服务器即可。
本地启动测试服务器:
./gradlew runServer| 命令 | 描述 | 权限 | 默认 |
|---|---|---|---|
/mw tp <世界> [玩家] |
传送到一个世界 | starmw.command.tp / starmw.command.tp.other |
OP |
/mw setspawn [世界] |
设置世界的重生点 | starmw.command.setspawn |
OP |
/mw create <世界> [环境] [种子] |
创建新世界 | starmw.command.create |
OP |
/mw delete <世界> [force] |
删除一个世界(先备份) | starmw.command.delete |
OP |
/mw reset <世界> [force] |
使用随机种子重置世界(先备份) | starmw.command.reset |
OP |
/mw info [世界] |
查看世界信息 | starmw.command.info |
OP |
/mw list |
列出所有世界 | starmw.command.list |
OP |
/mw reload |
重载插件配置 | starmw.command.reload |
OP |
| 权限 | 描述 | 默认 |
|---|---|---|
starmw.bypass.gamemode |
绕过强制游戏模式更改 | OP |
starmw.admin |
上述所有权限的汇总 | OP |
starmw.world.* |
允许进入所有世界 | OP |
starmw.world.<世界名> |
进入指定世界的权限(动态注册) | 无 |
首次启动后会在 plugins/StarMultiWorld/ 下生成 config.yml 与 worlds.yml。
# 是否启用 worlds.yml 中配置的世界出生点
use-world-spawn: true
# 是否启用强制切换游戏模式(进入世界时按 worlds.yml 配置强制切换)
enforce-game-mode: true
# 首次进入服务器的玩家的出生点设置
first-spawn:
enabled: true # 是否启用
world: world # 出生点所在的世界名称
x: 0.5
y: 61.0
z: 0.5
yaw: 90.0
pitch: 0.0每个世界一个条目,WorldConfigManager 会在启动时自动从服务器现有世界生成:
worlds:
world:
environment: NORMAL
spawn:
x: 0.5
y: 61.0
z: 0.5
yaw: 90.0
pitch: 0.0
gamemode: SURVIVAL # 留空表示继承服务器全局设置
seed: 12345世界名称不区分大小写。环境为 NORMAL / NETHER / THE_END,也可按名称后缀自动检测:_nether → NETHER,_the_end / _end → THE_END。