Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 48 additions & 2 deletions docs/BentoBox/About/AdminTools.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ BentoBox 为服务器管理员提供了一系列工具来管理游戏、调查
| `/bentobox perms` | 显示 BentoBox 和所有插件的有效权限 |
| `/bentobox rank` | 列出、添加或移除自定义等级 |

## 每个游戏模式的管理员指令
## 每个游戏模式的管理员指令 { #per-game-mode-admin-commands }

每个游戏模式都有自己的管理员指令。对于 BSkyBlock 是 `/bsb`,对于 AcidIsland 是 `/acid admin` 等。这些为你提供特定于该游戏模式的控制:

Expand All @@ -36,6 +36,7 @@ BentoBox 为服务器管理员提供了一系列工具来管理游戏、调查
| `/[admin] delete` | *(3.19.0)* 不带玩家参数时,在确认后软删除你**当前所站**的岛屿(如果该岛屿仍有队伍则会被拒绝) |
| `/[admin] undelete` | *(3.19.0)* 在区域文件被清除之前,清除你**当前所站**岛屿的待删除状态,使其变为无主 |
| `/[admin] register <player>` | 将无主岛屿注册给玩家。对于待删除的岛屿,现在会显示确认提示并取消删除,而不是拒绝操作 |
| `/[admin] setrank <player> <rank> [island owner | x,y,z]` | *(3.23.0)* 设置队伍成员的等级;可在控制台使用。等级可以是关键词(`member`、`sub-owner`、`trusted`、`coop` 或任何不含 `ranks.` 前缀的附属等级)、翻译后的等级名称或其编号,不区分大小写;未知的等级会列出有效的选项。如果没有岛屿参数,它作用于玩家**所在**的岛屿(而不是他们拥有的岛屿),因此无法降级所有者。为了选择一个特定的岛屿,请说出该岛屿的所有者,或其中心坐标 `x,y,z`。拒绝设置 `owner`、`mod` 和 `admin` 等级 — 使用 `team setowner` 来转移所有权 |
| `/[admin] setrange <player> <range>` | 更改玩家的岛屿保护范围 |
| `/[admin] range removebonus <player> [id]` | 从单个岛屿移除所有奖励保护范围,或仅移除给定 id 的范围 |
| `/[admin] range purgebonus <id>` | 从世界中的**每个**岛屿移除奖励范围 id — 理想情况下在卸载提供奖励范围的附属之后。扫描以异步运行,不会冻结大型服务器 |
Expand Down Expand Up @@ -105,7 +106,52 @@ BentoBox 支持多个数据库后端来存储岛屿和玩家数据:

## 更新日志

!!! note "v3.22.3 新内容 —— bStats 退出选项与 Paper 26.2"
!!! note "v3.23.3 新内容 —— 黑曜石挖取复制修复与命令等级面板"
**发布于:** 2026-10-03

一个 bug 修复和面板版本。没有 `config.yml` 或地区变化。兼容性:Paper Minecraft 1.21.5 – 26.3,Java 25+。

- 🐛 **黑曜石挖取复制已修复。** 使用 OBSIDIAN_SCOOPING 时,熔岩在点击后一个刻度后被发出,没有重新检查,所以在那个刻度内挖掉黑曜石就会同时获得黑曜石和熔岩,而且将桶移出手可能会不消耗桶而获得熔岩。现在都会重新检查。**建议每个启用了 OBSIDIAN_SCOOPING 的服务器都进行更新。**
- ⚙️ **可自定义的命令等级面板。** 由新的 `panels/command_ranks_panel.yml` 布局(首次启动时写入;游戏模式自己的副本优先),带有 `COMMAND`、`NEXT` 和 `PREVIOUS` 按钮。现在在 45 个命令时分页 — 老面板会悄悄丢掉第 49 个命令之后的每个命令。见[自定义命令等级面板](../Island-Protection,-Flags-&-Ranks.md)。
- ✨ **设置面板改进。** `/island settings` 在玩家最后选择的基础/高级/专家模式下打开,保护和设置标签页共享一种模式(管理面板仍然在专家模式下打开)。命令等级隐藏玩家没有权限的子指令(op 仍然看到一切)。破坏生成器图标不再显示原版的生成蛋工具提示。
- 🐛 **Multiverse `auto-load` 被尊重。** 从 3.22.0 开始,Multiverse 钩子在每次启动时重置 BentoBox 世界的 `auto-load: false`。现在它仅在 BentoBox 首次导入一个世界时设置;现有的 Multiverse 条目保持配置的样子。
- 🧩 **附属 API:** 管理员 `deaths set|add|remove|reset` 指令触发 `PlayerDeathsChangedEvent`(世界、玩家、操作、数量、旧值和新值计数),所以 Level 可以跟踪管理员的改动。不为自然死亡触发。

[发布 v3.23.3](https://github.com/BentoBoxWorld/BentoBox/releases/tag/3.23.3)

??? note "v3.23.1 新内容 —— Minecraft 26.3 与模板驱动的设置面板"
**发布于:** 2026-09-25

兼容性:Paper Minecraft 1.21.5 – 26.3,Java 25+。

- 🎮 **Minecraft 26.3"荒野束缚"支持。** 新的垫子由现有旗标保护 — 放置需要 PLACE_BLOCKS,击中或射击需要 BREAK_BLOCKS,坐下需要 RIDING — 而草床由 BED 保护,所以访客无法再睡在(和用掉)岛屿的草床。没有新旗标。发布时,Paper 26.3 仅作为 alpha 构建提供(在构建 41 上测试)。
- ⚙️🔡 **可自定义的设置面板。** `/island settings` 和 `/admin settings` 由 `panels/settings_panel.yml` 和 `panels/admin_settings_panel.yml` 构建,首次启动时写入。标签页布局、固定旗标、面板标题和旗标的 lore 顺序可以自定义;默认值看起来完全像老面板。见[自定义设置面板](../Island-Protection,-Flags-&-Ranks.md#customizing-the-settings-panel)。
- 🐛 **已删除的岛屿不再计入玩家。** 在重置或 `/[admin] delete` 后,岛屿在重启前停留在每个玩家的索引中,这阻止了转移("玩家已经拥有 N 个岛屿")并混淆了 `/[admin] delete`。
- 🐛 模板按钮的 `fallback:` 记录现在正确呈现。

🔡 **地区注意。** 一个新键 `panels.settings.title` 单独从标签页名称设置设置面板标题。没有它的自定义地区文件会回退到捆绑的文本。旗标 lore 布局(`protection.panel.flag-item.description-layout`)现在可以使用 `[ranks]` 和 `[tooltips]` 占位符,但除非你选择加入,否则不变。

[发布 v3.23.1](https://github.com/BentoBoxWorld/BentoBox/releases/tag/3.23.1)

??? note "v3.23.0 新内容 —— 控制台就绪的 setrank"
**发布于:** 2026-09-19

兼容性:Paper Minecraft 1.21.x – 26.2,Java 25+。

- 🔡 **`/[admin] setrank` 可在控制台使用。** 新语法 `/[admin] setrank <player> <rank> [island owner | x,y,z]`,向后兼容。等级可以由关键词、翻译后的名称或编号给出;当玩家拥有一个岛屿并是另一个的成员时,会选择正确的岛屿;岛屿可以由其中心命名。制表符补全偏移了一个,现在已修复。受影响的玩家会被告知他们的等级改变了 — 见上面的[指令表](#per-game-mode-admin-commands)。
- 💡 **行为改变:** 没有岛屿参数时,`setrank` 现在作用于玩家**所在**的岛屿而不是他们自己的岛屿,所以它不能再意外地降级所有者。拒绝设置 `owner`,并指向 `setowner`。
- 🐛 **元数据控制台垃圾邮件已修复。** 玩家和岛屿元数据映射现在是线程安全的。损坏的映射以前在每次玩家移动时抛出 `NoSuchElementException`(通过 Border 看到),直到重启。

🔡 **地区注意。** `commands.admin.setrank` 获得 `cannot-set-owner`、`already-rank` 和 `admin-changed-rank`;`unknown-rank` 现在接受 `[rank]` 和 `[ranks]`。所有 24 个捆绑地区都已更新;将新键添加到任何自定义地区文件。

[发布 v3.23.0](https://github.com/BentoBoxWorld/BentoBox/releases/tag/3.23.0)

??? note "v3.22.4 新内容"
**发布于:** 2026-09-06

一个 bug 修复和性能版本。兼容性:Paper Minecraft 1.21.x – 26.2,Java 25+。

??? note "v3.22.3 新内容 —— bStats 退出选项与 Paper 26.2"
**发布于:** 2026-08-22

主要是一个 bug 修复和 API 版本。兼容性:Paper Minecraft 1.21.5 – 26.2,Java 25+。
Expand Down
11 changes: 11 additions & 0 deletions docs/addons/TopBlock/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,17 @@ TopBlock 在它挂接的**每个**游戏模式上注册 `topblock` 子指令,

## 更新日志

??? note "v2.1.2 新内容"
**发布于:** 2026-09-26

补丁版本 —— 无配置、地区或数据格式更改;即插即用替换 2.1.1。

- 🐛 **前十刷新期间不再进行主线程数据库读取。** 2.1.1 将游戏模式的岛屿数据读取移出了主线程,但将每个条目与其 BentoBox 岛屿匹配仍然在那里运行。这在重启后的第一次刷新时从数据库加载了每个离线岛屿,并在每次刷新时为每个陈旧的 AOneBlock/ChunkBlock 条目运行一次存在查询(这在 MySQL 和其他 SQL 后端上是个问题)。岛屿查找现在在异步刷新任务中运行,未知岛屿被跳过而不触及数据库,岛屿不再仅为了构建前十而被拉入 BentoBox 的缓存。

如果你仍在 2.1.0 上并且每 5 分钟看到一次卡顿尖峰,请立即升级。

[发布 v2.1.2](https://github.com/BentoBoxWorld/TopBlock/releases/tag/2.1.2)

??? note "v2.1.1 新内容"
**发布于:** 2026-08-27

Expand Down
30 changes: 24 additions & 6 deletions docs/gamemodes/AOneBlock/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -53,24 +53,28 @@ OneBlock 将你放置在太空中的一个方块上。只有一个方块。你
| `length` | 该阶段包含的方块数量。 |
| `enabled` | 可选,默认为 `true`。设为 `false` 可以排除某个阶段。 |
| `requiredMinecraftVersion` | 可选。在低于此版本的服务端上,该阶段会被跳过——完全不占用任何方块数。 |
| `addedIn` | 可选,仅在发货的索引中。首次发货该阶段的插件版本。使用一次,在升级升级前不存在 `shippedPhases` 的索引时,用于区分新阶段和管理员移除的阶段。 |

起始方块数是**计算得出的**:它等于其上方所有已启用阶段长度的累加和,从 0 开始。这意味着阶段可以随意重新排序,被跳过的阶段也会从进度中自动收起。最后一个阶段结束后,方块计数会跳到 `gotoAtEnd`。

当你第一次在 `/[admin_command] phases` 中编辑长度时,顶层的 `adminLengths: true` 会被自动写入。从此以后,协调过程再也不会重新计算长度,因此你设置的值可以在后续的文件新增、重命名和升级中保留下来。

#### 协调(Reconciliation)
顶层 `shippedPhases` 列表也会被自动写入(自 1.28.0)。它记录了服务器从插件 jar 中被提供的每个阶段。保持它的位置:这就是 AOneBlock 区分一个你从新的升级中故意移除的阶段和一个新发货的阶段的方式。

#### 协调(Reconciliation) { #reconciliation }

!!! note "自 1.26.1 起,phases 文件夹是唯一依据"
每次加载时,以及每次从管理面板保存时,索引都会与磁盘上实际存在的文件进行协调,因此 `/[admin_command] phases` 显示的就是服务器真正运行的内容。请留意启动日志中以 `Phase index:` 开头的行——它们会准确说明改动了什么。

- 文件在插件版本之间被**重命名**的条目,会按阶段名称重新指向你的文件,因此该阶段可以重新加载。
- 文件**缺失但 jar 中自带**的条目会被自动恢复。这正是升级后的服务器能出现新阶段的原因,因为 `phases/` 中的文件从不会被覆盖。
- 文件**缺失但 jar 中自带**的条目会被自动恢复,因为 `phases/` 中的文件从不会被覆盖。
- *(1.28.0)* **在较新附属版本中发货的阶段**会添加一次,在升级后的第一次启动时,如果它不在索引中且还未在 `shippedPhases` 中。它紧跟在发货顺序中它前面的阶段之后,即使你已经移动了那个阶段,其阶段和宝箱文件会被复制到 `phases/`。日志显示 `Phase index: added new phase <name>`。
- 放进该文件夹的**自定义阶段文件**会被自动添加。数字键会按其历史起始方块数插入到相应位置;其他文件则会追加到末尾,供你在面板中排列。
- 文件确实已经消失的条目会被移除并给出警告,因此面板永远不会列出不存在的阶段。
- 在需要修复时,长度会依据你的文件中历史遗留的起始方块键重新计算,从而保留服务器在索引出现之前实际运行的布局——除非已设置 `adminLengths`。

!!! warning "删除阶段"
要永久移除一个阶段,请删除它的文件,或在 `/[admin_command] phases` 中把它关闭。只删除索引条目是没用的——协调过程会重新加入它在文件夹中找到的任何阶段文件。
要永久移除一个阶段,请删除其索引条目**和**它的文件;因为它已经列在 `shippedPhases` 中,它不会在后续升级时回来。要仅关闭一个阶段,在 `/[admin_command] phases` 中把它关闭。只删除索引条目是没用的——协调过程会重新加入它在文件夹中找到的任何阶段文件。

格式错误的索引会回退到旧的直接加载文件方式,因此一次错误的编辑不会让插件卡死。

Expand Down Expand Up @@ -496,14 +500,14 @@ AOneBlock 插件有其独特的占位符。这些占位符与 AOneBlock 存储
请在[这里](https://github.com/BentoBoxWorld/AOneBlock/issues)添加。

??? question "有哪些阶段?"
内置了 20 个阶段,顺序如下:平原、地下、冬季、海洋、丛林、沼泽、地牢、沙漠、下界、丰饶、荒芜、深暗之域、末地、繁茂洞穴、溶洞、红树林沼泽、草甸、樱花树林、尖峭山峰、硫磺洞穴。
内置了 21 个阶段,顺序如下:平原、地下、冬季、海洋、丛林、沼泽、地牢、沙漠、下界、丰饶、荒芜、深暗之域、末地、繁茂洞穴、溶洞、红树林沼泽、草甸、樱花树林、尖峭山峰、硫磺洞穴、杂色森林。

每个阶段都有适合该环境的一组方块、物品和怪物。

硫磺洞穴需要 Minecraft 26.2 或更高版本。在更旧的服务端上它会被跳过,改由尖峭山峰一直延续到循环点。你可以用 `/[admin_command] phases` 自行重新排序、禁用和调整阶段长度,也可以把自己的阶段文件放进 `phases` 文件夹。
硫磺洞穴需要 Minecraft 26.2 或更高版本,杂色森林需要 Minecraft 26.3 或更高版本。在更旧的服务端上它们会被跳过而不占用任何方块数,因此前一个阶段会一直延续到循环点。你可以用 `/[admin_command] phases` 自行重新排序、禁用和调整阶段长度,也可以把自己的阶段文件放进 `phases` 文件夹。

??? question "所有阶段一共有多少个方块?"
在 Minecraft 26.2+ 的服务端上,内置阶段共有 15,500 个方块;不含硫磺洞穴阶段时为 15,000 个。
在 Minecraft 26.3+ 的服务端上,内置阶段共有 16,000 个方块;26.2 时为 15,500 个(无杂色森林),更旧的服务端为 15,000 个(无硫磺洞穴)。

??? question "最后一个阶段之后会发生什么?"
阶段会重复——方块计数会跳回 `phases_index.yml` 中的 `gotoAtEnd` 值,默认为 0。
Expand Down Expand Up @@ -743,6 +747,20 @@ AOneBlock 插件有其独特的占位符。这些占位符与 AOneBlock 存储

[发布 v1.27.1](https://github.com/BentoBoxWorld/AOneBlock/releases/tag/1.27.1)

!!! warning "v1.28.0 新内容 —— 杂色森林阶段在首次启动时添加"
**发布于:** 2026-09-26

兼容性:BentoBox API 3.22.0+ · Minecraft 26.x 或 1.21.5+(硫磺洞穴需要 26.2+,杂色森林需要 26.3+)· Java 25。

- 🍂 **杂色森林阶段**用于 Minecraft 26.3。它跟在硫磺洞穴之后 500 个方块,因此回到平原的循环从第 15500 块移动到第 16000 块。白杨木、黄色、橙色和红色白杨叶(持久的,所以不会腐烂)、落叶、红灌木和所有 16 种颜色的羊毛楼梯;绵羊、猪、鸡、牛、兔子和狐狸加上常见的敌对怪物;带有白杨树苗、书架蘑菇、垫子、草床、铜斧、铁矛等的宝箱。在早于 26.3 的服务端上,该阶段会被跳过且不占用任何方块数。
- 🔺 **新阶段现在可以到达现有服务器。** `phases_index.yml` 获得一个 `shippedPhases` 列表,在后续版本中发货的阶段会添加到索引一次,紧跟在发货顺序中它前面的阶段之后。你移除的阶段保持移除。见[协调](#reconciliation)。
- 🐛 当没有阶段覆盖当前方块计数时(例如 `gotoAtEnd` 在第一个阶段下方,或阶段文件未能加载),方块破坏处理器不再抛出 NullPointerException。AOneBlock 会记录一个错误,带有岛屿和方块编号,并取消破坏,所以魔法方块不会丢失。
- ⚙️ `config.yml` 中 `deaths` 设置的注释现在解释哪些设置仍然影响[等级](../../addons/Level/index.md) 2.29.0 下的岛屿等级。只有注释改变。

🔺 **杂色森林在首次启动时被添加到你的阶段顺序**(日志:`Phase index: added new phase Dappled Forest`),其文件被复制到 `phases/`。你现有的顺序、长度和启用标志不会改变。如果你不想要它,在 `/[admin_command] phases` 中禁用它。

[发布 v1.28.0](https://github.com/BentoBoxWorld/AOneBlock/releases/tag/1.28.0)

## Translations

{{ translations("AOneBlock") }}
Expand Down
2 changes: 1 addition & 1 deletion docs/gamemodes/AcidIsland/Commands.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@
| `/acid blueprint pos1` | 设置立方体剪贴板的第一个角落 | |
| `/acid blueprint pos2` | 设置立方体剪贴板的第二个角落 | |
| `/acid blueprint save <blueprint name>` | 保存复制的剪贴板 | |
| `/acid setrank <player> <rank>` | 设置玩家在其岛屿上的等级 | |
| `/acid setrank <player> <rank> [island owner | x,y,z]` | 设置玩家在其岛屿上的等级 - 可在控制台使用;等级可以是关键词(member、sub-owner、trusted、coop)、名称或编号。指定所有者或中心坐标 x,y,z 来选择特定的岛屿 | |
| `/acid tp <player>` | 传送到玩家的岛屿 | `acidisland.mod.tp` |
| `/acid tpnether <player>` | 传送到玩家的下界岛屿 | `acidisland.mod.tp` |
| `/acid tpend <player>` | 传送到玩家的末地岛屿 | `acidisland.mod.tp` |
Expand Down
12 changes: 12 additions & 0 deletions docs/gamemodes/AcidIsland/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,18 @@ loot:

## 更新日志

??? note "v2.1.2 新内容 — Minecraft 26.3 上的硫磺喷口"
**发布于:** 2026-09-25

为 Minecraft 26.3 的 bug 修复版本。无配置或地区更改。兼容性:BentoBox API 3.14.0 · Minecraft 1.21.5 – 26.3(硫磺海和喷口需要 26.2+)· Java 21。

- 🐛 **硫磺喷口在 26.3 上完整生成。** 原版生物群系装饰在 AcidIsland 构建海洋之后运行,并覆盖了每个喷口帽,留下没有冒泡、气体或喷口的普通硫磺,加上每个喷口一个 `ServerInternalException ... PotentSulfurBlockEntity` 警告。喷口现在在装饰之后放置。
- ⚙️ `config.yml` 中 `deaths` 的注释现在解释哪些设置影响[等级](../../addons/Level/index.md) 2.29.0 下的岛屿等级。无设置或默认值更改。

🔺 **仅新生成的区块被修复。** 已在 26.3 上生成的区块中的喷口保持其普通帽。因为喷口现在放置得更晚,给定的种子在 2.1.1 中将喷口放置在不同的位置。

[发布 v2.1.2](https://github.com/BentoBoxWorld/AcidIsland/releases/tag/2.1.2)

!!! warning "v2.1.1 新内容 — 喷口从赌博改为交易(请删除 `geyser-loot.yml`)"
**发布于:** 2026-07-26

Expand Down
2 changes: 1 addition & 1 deletion docs/gamemodes/BSkyBlock/Commands.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
| `/bsbadmin bp save <blueprint name>` | 保存复制的剪贴板 | `bskyblock.admin.blueprint` |
| `/bsbadmin bp rename <blueprint name>` | 重命名蓝图 | `bskyblock.admin.blueprint` |
| `/bsbadmin setowner <player> [island owner]` | 将岛屿所有权转移给玩家;指定当前所有者即可从控制台运行 | `bskyblock.mod.team` |
| `/bsbadmin setrank <player> <rank>` | 设置玩家在其岛屿上的等级 | `bskyblock.admin.setrank` |
| `/bsbadmin setrank <player> <rank> [island owner | x,y,z]` | 设置玩家在其岛屿上的等级 - 可在控制台使用;等级可以是关键词(member、sub-owner、trusted、coop)、名称或编号。指定所有者或中心坐标 x,y,z 来选择特定的岛屿 | `bskyblock.admin.setrank` |
| `/bsbadmin setspawn` | 将世界生成位置设置为此位置 | `bskyblock.admin.setspawn` |
| `/bsbadmin top` | 显示前十名列表 - 需要等级插件 | `bskyblock.admin.top` |
| `/bsbadmin tp <player>` | 传送到玩家的岛屿 | `bskyblock.mod.tp` |
Expand Down
Loading
Loading