Skip to content

UltiWorlds

多世界管理模块 -- 世界创建、传送、保护、背包隔离和精细化世界规则配置。

功能概述

UltiWorlds 是 UltiTools 框架下的多世界管理模块,提供了服务器多世界运营所需的全套工具。你可以通过命令或交互式向导创建新世界(支持主世界、下界、末地三种环境),对每个世界独立配置 PVP 开关、怪物/动物生成、天气控制、难度等级等规则。传送系统支持 GUI 界面浏览和命令行直达,带冷却时间和权限检查。保护系统可以一键启用方块破坏/放置/交互/爆炸保护。访问控制包括世界锁定、封禁和隐藏。背包隔离系统支持按世界或世界组隔离背包、末影箱、经验、生命值、饥饿值和药水效果。此外还支持世界描述展示(多行+颜色代码+PlaceholderAPI)、传送后自动执行命令以及空世界自动卸载。

安装

方法一:通过 UPM(UltiTools Package Manager)安装

/upm install UltiWorlds

方法二:手动安装

  1. 确保服务器已安装 UltiTools-API 6.2.0 或更高版本
  2. UltiWorlds-2.0.0.jar 放入 plugins/UltiTools/plugins/ 目录
  3. 重启服务器

快速入门

安装完成后,可以按照以下步骤快速体验:

1. 打开世界列表 GUI
   /world

2. 创建一个新世界
   /world create myworld

3. 传送到新世界
   /world tp myworld

4. 设置世界出生点
   /world setspawn

5. 查看世界信息
   /world info

6. 使用创建向导(交互式引导)
   /world wizard

命令列表

基础命令

命令描述权限使用者
/world打开世界列表 GUI 界面ultiworlds.use仅玩家
/world list以文字方式列出所有世界及玩家数ultiworlds.use仅玩家
/world tp <世界>传送到指定世界(5秒冷却)ultiworlds.use仅玩家
/world info查看当前所在世界的详细信息ultiworlds.use仅玩家
/world help显示帮助信息ultiworlds.use仅玩家

创建与管理命令

命令描述权限使用者
/world wizard启动交互式世界创建向导ultiworlds.admin.create仅玩家
/world create <名称>创建主世界环境的新世界ultiworlds.admin.create仅玩家
/world create <名称> <类型>创建指定环境类型的新世界(NORMAL / NETHER / THE_END)ultiworlds.admin.create仅玩家
/world load <名称>加载一个已存在但未加载的世界ultiworlds.admin.load仅玩家
/world unload <名称>卸载世界(玩家会被传送到主世界)ultiworlds.admin.unload仅玩家
/world delete <名称>删除世界(卸载并删除文件,不可撤销)ultiworlds.admin.delete仅玩家
/world setspawn设置当前世界的出生点为你所在位置ultiworlds.admin.setspawn仅玩家

设置命令

命令描述权限使用者
/world set <世界> pvp <true/false>设置 PVP 开关ultiworlds.admin.settings仅玩家
/world set <世界> monsters <true/false>设置怪物生成ultiworlds.admin.settings仅玩家
/world set <世界> animals <true/false>设置动物生成ultiworlds.admin.settings仅玩家
/world set <世界> weather <true/false>设置天气变化ultiworlds.admin.settings仅玩家
/world set <世界> hidden <true/false>设置是否从列表中隐藏ultiworlds.admin.settings仅玩家
/world set <世界> locked <true/false>设置是否锁定世界ultiworlds.admin.settings仅玩家
/world set <世界> blocked <true/false>设置是否禁止进入世界ultiworlds.admin.settings仅玩家
/world set <世界> displayname <名称>设置世界显示名称ultiworlds.admin.settings仅玩家
/world set <世界> description <描述>设置世界描述文字ultiworlds.admin.settings仅玩家
/world set <世界> icon <材料名>设置 GUI 中的图标材料ultiworlds.admin.settings仅玩家
/world set <世界> difficulty <难度>设置世界难度(PEACEFUL / EASY / NORMAL / HARD)ultiworlds.admin.settings仅玩家

难度命令

命令描述权限使用者
/world difficulty <世界> <难度>直接设置世界难度ultiworlds.admin.settings仅玩家

难度选项:PEACEFUL(和平)、EASY(简单)、NORMAL(普通)、HARD(困难)。

保护命令

命令描述权限使用者
/world protect <世界>启用完整保护(禁止破坏、放置、交互、爆炸)ultiworlds.admin.protect仅玩家
/world unprotect <世界>禁用所有保护ultiworlds.admin.protect仅玩家

访问控制命令

命令描述权限使用者
/world block <世界>禁止所有玩家进入世界(已在世界中的玩家会被踢回主世界)ultiworlds.admin.block仅玩家
/world unblock <世界>允许玩家进入世界ultiworlds.admin.block仅玩家

传送后命令

命令描述权限使用者
/world postcmd <世界> add <命令>添加传送后自动执行的命令ultiworlds.admin.settings仅玩家
/world postcmd <世界> list查看已配置的传送后命令ultiworlds.use仅玩家
/world postcmd <世界> clear清除所有传送后命令ultiworlds.admin.settings仅玩家

传送后命令支持 {player}{world} 占位符,以控制台身份执行。

配置文件

所有配置文件位于 plugins/UltiTools/UltiWorlds/ 目录下。

主配置 config/worlds.yml

yaml
# 默认世界名称
default_world: "world"

# 受保护的世界(不能自动卸载或删除)
protected_worlds:
  - "world"
  - "world_nether"
  - "world_the_end"

# 服务器启动时自动加载的世界
load_worlds_on_start: []

# ===== 自动卸载配置 =====
auto_unload:
  enabled: false                     # 启用空世界自动卸载
  check_interval: 60                 # 检查间隔(单位:秒,10-3600)
  unload_after: 300                  # 世界空闲多久后卸载(单位:秒,60-86400)

# ===== GUI 配置 =====
gui_title: "&6世界列表"               # 世界列表 GUI 标题

# ===== 传送配置 =====
tp_to_world:
  enabled: true                      # 允许玩家在世界间传送
  permission_per_world: false        # 每个世界要求单独权限
  cooldown: 10                       # 传送冷却时间(单位:秒,0-300)
  show_description: true             # 传送时显示世界描述

world_spawn:
  use_spawn_location: true           # 传送到世界出生点(而非上次离开的位置)

# ===== 背包隔离配置 =====
world_isolation:
  enabled: false                     # 启用背包隔离(默认关闭)
  separate_inventory: true           # 隔离背包
  separate_ender_chest: true         # 隔离末影箱
  separate_experience: false         # 隔离经验等级
  separate_health: false             # 隔离生命值
  separate_hunger: false             # 隔离饥饿值
  separate_effects: false            # 隔离药水效果
  shared_worlds:                     # 共享背包的世界组(同组内共享,逗号分隔)
    - "world,world_nether,world_the_end"

# ===== 消息配置 =====
messages:
  world_teleport: "&a已传送到世界: {WORLD}"
  world_not_found: "&c世界 {WORLD} 不存在!"
  no_permission: "&c你没有权限进入世界 {WORLD}!"
  world_created: "&a世界 {WORLD} 已创建!"
  world_deleted: "&c世界 {WORLD} 已删除!"

使用教程

教程一:使用向导创建世界

向导模式提供交互式引导,适合不熟悉命令参数的管理员:

/world wizard

向导会依次询问:

  1. 世界名称(只能使用字母、数字、下划线和连字符)
  2. 环境类型(1=主世界 / 2=下界 / 3=末地)
  3. 地形类型(1=标准 / 2=超平坦 / 3=放大化 / 4=巨型生物群系)
  4. 是否生成建筑物(村庄、神殿等)
  5. 世界种子(留空使用随机种子)
  6. 确认创建

每一步有 60 秒输入时限,超时自动取消。随时输入 cancel 可取消操作。

教程二:配置世界规则

创建世界后,可以自定义各项规则:

/world set myworld pvp false           -- 关闭 PVP
/world set myworld monsters false      -- 关闭怪物生成
/world set myworld weather false       -- 锁定天气为晴天
/world set myworld displayname "&a我的世界"  -- 设置显示名称
/world set myworld description "这是一个和平的世界"  -- 设置描述
/world set myworld icon DIAMOND_BLOCK  -- 设置 GUI 图标
/world difficulty myworld PEACEFUL     -- 设置难度为和平

教程三:配置世界保护

一键启用完整保护(适用于大厅、展示世界等):

/world protect lobby                   -- 启用完整保护
                                        禁止方块破坏
                                        禁止方块放置
                                        禁止交互
                                        禁止爆炸

/world unprotect lobby                 -- 禁用所有保护

拥有 ultiworlds.bypass.protection 权限的玩家不受保护限制。

教程四:配置背包隔离

config/worlds.yml 中启用背包隔离:

yaml
world_isolation:
  enabled: true
  separate_inventory: true
  separate_ender_chest: true
  separate_experience: true
  shared_worlds:
    - "world,world_nether,world_the_end"   # 主世界三维度共享背包
    - "creative_world"                      # 创造世界独立背包

这样配置后:

  • 主世界(world)、下界(world_nether)和末地(world_the_end)共享同一套背包
  • creative_world 有独立的背包
  • 其他未列出的世界各自拥有独立的背包

玩家在世界间切换时,背包和末影箱会自动保存和加载。

教程五:使用传送后命令

传送后命令会在玩家传送到指定世界后自动以控制台身份执行:

/world postcmd pvp_arena add effect {player} speed 600 1
/world postcmd pvp_arena add gamemode survival {player}
/world postcmd pvp_arena list              -- 查看已配置的命令
/world postcmd pvp_arena clear             -- 清除所有命令

支持的占位符:

  • {player} -- 玩家名
  • {world} -- 目标世界名

教程六:管理世界访问

/world block event_world               -- 禁止进入(已在里面的玩家被踢回主世界)
/world unblock event_world             -- 允许进入
/world set event_world locked true     -- 锁定世界(需要权限才能进入)
/world set event_world hidden true     -- 从列表中隐藏世界

权限节点

权限描述默认
ultiworlds.use基础使用权限(打开 GUI、传送、查看信息)玩家
ultiworlds.admin管理员权限(包含所有子权限)OP
ultiworlds.admin.create创建世界OP
ultiworlds.admin.delete删除世界OP
ultiworlds.admin.load加载世界OP
ultiworlds.admin.unload卸载世界OP
ultiworlds.admin.setspawn设置世界出生点OP
ultiworlds.admin.settings修改世界设置OP
ultiworlds.admin.protect管理世界保护OP
ultiworlds.admin.block管理世界访问控制OP
ultiworlds.bypass.locked绕过世界锁定限制OP
ultiworlds.bypass.blocked绕过世界封禁限制OP
ultiworlds.bypass.protection绕过世界保护限制OP
ultiworlds.world.*访问所有世界(启用 permission_per_world 时)OP
ultiworlds.world.<世界名>访问指定世界(启用 permission_per_world 时)-

常见问题

Q: 安装后不生效怎么办?

A: 请确认以下几点:(1) UltiTools-API 版本为 6.2.0 或更高;(2) JAR 文件放在 plugins/UltiTools/plugins/ 目录下,不是 plugins/ 目录下;(3) 完整重启了服务器。查看控制台是否有 "UltiWorlds has been enabled" 字样。

Q: 改了配置文件没效果?

A: 修改 config/worlds.yml 后执行 /ul reload 即可热加载大部分配置。但 world_isolation.enabled 等核心开关的更改需要重启服务器才能生效。

Q: 权限怎么设置?

A: 使用标准 Bukkit 权限系统,推荐 LuckPerms。基础使用权限 ultiworlds.use 建议给所有玩家。管理员命令默认需要 OP。如果你想控制每个世界的访问权限,在配置中设置 tp_to_world.permission_per_world: true,然后通过 ultiworlds.world.世界名 来分配。

Q: 删除世界后还能恢复吗?

A: 不能。/world delete 会先卸载世界,然后递归删除世界文件夹中的所有文件。这个操作不可逆,请在操作前确认或备份。受保护的世界(配置在 protected_worlds 中的)不能被删除。

Q: 背包隔离开启后已有的物品怎么办?

A: 首次启用背包隔离时,玩家当前所在世界的背包会被作为该世界组的初始背包保存。其他世界组的背包数据为空(新背包)。建议在服务器没有玩家在线时启用此功能,避免数据混乱。

Q: 创建向导输入超时了怎么办?

A: 向导每一步有 60 秒输入时限。超时后创建流程自动取消,不会有副作用。可以重新输入 /world wizard 开始新的创建流程。

Q: 世界描述支持什么格式?

A: 世界描述支持颜色代码(使用 & 前缀,如 &a 为绿色)和占位符({player} 替换为玩家名,{world} 替换为世界名)。多行描述用 \n 分隔。如果安装了 PlaceholderAPI,也可以在描述中使用 PAPI 变量。

更新日志

v2.0.0 (2026-02-13)

新增:世界创建向导(交互式对话引导,支持环境/地形/建筑/种子选项) 新增:命令行世界创建,支持 NORMAL / NETHER / THE_END 环境类型 新增:世界加载/卸载/删除管理 新增:空世界自动卸载功能(可配置检查间隔和等待时间) 新增:GUI 世界列表浏览 新增:带冷却时间的跨世界传送 新增:世界出生点设置 新增:每世界独立难度配置(PEACEFUL / EASY / NORMAL / HARD) 新增:传送后自动执行命令(支持 add / list / clear 管理) 新增:多行世界描述,支持颜色代码和 PlaceholderAPI 新增:PVP / 怪物 / 动物 / 天气 独立世界规则 新增:完整世界保护(破坏/放置/交互/爆炸四项) 新增:世界锁定、封禁和隐藏访问控制 新增:背包隔离系统(背包/末影箱/经验/生命值/饥饿值/药水效果) 新增:世界分组,同组世界共享背包 新增:权限控制(基础访问、管理员操作、绕过限制、每世界单独权限) 新增:删除确认 GUI 新增:中文和英文语言支持

贡献者

The avatar of contributor named as Ling Bao Ling Bao
The avatar of contributor named as Claude Opus 4.6 Claude Opus 4.6

页面历史

基于 MIT 许可发布