# AccessPass 2.0 - 高级访问控制系统
**🚀 为 Minecraft 服务器提供的强大访问控制插件**
[](https://modrinth.com/mod/accesspass)
[](https://modrinth.com/mod/accesspass)
[](https://modrinth.com/mod/accesspass)
[](https://modrinth.com/mod/accesspass)
---
## ✨ 特性
### 🔒 **核心访问控制**
- **区域保护**: 限制玩家对特定坐标的访问
- **多语言支持**: 俄语和英语,自动检测
- **权限系统**: 不同访问级别提供细粒度权限
- **声音和视觉效果**: 自定义通知和反馈
### 🆕 **2.0 版本新增**
#### 🎫 **临时通行证**
- 向玩家颁发限时访问通行证
- 灵活的持续时间系统(秒、分钟、小时、天)
- 自动清理过期通行证
- JSON 数据库用于持久化存储
#### 🗺️ **区域管理**
- 创建多个自定义区域,并设置不同的配置
- 基于优先级的区域系统
- 使用特定区域覆盖全局边界
- 轻松创建和管理区域
#### 🖥️ **GUI 界面**
- 用户友好的管理界面
- 实时统计和监控
- 快速访问所有插件功能
- 可视化区域和通行证管理
#### 🔌 **开发者 API**
- 其他插件的完整 API
- 易于与其他系统集成
- 全面的文档
- 示例实现
---
## 🛠️ 安装
### 要求
- **Minecraft**: 1.8.9 - 1.21.8
- **服务器类型**: Paper, Spigot 或 Folia
- **Java**: 17 或更高
### 快速设置
1. 下载 JAR 文件
2. 将它放入你的 `plugins/` 文件夹
3. 启动/重启你的服务器
4. 在 `plugins/AccessPass/config.yml` 中配置
---
## 📋 命令
### 基本命令
| 命令 | 描述 | 权限 |
|---------|-------------|------------|
| `/accesspass reload` | 重新加载配置 | `accesspass.admin` |
| `/accesspass setlimit
` | 设置全局边界 | `accesspass.admin` |
| `/accesspass info` | 插件信息 | `accesspass.admin` |
### 新命令 (v2.0)
| 命令 | 描述 | 权限 |
|---------|-------------|------------|
| `/accesspass gui` | 打开管理 GUI | `accesspass.gui` |
| `/accesspass temp <玩家> <时间>` | 授予临时通行证 | `accesspass.temp` |
| `/accesspass zone <名称> ` | 创建区域 | `accesspass.zone` |
### 使用示例
```bash
# 授予 1 小时临时通行证
/accesspass temp Player123 1h
# 授予 30 分钟临时通行证
/accesspass temp Player123 30m
# 创建出生点区域
/accesspass zone spawn -100 -100 100 100
# 打开管理 GUI
/accesspass gui
```
---
## 🔐 权限
### 核心权限
- `accesspass.bypass` - 绕过所有限制
- `accesspass.admin` - 完全的管理员访问权限
### 新权限 (v2.0)
- `accesspass.gui` - 访问管理 GUI
- `accesspass.temp` - 授予临时通行证
- `accesspass.zone` - 管理区域
---
## ⚙️ 配置
### 全局边界
```yaml
limits:
global:
limitX: 1000 # 最大 X 坐标
limitZ: 1000 # 最大 Z 坐标
minX: -1000 # 最小 X 坐标
minZ: -1000 # 最小 Z 坐标
enabled: true # 启用全局边界
```
### 临时通行证
```yaml
temporaryPasses:
enabled: true
defaultDuration: 3600 # 1 小时默认
maxDuration: 86400 # 24 小时最大
cleanupInterval: 300 # 每 5 分钟清理一次
```
### 区域
```yaml
limits:
zones:
spawn:
enabled: true
x1: -100
z1: -100
x2: 100
z2: 100
priority: 1
```
### GUI 设置
```yaml
gui:
enabled: true
title: "AccessPass 管理"
size: 27
updateInterval: 20
```
---
## 🔌 API 使用
### 基本集成
```java
// 检查玩家访问权限
if (AccessPassAPI.hasAccess(player, location)) {
// 允许操作
}
// 授予临时通行证
AccessPassAPI.grantTemporaryPass(player.getUniqueId(), 3600);
// 创建区域
AccessPassAPI.createZone("myzone", -100, -100, 100, 100, 1);
// 检查边界
if (AccessPassAPI.isOutOfBounds(location)) {
// 位置超出边界
}
```
### 可用的 API 方法
- `hasAccess(Player, Location)` - 检查玩家访问权限
- `grantTemporaryPass(UUID, long)` - 授予临时通行证
- `hasValidTemporaryPass(UUID)` - 检查通行证有效性
- `createZone(String, int, int, int, int, int)` - 创建区域
- `isOutOfBounds(Location)` - 检查边界违规
- `getActivePassCount()` - 获取活动通行证数量
---
## 🌟 主要特性
### 🚀 **性能优化**
- 高效的边界检查算法
- 可配置的性能设置
- 对服务器性能的影响最小
- 智能缓存和清理系统
### 🔧 **高度可配置**
- 广泛的配置选项
- 可定制的消息和效果
- 灵活的权限系统
- 多语言支持
### 🛡️ **服务器兼容性**
- **Paper**: 具有现代功能的全程支持
- **Spigot**: 完全兼容
- **Folia**: 原生多线程支持
- **旧版**: 兼容 (1.8.9+)
### 📊 **监控和分析**
- 实时统计
- 性能指标
- 调试日志记录选项
- GUI 监控界面
---
## 🎯 用例
### 🏠 **出生点保护**
- 保护出生点区域免受破坏
- 为新玩家创建安全区域
- 轻松管理出生点边界
### 🏪 **商店区域**
- 限制对高级区域的访问
- 创建具有临时访问权限的 VIP 区域
- 管理商业区域
### 🎮 **活动管理**
- 活动的临时访问权限
- 基于区域的活动区域
- 限时的访问控制
### 🛡️ **服务器安全**
- 阻止未经授权的访问
- 管理玩家权限
- 控制区域访问
---
## 🤝 支持
### 📞 **寻求帮助**
- **问题**: 在 GitHub 上报告错误
- **问题**: 在讨论中提问
- **建议**: 提交功能请求
### 📚 **资源**
- **GitHub**: [GitHub](https://github.com/Sqrilizz/AccessPass)
- **网页**: [Page](https://www.sqrilizz.xyz)
---
**用 ❤️ by Sqrilizz 制作**
[](https://github.com/Sqrilizz)