
自定义世界
在运行时创建、配置和传送自定义维度。
查看大图服务端模组,用于在运行时创建、配置和传送至多个自定义维度——每个世界拥有独立的物品栏、游戏模式、难度、游戏规则和世界边界。全部通过简单的 /cw 指令完成。原版客户端即可连接并使用 /cw tp——无需安装客户端。
支持版本:1.21.1 (NeoForge / Fabric)
实际效果

功能
- 运行时维度创建 — 支持
NORMAL、FLAT、NETHER或END生成方式,并可指定种子。 - 每世界独立状态 — 每个维度都可以拥有独立的:
- 默认游戏模式(到达时生效)
- 物品栏池(可与其他“共享”世界共用,或完全隔离)
- 游戏规则覆盖(可用
reset还原) - 难度(仅限自定义维度)
- 世界边界(完整支持
/worldborder全部功能) - 公开标志——允许非OP玩家传送到此世界
- 智能传送 — 记住每位玩家在每个维度的最后位置;首次访问时进行安全出生点检测(包括下界顶部处理)。
- 重启后持久化 — 世界、配置、玩家位置、物品栏均会保留。
- 死亡重生 — 在自定义维度死亡后会在该维度重生(除非你的床在其他地方)。
- 原版客户端兼容 — 无需客户端模组。
- 删除安全 —
/cw delete需要二次确认,并会清除文件及所有相关的玩家独立物品栏数据。
指令
所有指令均以 /cw 开头。公开指令对所有玩家可见;管理指令需要配置的权限等级(默认 OP 4)。
公开指令
/cw help— 列出你当前可用的指令/cw tp <world>— 传送(管理员:任意维度;玩家:仅限公开世界)/cw list— 列出世界(根据权限过滤)
管理员 — 世界管理
/cw create <name> <type> [seed]- 类型:
NORMAL、FLAT、NETHER、END - 示例:
/cw create myworld NORMAL/cw create skyblock FLAT 12345/cw create hellscape NETHER
- 类型:
/cw delete <name>— 在 30 秒内重新执行相同指令以确认删除
管理员 — 每世界配置(需在目标维度内执行)
/cw config— 显示当前维度的完整配置/cw config sharedinventory <true|false>— 与其他共享世界共用物品栏,或使用完全隔离的物品栏池/cw config gamemode <survival|creative|adventure|spectator>— 到达时应用的游戏模式/cw config publicWorld <true|false>— 允许非OP玩家/cw tp到此世界/cw config difficulty <peaceful|easy|normal|hard>— 每维度难度(仅限自定义维度)/cw config worldborder ...— 参数与原版/worldborder相同,仅作用于当前维度:set <distance> [<time>]、add <distance> [<time>]center <x> <z>damage amount <perBlock>、damage buffer <distance>warning distance <blocks>、warning time <seconds>get
/cw config gamerule [<rule> [<value>|reset]]- 无参数:列出所有规则(被覆盖的规则以
*标记) <rule>:查询指定规则<rule> <value>:覆盖此维度的规则<rule> reset:移除覆盖,恢复默认值
- 无参数:列出所有规则(被覆盖的规则以

权限
管理指令所需的 OP 等级可在 config/<save>/serverconfig/customworlds-server.toml 中配置:
permissionLevel = 4 # 0-4,管理员指令所需的 OP 等级
maxWorlds = 0 # 0 = 无限制;/cw create 的最大世界数量上限
deleteConfirmSeconds = 30 # 5-600
/cw tp 和 /cw list 始终对所有玩家可用(根据每世界的 publicWorld 标志进行过滤)。
物品栏模型
每位玩家在每个“物品栏池”中都有一份物品栏快照:
- 共享池 — 所有
sharedInventory = true的维度使用此池(主世界默认为共享)。所有共享世界使用同一份物品栏。 - 隔离池 — 每个
sharedInventory = false的维度拥有独立的私有物品栏池。进入和离开时,你的共享物品栏保持不变。
物品栏池会持久化到磁盘并在重启后保留。从隔离维度登出时会立即保存你的物品栏快照。

存储
与世界数据一同保存:
| 文件 | 用途 |
|---|---|
customworlds.json |
创建的世界的列表 |
customworlds_config.json |
每维度配置 |
customworlds_positions.json |
每玩家、每维度的最后位置 |
customworlds_inventories/<uuid>/<bucket>.dat |
NBT 物品栏 + 经验快照 |
dimensions/customworlds/<name>/ |
标准 MC 维度数据(区块、实体等) |
删除世界会清除该维度的上述所有数据。不可恢复。
兼容性
Custom Worlds 与 Curios API(NeoForge)和 Trinkets(Fabric)兼容,安装这些模组后物品栏会自动同步。
限制
- 每维度的
doDaylightCycle无可见效果 — 游戏时间通过DerivedLevelData与主世界共享。昼夜循环跟随主世界。 - 每维度难度仅对
customworlds:*维度生效(避免与minecraft:*维度的原版全局难度冲突)。原版维度请使用/difficulty。 /cw create后建议重启服务器 — 新创建的世界在下次重启前使用回退循环,之后才会正常整合。模组在创建时会提示你。- 动态维度注册通过反射操作
MinecraftServer内部实现。更新 NeoForge 前请备份存档。
常见问题
我的玩家需要安装模组吗? 不需要。CustomWorlds 仅需服务端。原版客户端即可连接并使用 /cw tp 传送到公开世界。
这些世界与原版兼容吗? 兼容。自定义维度复用原版的 OVERWORLD/NETHER/END 维度类型,因此原版客户端无需额外注册数据即可识别。
如果玩家离线时其世界被删除会怎样? 重新连接后,原版会回退到主世界出生点。他们会带着上次登出时 player.dat 中保存的物品栏到达。
我可以手动编辑 JSON 文件吗? 可以——它们是纯 JSON 格式。加载器会容忍个别条目的损坏数据,并记录被跳过的条目。
关于 Custom Worlds 还有其他问题吗? 当然!欢迎加入我们的 Discord:https://discord.gg/XNAeUSYswB
还没有人评论,去客户端里说两句吧。
评论在新手盒子客户端中发表,这里同步展示。