# Locktight - 高级箱子保护与安全系统
**Locktight** 将箱子安全从一个简单的保护机制转变为一个引人入胜的、战略性的游戏元素,增强了注重安全的服务器和突袭式服务器体验。
**_此插件仍在开发中,当前仅在 ALPHA 版本中提供,以通过社区反馈来帮助开发。 如果出现问题,请务必先运行最新版本,然后在 Discord 的 #PLUGIN-HELP 中报告问题。_**
## 概述
Locktight 是一个综合性的箱子保护插件,旨在为地界索要内的箱子提供额外的安全层,同时为各种服务器类型提供灵活性。 Locktight 非常适合基于地界索要和突袭式服务器,提供复杂的箱子锁定机制、可配置的信任系统以及引人入胜的开锁游戏元素。
## 使用方法
- 简单地看着你想要锁定的箱子并执行 /chest lock 指令
- 通过执行 /chest shop 指令购买开锁器和锁增强
- **_从 1.0.6 版本开始,箱子放置时会自动锁定 (可配置)_**
## ⚙️ 配置
### 主配置 (`config.yml`)
```yaml
# 通用设置
general:
# 玩家放置时自动锁定箱子
auto_lock_on_place: true
# 启动时检查更新
check_updates: true
# 临时访问持续时间(从开锁中)
temporary_access_seconds: 60
# 购买后关闭商店 GUI
close_gui_after_purchase: false
# 箱子锁失效设置
chest_lock_expiration_days: 14
# 检查过期箱子锁的频率(以小时为单位,默认:6 小时)
# 注意:这是一个安全措施 - 箱子锁会在过期时立即删除
# 此定期清理确保数据库健康并处理任何边缘情况
chest_lock_cleanup_interval_hours: 6
# 为故障排除启用调试日志记录
debug_enabled: false
# 开锁系统设置
lockpicking:
# 启用/禁用开锁系统
enabled: true
# 不同开锁器等级的成功率(以小数表示)
success_rates:
weak: 0.005 # 0.5% 的成功率
medium: 0.05 # 5% 的成功率
advanced: 0.1 # 10% 的成功率
professional: 0.3 # 30% 的成功率
mythical: 1.0 # 100% 的成功率
# 提醒系统设置
alerts:
enabled: true
default_enabled: true
# 锁增强系统设置
reinforcement:
# 启用/禁用锁增强系统
enabled: true
# 锁防止开锁抵抗力百分比增加(以小数表示)
resistance_increase: 0.05
# 可以应用于单个箱子的最大增强数量
max_reinforcements: 8
# 开锁尝试次数再达到增强件失效
attempts_per_degradation: 5
# GriefDefender 集成设置
griefdefender:
# 允许地界索要所有者解锁/访问其地界索要内的任何锁定箱子
allow_claim_owner_unlock_all: true
# 可以锁定地界索要中箱子的信任类型
allowed_trust_types:
- "BUILDER"
- "CONTAINER"
- "MANAGER"
# 允许在荒地地区(未索要土地)锁定箱子
allow_wilderness_locking: true
# 经济设置 (需要 Vault)
economy:
# 消息中的货币符号
currency_symbol: "$"
```
### 消息 (`messages.yml`)
自定义所有插件消息、颜色和格式。
### GUI 配置 (`gui.yml`)
配置商店外观、颜色和物品布局。
## 主要功能
### 🛡️ 增强的地界索要安全
Locktight 与 GriefDefender 无缝集成,在标准地界索要信任之外提供第二层保护。 即使是拥有地界索要访问权限的玩家,除非通过 /chest trust 命令明确信任,否则无法自动打开锁定的箱子。 这确保了即使是信任的玩家也必须被明确授权才能访问单个箱子。
### 🔐 智能箱子锁定
- **仅限所有者访问**: 锁定的箱子完全安全,不受未经授权的访问
- **不可破坏的保护**: 用手打破或爆炸物摧毁都无法破坏锁定的箱子
- **地界索要集成**: 尊重现有的地界索要边界和信任级别
- **可配置的权限**: 服务器所有者可以定义哪些信任级别(CONTAINER、BUILDER、MANAGER)可以在地界索要中锁定箱子
### 🎯 先进的信任管理
该插件的复杂信任系统允许地界索要所有者完全控制他们的锁定箱子,同时允许信任的玩家在其地界索要内创建自己的安全存储。 这在安全和协作并存的情况下,创造了一个平衡的生态系统。
### 🎮 引人入胜的开锁系统
非常适合突袭式服务器,Locktight 具有可配置的开锁机制,为箱子安全增加了兴奋感和策略:
- **多个等级**: 弱,中等,高级,专业和神话开锁器
- **可配置的成功率**: 服务器所有者可以平衡游戏玩法和安全
- **游戏内商店**: 玩家可以使用 Vault 经济集成购买开锁器
- **增强系统**: 箱子所有者可以加强锁以降低开锁成功率
### ⚙️ 灵活的配置
Locktight 适应各种服务器环境:
- **基于地界索要的服务器**: 在现有的地界索要系统中提供增强的安全
- **突袭式服务器**: 可配置的荒地锁定和开锁机制
- **混合服务器**: 平衡 protection 和 raiding 游戏元素
## 服务器类型
### 🏰 基于地界索要的保护服务器
对于使用 GriefDefender 的服务器,Locktight 无缝集成以提供一个额外的安全层,同时尊重现有的地界索要边界,并添加箱子特定的保护。 该插件会自动检测地界索要所有权,尊重信任级别,并确保具有适当地界索要权限(可配置)的玩家可以在其信任区域内锁定箱子。 这在土地保护和箱子安全之间创造了和谐的关系。
### ⚔️ 突袭式服务器
非常适合没有地界索要系统的服务器, Locktight 提供荒地箱子锁定和引人入胜的开锁系统,增强了突袭游戏玩法。
### 🔄 混合服务器
服务器可以配置 Locktight 以平衡 protection 和 raiding 元素,创建一个动态的环境,其中安全和冒险并存。 比如说你有一个管理地界索要需要公共箱子访问,但你希望将某些物品保持为仅管理员访问。 锁定一个箱子,一切搞定。
## 技术特性
- **SQLite 数据库**: 可靠的数据存储用于箱子锁和信任关系
- **Vault 集成**: 用于开锁器商店的无缝经济集成
- **GriefDefender API**: 直接集成以获得最佳性能和兼容性
- **可配置的过期时间**: 自动清理废弃的箱子锁
- **双箱子支持**: 自动处理连接的箱子存储
## 优势
- **增强的安全**: 除了标准地界索要系统之外,还提供额外的保护层
- **平衡的游戏玩法**: 不会完全损害服务器动态的安全功能
- **玩家参与**: 交互式开锁系统增加了兴奋感
- **服务器灵活性**: 适应各种服务器类型和游戏风格
- **专业品质**: 坚固、经过良好测试的代码库,具有全面的功能
## 🔑 权限与指令
### 所有权限节点
| 权限 | 描述 | 默认 | 访问 |
|------------|-------------|---------|---------|
| `locktight.use` | 基本箱子操作 + 检查和删除自己的箱子 | `true` | 所有玩家 |
| `locktight.shop` | 访问开锁器商店 | `true` | 所有玩家 |
| `locktight.lockpick` | 使用开锁器在箱子上 | `op` | 管理员仅限 |
| `locktight.lockpickget` | 通过命令获取开锁器物品 | `op` | 管理员仅限 |
| `locktight.reload` | 重新加载插件配置 | `op` | 管理员仅限 |
| `locktight.cleanup` | 手动触发清理 | `op` | 管理员仅限 |
| `locktight. *` | 所有插件功能的通配符权限 | `op` | 管理员仅限 |
| `locktight.bypass` | 绕过所有箱子锁和限制 + 检查任何箱子 | `op` | 管理员仅限 |
### 所有指令
| 指令 | 描述 | 权限 |
|---------|-------------|------------|
| `/chest lock` | 锁定箱子 | `locktight.use` |
| `/chest unlock` | 解锁你的箱子 | `locktight.use` |
| `/chest trust ` | 在箱子上信任玩家 | `locktight.use` |
| `/chest delete` | 删除箱子数据 | `locktight.use` (自己的) 或 `locktight.bypass` (任何) |
| `/chest inspect` | 检查任何箱子 | `locktight.use` (自己的) 或 `locktight.bypass` (任何) |
| `/chest shop` | 打开开锁器商店 | `locktight.shop` |
| `/chest reload` | 重新加载配置 | `locktight.reload` |
| `/chest cleanup` | 清理过期锁 | `locktight.cleanup` |
| `/chest lockpick` | 使用开锁器在箱子上 | `locktight.lockpick` |
| `/chest lockpickget ` | 获取开锁器物品 | `locktight.lockpickget` |
### 权限逻辑说明
- **检查指令**: 具有 `locktight.use` 的玩家可以检查自己的箱子,具有 `locktight.bypass` 的玩家可以检查任何箱子
- **删除指令**: 具有 `locktight.use` 的玩家可以删除自己的箱子,具有 `locktight.bypass` 的玩家可以删除任何箱子
- **绕过权限**: `locktight.bypass` 覆盖所有限制并允许完全访问任何箱子
---
### 待办事项
[x] 在配置中添加一个选项来启用/禁用开锁、强化和商店,每个选项都有自己的启用/禁用选项(启用: true/false)
[x] 添加一个世界黑名单功能,防止在列出的世界中锁定箱子。 排除管理锁,管理员锁应能够在任何地方由 op 或具有权限的玩家放置
[x] 在配置中添加一个选项,用于插件声音效果(铁砧和村民无声)。
[x] 使具有 locktight.bypass 权限节点的玩家的锁永不过期(添加到配置 enable: true/false)
[x] 添加 lockpickget 选项,其中您可以向具有标签补全的玩家提供开锁器,并为其创建一个新的权限节点:locktight.lockpickget.other
[x] 添加数量到 lockpickget 命令,(/chest lockpickget 64)
[x] 添加可用于执行者拥有锁的开锁尝试提醒子命令。
[ ] 创建信任组(例如:Admin 组),以便您可以信任具有 blocktight.admin 权限的任何玩家通过 /chest trustgroup 访问锁
[?] 创建可锁定的门、按钮、压力板、活板门(配置启用/禁用)
[ ] 允许锁定端箱(配置启用/禁用)
[ ] 允许锁定桶(配置启用/禁用)
[ ] 在配置中添加一个选项,即开锁箱会绕过 griefdefender 索要“chest-access: false”标志。添加到配置启用:true/false
所有建议欢迎!