
虚空岛控制重制版
添加一种可自定义的多人“虚空”世界类型。此外,还支持在生存模式下拜访岛屿、精细的权限控制,以及拜访离线玩家的岛屿。
Void Island Control Remastered
这是 Void Island Control 针对 Minecraft 1.12.2 的重制版。
原始 CurseForge 项目:https://www.curseforge.com/minecraft/mc-mods/void-island-control
Void Island Control 添加了一种用于可自定义多人虚空世界的世界类型。玩家可以创建和管理相互隔离的岛屿,邀请队友,并在虚空主世界(可选虚空下界和末地)中进行空岛风格的游玩。本重制版保留了上述功能集,运行于已修补 Log4j 的 Forge 1.12.2-14.23.5.2864,并新增了在岛主离线时仍可使用的访问 / 旁观 / 列表工具。
许可证与署名(GPLv3)
本项目采用 GNU 通用公共许可证 v3.0 授权。完整许可证文本见 LICENSE.md。
原始作品:
- 作者:Bartz24
- CurseForge:https://www.curseforge.com/minecraft/mc-mods/void-island-control
- 原始源码:https://github.com/Bartz24/VoidIslandControl
重制版:
- 维护者:kreezxil
- 源码:https://github.com/kreezxil/VoidIslandControl
Bartz24 的原始代码与本重制版均遵循 GPLv3。你可以在该许可证下复制、修改和再分发本模组。修改后的版本必须保留许可证、保留版权声明,并标明所做更改。
本模组的功能
(摘自原始 CurseForge 描述,另加重制版说明。)
Void Island Control 添加了一种用于可自定义多人虚空世界的世界类型。它面向相互隔离的岛屿、团队以及空岛风格的游玩。
原始功能
- 多人岛屿的创建、邀请、加入、离开、踢出、回城、出生点、重置以及单区块模式。
- 五种默认岛屿类型:Grass(草地)、Sand(沙子)、Snow(雪地)、Wood(木头)和 Garden of Glass(若已安装 Botania 与 Garden of Glass)。每种类型均可配置。
- 通过配置文件夹中的结构方块
.nbt文件自定义岛屿。 - 可配置填充 / 底部方块、出生点保护、主世界生成模式、云 / 地平线 Y 值、岛屿大小与间距、带可选结构的虚空下界 / 末地、单区块模式、初始箱子、初始物品栏、新岛屿上的命令方块,以及世界首次加载时运行的命令。
- 可作为同时使用 Sky Resources 的整合包的初始岛屿配套模组(Sky Resources 本身在 1.10 上不兼容;本重制版仅支持 1.12.2)。
- 1.10 / 1.11 的原版需要 CompatLayer。本重制版不需要——它仅支持 1.12.2 Forge。
基本用法(与上游一致)
在客户端和服务端都安装本模组。在单人游戏中选择 Void? World,或在服务器上设置 level-type=voidworld。除非已开启自动创建,否则使用 /island create [可选类型]。
这是一个普通的双端 Forge 模组。同一个 jar 需要放到专用服务器和每个客户端上。Forge 握手会拒绝未安装该模组的客户端。
世界类型
- 创建类型为 Void? World(单人游戏)或
voidworld(服务器level-type)的世界。 - 主世界生成可以是纯虚空、原版主世界、超平坦、其他世界类型或自定义。
- 云高度和地平线高度可配置。
- 下界和末地均可设为虚空,并可选生成结构。
- 岛屿管理运行在配置的基础维度中(通常为主世界)。
岛屿
默认类型(每种均可在配置中启用或禁用):
| 类型 | 备注 |
|---|---|
| Grass | 可选树木;草方块 / 泥土 / 砂土 |
| Sand | 可选仙人掌;普通沙子或红沙 |
| Snow | 可选南瓜和浮冰"雪屋"环 |
| Wood | 选定木材的木板;可选水和线 |
Garden of Glass (gog) |
需要 Botania 和 Garden of Glass |
此外:
- 通过
voidislandcontrolstructures配置文件夹中的结构方块.nbt文件自定义岛屿。将文件名加入 Custom Islands 列表。结构方块数据标签spawn_point可设置落点方块。 - 位于网格
0,0的主出生岛可使用基岩、指定类型或随机。 - 玩家岛屿可使用固定类型或随机。
- 岛屿大小、Y 高度、岛屿间距、底部方块(基岩或岛屿的次要方块)、可选初始箱子。
- 可选的岛屿及其周围范围内的生物群系染色。
- 出生点保护和建造范围,防止访客游荡出正在访问的岛屿。
- 为新玩家自动创建岛屿(所有世界,或仅专用服务器)。
- 单区块模式(世界边界 16 格),若在配置中或通过命令启用。
- 新岛屿下方的可选命令方块(脉冲 / 循环 / 连锁,朝向,自动,命令字符串)。
- 世界首次加载时运行一次的命令。
- 通过
/startingInv和配置项startingItems设置初始物品栏。 - 在岛屿传送时给予抗性提升 / 防火 / 生命恢复增益,持续时间可配置。
岛屿成员信息以 UUID 形式存储在世界存档中(VoidIslandControlSaveData)。它与 usercache.json / usernamecache.json 相互独立。这些缓存仅用于将输入的玩家名称转换为 UUID。
玩家命令
默认命令名为 /island(可配置)。
| 命令 | 功能 |
|---|---|
/island create [type] |
创建你的岛屿。可选类型名称或索引。 |
/island invite <player> |
邀请其他玩家加入你的岛屿。 |
/island join |
接受最近的邀请。 |
/island leave |
离开岛屿并前往出生点。最后一名成员需确认。物品栏清空遵循配置。 |
/island kick <player> |
岛主踢出成员。其物品掉落在岛主处。 |
/island home |
传送到你的岛屿。必须距离足够远(保护范围)。 |
/island spawn |
传送到世界出生点 (0, islandY, 0)。 |
/island reset [type] |
在新槽位创建新岛屿;物品栏重置遵循配置。 |
/island onechunk |
单区块边界模式。配置中默认禁用。 |
/island visit <player> |
重制版: 在该岛屿上显示实体。默认为冒险模式;若你是管理员或被允许收获/放置,则为生存模式。 |
/island spectate <player> |
重制版: 在该岛屿上的幽灵视角(旁观模式,包括管理员)。 |
/island list |
重制版: 列出你能够访问或旁观其岛屿的玩家名称。 |
/island permission <player> <flag> <true/false> |
重制版: 仅限岛主设置的白名单标志,作用于你的岛屿上的该玩家。 |
访问、旁观、列表与权限:
- 只要 VIC 拥有目标玩家的岛屿 UUID 且名称可解析(
usercache.json/usernamecache.json),访问 / 旁观在目标在线或离线时均可使用。 /island list会打印这些名称(你自己除外)。Tab 补全使用同一列表。- 你无法访问 / 旁观自己的岛屿(那正是
/island home的用途)。 - 访客是一个可见的玩家,以便岛主进行导览。旁观者则保持不可见的摄像机视角。
- 默认访问仅限边走边聊。箱子、机器、物品、实体、战斗、拾取、收获和放置全部关闭,直到整合包作者或岛主开启。
/island home/spawn/ create / join / leave 会结束访问并恢复生存模式。allowVisitCommand可禁用访问和旁观。列表仍然可用。allowPerPlayerOverrides(即白名单)必须为 true,否则/island permission不起作用。覆盖设置存储在岛屿上,以访客 UUID 为键。同一玩家在不同岛屿上可拥有不同标志。他们无需事先访问过。
全局访问标志(commandSettings.visitSettings,默认全部为 false):
| 标志 | 若为 true |
|---|---|
allowBlockInteract |
箱子 / 机器 / 右键点击方块 |
allowItemUse |
使用物品 |
allowEntityInteract |
展示框、村民、盔甲架 |
allowAttack |
攻击实体 |
allowPickup |
拾取物品 |
allowBlockHarvest |
破坏 / 收获方块(访客被置于生存模式) |
allowBlockPlace |
放置方块(访客被置于生存模式) |
allowPerPlayerOverrides |
岛主可为访客单独设置上述标志 |
岛屿锁定(islandSettings,默认关闭):
| 选项 | 默认值 | 含义 |
|---|---|---|
islandLockdown |
false |
将玩家拉回并显示"太远了"消息 |
islandLockdownRange |
500 |
触发该行为的距岛屿中心距离 |
管理员不受限制。旧的 islandProtection / protectionBuildRange 仍用于出生点建造保护;游荡离岛的消息仅由锁定功能触发。
管理员命令
/islandAdmin(权限等级 2):
| 命令 | 功能 |
|---|---|
/islandAdmin kick <player> |
强制将玩家移出其岛屿。 |
/islandAdmin assign <player> <islandX> <islandY> |
将玩家分配到现有岛屿网格单元。 |
/islandAdmin assignOwner <player> |
将该玩家设为岛屿岛主。 |
/islandAdmin getIslandHere |
打印你当前所站岛屿的网格 X/Y 与成员 UUID。 |
/islandAdmin list |
列出所有岛屿、网格坐标和成员 UUID。 |
其他命令
/startingInv —— 捕获或管理用于新玩家 / 重置玩家的初始物品栏(见游戏内用法)。
重制版改动
相较于 Bartz24 的 1.5.3 系列:
- 目标为 Forge 1.12.2-14.23.5.2864(已修补 Log4j / CVE-2021-44228;请勿在公开整合包中发布 2856 之前的 Forge)。
/island visit为一个可见实体:冒险模式,或对管理员 / 拥有收获-放置权限者为生存模式。- 新增
/island spectate、/island list、/island permission。 - 每岛访问白名单(交互、物品、实体、战斗、拾取、收获、放置)。全局默认全部为 false。
- 岛屿锁定配置,默认关闭。
- 访问与旁观可通过 UUID 解析离线玩家。
需求
- Minecraft 1.12.2
- Forge 14.23.5.2864(或在知情更改锁定版本的前提下,使用其他 ≥ 14.23.5.2856 的 1.12.2 Forge 版本)
- Java 8
- 可选:Botania + Garden of Glass,用于
gog岛屿
将 jar 安装到客户端和服务端。
游玩
- 将 jar 放入服务器和每个客户端的
mods文件夹。 - 将世界类型设为
voidworld(server.properties 中level-type=voidworld),或在创建世界界面中选择 Void? World。 - 加入游戏。除非已开启自动创建,否则使用
/island create。 - 使用
/island invite邀请队友。 - 查看可以访问谁:
/island list。 - 访问:
/island visit <name>。旁观:/island spectate <name>。 - 岛主白名单:
/island permission <name> allowBlockHarvest true(需要allowPerPlayerOverrides)。
自定义结构:使用结构方块保存,将 .nbt 复制到 config/voidislandcontrolstructures/,将名称加入 Custom Islands 列表,用数据 spawn_point 标记出生点。
整合包注意事项
- VIC 存档数据在 usercache 被清除后仍然保留。命令名称则可能无法保留,直到缓存或 Mojang 能再次解析该名称。
- 离线模式服务器只能解析 usercache 中已存在的名称,除非玩家在线。
将世界复制到另一台服务器
岛屿成员信息存在于世界内(world/data/,VIC 存档,UUID)。
玩家名称则不然。它们位于服务器 jar 旁边:
usercache.json(原版)usernamecache.json(Forge)
如果你仅将世界文件夹复制到测试或新主机上,/islandAdmin list 仍会显示每个岛屿和 UUID。/island list、/island visit <name> 和 /island spectate <name> 只会显示新服务器已经见过的名称。其他所有人看起来都"缺失",即使岛屿确实存在。
克隆世界时:
- 复制世界文件夹。
- 将旧服务器根目录(与 Forge jar 同一目录)中的
usercache.json和usernamecache.json复制到新服务器根目录。 - 重启新服务器。
请勿仅将这两个 JSON 文件放入世界文件夹内。它们会被忽略。
鸣谢
- Bartz24 —— 原始 Void Island Control
- Forge / FML / MCP
- Vazkii / williewillus —— Botania 和 Garden of Glass(可选岛屿类型)
- kreezxil —— 重制版、访问 / 旁观 / 列表 / 权限、离线访问、管理员生存访问
正在加载版本记录…
正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。