AccessPass

一个简单的 PaperMC 插件,除非拥有权限,否则阻止玩家穿越自定义世界边界(X/Z)。包含语言自动检测(俄语/英语),配置文件重新加载,方块交互保护以及可定制的消息。

资源图片
# AccessPass 2.0 - 高级访问控制系统
**🚀 为 Minecraft 服务器提供的强大访问控制插件** [![Minecraft 版本](https://img.shields.io/badge/Minecraft-1.8.9--1.21.8-green.svg)](https://modrinth.com/mod/accesspass) [![服务器类型](https://img.shields.io/badge/Server-Paper%20%7C%20Spigot%20%7C%20Folia-blue.svg)](https://modrinth.com/mod/accesspass) [![Java 版本](https://img.shields.io/badge/Java-17+-orange.svg)](https://modrinth.com/mod/accesspass) [![许可证](https://img.shields.io/badge/License-MIT-yellow.svg)](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 制作** [![GitHub](https://img.shields.io/badge/GitHub-Profile-blue.svg)](https://github.com/Sqrilizz)