- #1
-
IP归属地
插件简介
Bolt 支持迁移(导入)LWC 和 Lockette 的数据,只需一条命令即可转换所有箱子锁。
- 支持保护任何方块或实体
- 兼容其他领地/区域保护插件
- 易于使用,重新设计的命令
- 可配置的保护类型和访问权限
- 高效的 SQLite 和 MySQL 存储选项
- 完整的 MiniMessage 格式化代码支持
- 有中文翻译
安装要求
- Spigot/Paper/Folia 或其分支:1.18 - 最新版
- Java:21 或更高版本
- 无前置插件
如何使用
plugins
文件夹后重启服务器即完成了安装。默认情况下,所有容器方块(箱子、发射器、熔炉等)、信标、门类方块(陷阱门等)和一些实体(拴绳、箱子矿车)等放下就会上锁。红石默认可以交互。
如何配置插件
YAML:
version: 0
language: en
settings:
use-action-bar: false
per-player-locale: true
database:
type: sqlite
hostname: ""
database: ""
username: ""
password: ""
prefix: ""
properties: [ ]
protections:
private:
default: true
require-permission: false
allows: [ "redstone" ]
display:
require-permission: false
allows: [ "redstone", "interact", "open" ]
deposit:
require-permission: false
allows: [ "redstone", "interact", "open", "deposit" ]
withdrawal:
require-permission: false
allows: [ "redstone", "interact", "open", "withdraw" ]
public:
require-permission: false
allows: [ "redstone", "interact", "open", "deposit", "withdraw", "mount" ]
access:
normal:
default: true
require-permission: false
allows: [ "redstone", "interact", "open", "deposit", "withdraw", "mount" ]
admin:
require-permission: true
allows: [ "redstone", "interact", "open", "deposit", "withdraw", "mount", "edit" ]
sources:
player:
require-permission: false
group:
require-permission: false
password:
require-permission: false
permission:
require-permission: true
blocks:
chest:
autoProtect: private
trapped_chest:
autoProtect: private
furnace:
autoProtect: private
blast_furnace:
autoProtect: private
smoker:
autoProtect: private
dispenser:
autoProtect: private
dropper:
autoProtect: private
barrel:
autoProtect: private
brewing_stand:
autoProtect: private
composter:
autoProtect: private
beacon:
autoProtect: private
jukebox:
autoProtect: private
note_block:
autoProtect: private
lectern:
autoProtect: private
chiseled_bookshelf:
autoProtect: private
hopper:
autoProtect: private
decorated_pot:
autoProtect: private
crafter:
autoProtect: private
'#shulker_boxes':
autoProtect: private
'#anvil':
autoProtect: private
'#cauldrons':
autoProtect: private
ender_chest:
autoProtect: public
'#standing_signs':
autoProtect: false
'#wall_signs':
autoProtect: false
'#all_hanging_signs':
autoProtect: false
'#doors':
autoProtect: false
'#trapdoors':
autoProtect: false
'#fence_gates':
autoProtect: false
'#banners':
autoProtect: false
entities:
armor_stand:
autoProtect: private
item_frame:
autoProtect: private
glow_item_frame:
autoProtect: private
painting:
autoProtect: private
leash_knot:
autoProtect: private
chest_boat:
autoProtect: private
chest_minecart:
autoProtect: private
furnace_minecart:
autoProtect: private
hopper_minecart:
autoProtect: private
机翻请注意。原文:https://github.com/pop4959/Bolt/wiki#configuration
配置
默认翻译语言。
目前内置支持仅限于英语,但是你可以创建自己的自定义翻译并在该值中使用。
[pre]
[/pre]
设置
[/pre]
数据库配置
[/pre]
保护类型
你可以在这里定义自己的或更改它们附带的权限。
目前有一些内置权限:
[/pre]
访问类型。
使用上述提到的相同权限类型。唯一的区别在于这些是在保护的ACL中使用的。用户的有效保护权限是保护类型的组合和任何额外的访问权限。例如,默认情况下没有保护类型允许用户编辑保护,但这可以通过使用 admin 访问类型来授予。
[pre]
[/pre]
源类型
这些是在编辑保护时的访问目标。
[pre]
[/pre]
方块
这是可保护方块的列表,以及放置后是否会被自动保护到某种类型。
参考 Material 获取有效的值。你也可以使用 方块标签,这对于将许多相似的方块归类到一个配置下非常有用。标签以 # 开头且必须加引号。
[pre]
[/pre]
实体
类似于方块,这里列出了任何可保护的实体及其生成时的默认保护类型。
参考 EntityType 获取有效的值。你也可以使用 实体类型标签,这对于将许多相似的实体归类到一个配置下非常有用。标签以 # 开头且必须加引号。
[pre]
[/pre]
门
此部分不是标准配置,通常出现在升级使用LWC的现有服务器时,其中在 doors.yml 中启用了门功能。它主要提供给服务器所有者和期望旧保护完全按照以前工作方式工作的玩家,以便更容易地切换到Bolt。
以下是配置中的门部分条目对应的设置:
[/pre]
特殊条目也会自动添加到配置的 access 和 sources 部分,由迁移工具使用,以支持之前在LWC中具有 autoclose 标志的保护。访问类型必须确切命名为 "autoclose" 并允许 auto_close 权限,而源必须确切命名为 "door"。通常建议不要给予玩家特殊门源类型的访问权限,而是为需要自动关闭的保护类型或访问类型添加 auto_close 权限
配置
默认翻译语言。
目前内置支持仅限于英语,但是你可以创建自己的自定义翻译并在该值中使用。
[pre]
代码:
language: en
设置
- use-action-bar: 如果启用,动作消息将显示在你的操作栏而不是聊天框中。
- per-player-locale: 如果启用,玩家将接收本地化消息,而不是通过 language 配置选项设置的语言,前提是可用。
- default-modes: 默认启用的玩家模式列表。
代码:
settings:
use-action-bar: false
per-player-locale: true
default-modes: []
数据库配置
- 类型是数据库类型;可以是 sqlite(推荐)或 mysql。
- 路径是数据库文件的路径(仅限 SQLite)。
- 主机名是要连接的主机名,以及可选的端口(仅限 MySQL)。
- 数据库是数据库名称(仅限 MySQL)。
- 用户名是数据库登录用户名(仅限 MySQL)。
- 密码是数据库登录密码(仅限 MySQL)。
- 前缀是数据库表前缀。
- 属性是一系列用于连接的可选连接属性(仅限 MySQL)。
代码:
database:
type: sqlite
path: plugins/Bolt/bolt.db
hostname: ""
database: ""
username: ""
password: ""
prefix: ""
properties: [ ]
保护类型
你可以在这里定义自己的或更改它们附带的权限。
目前有一些内置权限:
- interact 允许与保护进行交互
- open 允许打开容器或菜单
- deposit 允许将物品放入容器
- withdraw 允许从容器中取出物品
- mount 允许骑乘受保护的实体
- redstone 允许对保护使用红石
- edit 允许编辑保护的ACL
- destroy 允许破坏(字面意义上,通过破坏/击杀,或解锁)保护
- entity_interact 允许实体与保护进行交互
- entity_break_door 允许实体破坏保护的门
代码:
protections:
private:
require-permission: false
allows: [ "redstone" ]
display:
require-permission: false
allows: [ "redstone", "interact", "open" ]
deposit:
require-permission: false
allows: [ "redstone", "interact", "open", "deposit" ]
withdrawal:
require-permission: false
allows: [ "redstone", "interact", "open", "withdraw" ]
public:
require-permission: false
allows: [ "redstone", "interact", "open", "deposit", "withdraw", "mount" ]
访问类型。
使用上述提到的相同权限类型。唯一的区别在于这些是在保护的ACL中使用的。用户的有效保护权限是保护类型的组合和任何额外的访问权限。例如,默认情况下没有保护类型允许用户编辑保护,但这可以通过使用 admin 访问类型来授予。
[pre]
代码:
access:
normal:
require-permission: false
allows: [ "redstone", "interact", "open", "deposit", "withdraw", "mount" ]
admin:
require-permission: true
allows: [ "redstone", "interact", "open", "deposit", "withdraw", "mount", "edit" ]
源类型
这些是在编辑保护时的访问目标。
[pre]
代码:
sources:
player:
require-permission: false
group:
require-permission: false
password:
require-permission: false
permission:
require-permission: true
方块
这是可保护方块的列表,以及放置后是否会被自动保护到某种类型。
参考 Material 获取有效的值。你也可以使用 方块标签,这对于将许多相似的方块归类到一个配置下非常有用。标签以 # 开头且必须加引号。
[pre]
代码:
blocks:
chest:
autoProtect: private
lockPermission: false
autoProtectPermission: false
'#shulker_boxes':
autoProtect: private
...
实体
类似于方块,这里列出了任何可保护的实体及其生成时的默认保护类型。
参考 EntityType 获取有效的值。你也可以使用 实体类型标签,这对于将许多相似的实体归类到一个配置下非常有用。标签以 # 开头且必须加引号。
[pre]
代码:
entities:
armor_stand:
autoProtect: private
...
门
此部分不是标准配置,通常出现在升级使用LWC的现有服务器时,其中在 doors.yml 中启用了门功能。它主要提供给服务器所有者和期望旧保护完全按照以前工作方式工作的玩家,以便更容易地切换到Bolt。
以下是配置中的门部分条目对应的设置:
- open-iron 等同于 enabled;如果玩家应该能够徒手打开锁定的铁门。
- open-double 等同于 doubleDoors;如果锁定的双门应一起打开。
- close-after 等同于 interval;开门后多少秒自动关闭。
- fix-plugins 是一项实验性设置,尝试修复插件与门的交互。例如,在WorldGuard区域中玩家没有权限的情况下,与双门或铁门交互以打开它们。请注意这可能会有意外的副作用,因此使用时要谨慎。
代码:
doors:
open-iron: false
open-double: false
close-after: 3
特殊条目也会自动添加到配置的 access 和 sources 部分,由迁移工具使用,以支持之前在LWC中具有 autoclose 标志的保护。访问类型必须确切命名为 "autoclose" 并允许 auto_close 权限,而源必须确切命名为 "door"。通常建议不要给予玩家特殊门源类型的访问权限,而是为需要自动关闭的保护类型或访问类型添加 auto_close 权限
LWC 用户迁移指南
Bolt 包含了 Bolt 和 LWC 数据库格式之间的转换。如果你目前正在使用 LWC,转换到 Bolt 非常简单,并且如果一切不如预期,切换回 LWC 也非常容易。
转换应该是安全的,但请负起责任,在继续之前备份你的数据库,以防万一。
请注意:
LWC -> Bolt
Bolt -> LWC
重要:如果你因问题或缺少功能暂时卸载,请通过 提交问题 或在 Bolt Discord 上发帖告知我们。我们的目标是解决任何阻止你完全切换到 Bolt 的问题。
Lockette 用户迁移指南
Bolt 包括了对 Lockette 以及其他分支如 Deadbolt、LockettePro 和 BlockLocker 的转换。如果你正在使用这些插件之一,切换到 Bolt 非常简单,并且你的现有告示牌将保留原位,以防你随时想切换回去。
转换应该是安全的,但请负起责任,在继续之前备份你的世界,以防万一。
请注意:
Lockette -> Bolt
Bolt -> Lockette
Bolt 包含了 Bolt 和 LWC 数据库格式之间的转换。如果你目前正在使用 LWC,转换到 Bolt 非常简单,并且如果一切不如预期,切换回 LWC 也非常容易。
转换应该是安全的,但请负起责任,在继续之前备份你的数据库,以防万一。
请注意:
- 如果你使用了 LWC 信任插件,安装时会自动迁移这些数据。
- 如果你有不在默认配置中的可保护方块,安装时这些方块会自动复制到 Bolt 的配置中。
- 如果你有受保护的实体,根据你的世界大小,转换这些实体可能需要一些时间。系统会提示你单独转换这些实体。
LWC -> Bolt
- 确保两个插件都已安装
- 使用命令 /bolt admin convert lwc 将你的 LWC 数据转换到 Bolt
- 卸载 LWC 并重启服务器
- 不要删除你的 lwc.db 文件,因为如果你决定切换回去,这个文件仍然有用
Bolt -> LWC
重要:如果你因问题或缺少功能暂时卸载,请通过 提交问题 或在 Bolt Discord 上发帖告知我们。我们的目标是解决任何阻止你完全切换到 Bolt 的问题。
- 确保两个插件都已安装
- 使用命令 /bolt admin convert bolt 将你的 Bolt 数据转换回 LWC
- 卸载 Bolt 并重启服务器
- 不要删除你的 bolt.db 文件,因为如果你决定切换回去,这个文件仍然有用
Lockette 用户迁移指南
Bolt 包括了对 Lockette 以及其他分支如 Deadbolt、LockettePro 和 BlockLocker 的转换。如果你正在使用这些插件之一,切换到 Bolt 非常简单,并且你的现有告示牌将保留原位,以防你随时想切换回去。
转换应该是安全的,但请负起责任,在继续之前备份你的世界,以防万一。
请注意:
- 与 LWC 迁移不同,从 Lockette 转换数据可能需要非常长的时间。这是因为 Lockette 没有数据库,Bolt 需要扫描整个世界寻找告示牌并加载那些区块以重建这些方块的保护数据。只需让它运行,最终会完成。在迁移过程中继续使用服务器应该是安全的。
Lockette -> Bolt
- 使用以下命令之一将你的 Lockette 数据转换到 Bolt,具体取决于你使用的是哪个插件:
- /bolt admin convert lockette
- /bolt admin convert deadbolt
- /bolt admin convert lockettepro
- /bolt admin convert blocklocker
- 如果你还没有卸载 Lockette,请卸载并重启服务器
Bolt -> Lockette
- 重新安装 Lockette
- 放回任何在迁移到 Bolt 后被移除的告示牌(如果适用)
命令和权限
命令名 | 用法 | 描述 | 权限 |
---|---|---|---|
锁定 | `/bolt lock [type]` (别名: `/lock [type]`) | 锁定某物。可选提供一个保护类型来锁定(默认为私有)。 | `bolt.command.lock` |
解锁 | `/bolt unlock` (别名: `/unlock`) | 解锁某物。 | `bolt.command.unlock` |
编辑 | `/bolt edit (add|remove) <player>` | 编辑保护,以添加或移除玩家的访问权限。 | `bolt.command.edit` |
修改 | `/bolt modify (add|remove) <access> <source-type> <sources...>` | 向保护的访问控制列表(ACL)中添加或移除带有给定访问权限的来源。 | `bolt.command.modify` |
玩家组 | `/bolt group (create|delete|add|remove|list) <group> [players...]` | 管理自定义玩家组,这些组可以在访问控制列表(ACL)中使用。 | `bolt.command.group` |
信任 | `/bolt trust (add|remove) <source-type> <source> [access]` | 提示、列出或确认对信任访问列表的更改。 | `bolt.command.trust` |
转让 | `/bolt transfer <player>` | 将你拥有的保护转让给其他玩家。 | `bolt.command.transfer` |
密码 | `/bolt password <password>` | 输入密码以解锁设置了密码源的保护。 | `bolt.command.password` |
模式 | `/bolt mode <mode>` | 切换玩家模式。例如:持久、无锁、无垃圾信息。 | `bolt.command.mode` |
帮助 | `/bolt help [command]` | 显示帮助。 | `bolt.command.help` |
信息 | `/bolt info` | 显示保护信息。 | `bolt.command.info` |
清理 | `/bolt admin cleanup` | 清理数据库中不再实际存在于世界中的保护。这可能发生在使用其他插件如WorldEdit移除方块而不破坏它们的情况下。 | `bolt.command.admin.cleanup` |
转换 | `/bolt admin convert` 或 `/bolt admin convert back` | 将现有的LWC数据库转换为Bolt。参见迁移部分。 | `bolt.command.admin.convert` |
调试 | `/bolt admin debug` | 显示技术保护信息。 | `bolt.command.admin.debug` |
过期 | `/bolt admin expire <time> (seconds|minutes|hours|days)` | 移除一段时间内未被访问过的保护。 | `bolt.command.admin.expire` |
查找 | `/bolt admin find <player>` | 查找指定玩家的保护。 | `bolt.command.admin.find` |
刷新 | `/bolt admin flush` | 立即将所有保护更改保存到数据库。 | `bolt.command.admin.flush` |
清除 | `/bolt admin purge <player>` | 移除指定玩家的所有保护。 | `bolt.command.admin.purge` |
重载 | `/bolt admin reload` | 强制重新加载Bolt的配置,重新加载翻译,并更新保护类型、访问类型和保护匹配器。 | `bolt.command.admin.reload` |
报告 | `/bolt admin report [disable]` | 显示有关保护事件触发和缓存命中/未命中的技术信息。 | `bolt.command.admin.report` |
转移 | `/bolt admin transfer <player> [to]` | 强制将保护转移给指定玩家,或将某个玩家的所有保护转移到另一个玩家。 | `bolt.command.admin.transfer` |
权限 | 描述 | ||
`bolt.mod` | 允许玩家访问并查看所有保护的内容,但不能编辑或摧毁它们。 | ||
`bolt.admin` | 允许玩家绕过所有保护的ACL。对所有东西拥有有效的所有权。 | ||
`bolt.permission.<permission>` | 允许玩家绕过保护ACL上的特定权限。 | ||
`bolt.protection.notify` | 当与保护互动时通知玩家。 | ||
`bolt.protection.notify.self` | 当与自己的保护互动时通知玩家。 | ||
`bolt.type.protection.<type>` | 授予使用保护类型的权限(如果该类型设置为`require-permission: true`)。 | ||
`bolt.type.source.<type>` | 授予使用来源类型的权限(如果该类型设置为`require-permission: true`)。 | ||
`bolt.type.access.<type>` | 授予使用访问类型的权限(如果该类型设置为`require-permission: true`)。 | ||
`bolt.protection.autoprotect.<type>` | 授予自动保护保护的权限(如果该保护设置为`autoProtectPermission: true`)。 | ||
`bolt.protection.lock.<type>` | 授予锁定保护的权限(如果该保护设置为`lockPermission: true`)。 | ||
`bolt.command.info.full` | 授予使用信息命令查看完整信息包括访问列表的权限。 |
使用统计
更多
搬运催更 & 问题反馈:快速响应问卷 或在下方留下评论。
- 内容版权许可
- 作者保留一切权利,禁止转载
最后编辑: