AccessPass
A simple PaperMC plugin that blocks players from crossing custom world borders (X/Z) unless they have permission. Includes language auto-detection (RU/EN), config reload, block interaction protection, and customizable messages.
AccessPass
AccessPass 2.0 - Advanced Access Control System
<div align="center">
🚀 Powerful access control plugin for Minecraft servers
</div>
---
✨ Features
🔒 Core Access Control
- Sound & Visual Effects: Restrict player access to specific coordinates - Sound & Visual Effects: Russian and English with auto-detection - Sound & Visual Effects: Granular permissions for different access levels - Sound & Visual Effects: Customizable notifications and feedback
🆕 New in Version 2.0
🎫 Temporary Passes
- Issue time-limited access passes to players - Flexible duration system (seconds, minutes, hours, days) - Automatic cleanup of expired passes - JSON database for persistent storage
🗺️ Zone Management
- Create multiple custom zones with different settings - Priority-based zone system - Override global boundaries with specific zones - Easy zone creation and management
🖥️ GUI Interface
- User-friendly management interface - Real-time statistics and monitoring - Quick access to all plugin features - Visual zone and pass management
🔌 Developer API
- Full API for other plugins - Easy integration with existing systems - Comprehensive documentation - Example implementations
---
🛠️ Installation
Requirements
- Java: 1.8.9 - 1.21.8 - Java: Paper, Spigot, or Folia - Java: 17 or higher
Quick Setup
1. Download the JAR file 2. Place it in your `plugins/` folder 3. Start/restart your server 4. Configure in `plugins/AccessPass/config.yml`
---
📋 Commands
Basic Commands
| Command | Description | Permission | |---------|-------------|------------| | `/accesspass reload` | Reload configuration | `accesspass.admin` | | `/accesspass setlimit <X> <Z> <minX> <minZ>` | Set global boundaries | `accesspass.admin` | | `/accesspass info` | Plugin information | `accesspass.admin` |
New Commands (v2.0)
| Command | Description | Permission | |---------|-------------|------------| | `/accesspass gui` | Open management GUI | `accesspass.gui` | | `/accesspass temp <player> <time>` | Grant temporary pass | `accesspass.temp` | | `/accesspass zone <name> <x1> <z1> <x2> <z2>` | Create zone | `accesspass.zone` |
Usage Examples
```bash
Grant 1-hour temporary pass
/accesspass temp Player123 1h
Grant 30-minute temporary pass
/accesspass temp Player123 30m
Create spawn zone
/accesspass zone spawn -100 -100 100 100
Open management GUI
/accesspass gui ```
---
🔐 Permissions
Core Permissions
- `accesspass.bypass` - Bypass all restrictions - `accesspass.admin` - Full administrative access
New Permissions (v2.0)
- `accesspass.gui` - Access management GUI - `accesspass.temp` - Grant temporary passes - `accesspass.zone` - Manage zones
---
⚙️ Configuration
Global Boundaries
```yaml limits: global: limitX: 1000 # Maximum X coordinate limitZ: 1000 # Maximum Z coordinate minX: -1000 # Minimum X coordinate minZ: -1000 # Minimum Z coordinate enabled: true # Enable global boundaries ```
Temporary Passes
```yaml temporaryPasses: enabled: true defaultDuration: 3600 # 1 hour default maxDuration: 86400 # 24 hours maximum cleanupInterval: 300 # Cleanup every 5 minutes ```
Zones
```yaml limits: zones: spawn: enabled: true x1: -100 z1: -100 x2: 100 z2: 100 priority: 1 ```
GUI Settings
```yaml gui: enabled: true title: "AccessPass Management" size: 27 updateInterval: 20 ```
---
🔌 API Usage
Basic Integration
```java // Check player access if (AccessPassAPI.hasAccess(player, location)) { // Allow action }
// Grant temporary pass AccessPassAPI.grantTemporaryPass(player.getUniqueId(), 3600);
// Create zone AccessPassAPI.createZone("myzone", -100, -100, 100, 100, 1);
// Check boundaries if (AccessPassAPI.isOutOfBounds(location)) { // Location is out of bounds } ```
Available API Methods
- `hasAccess(Player, Location)` - Check player access - `grantTemporaryPass(UUID, long)` - Grant temporary pass - `hasValidTemporaryPass(UUID)` - Check pass validity - `createZone(String, int, int, int, int, int)` - Create zone - `isOutOfBounds(Location)` - Check boundary violation - `getActivePassCount()` - Get active pass count
---
🌟 Key Features
🚀 Performance Optimized
- Efficient boundary checking algorithms - Configurable performance settings - Minimal impact on server performance - Smart caching and cleanup systems
🔧 Highly Configurable
- Extensive configuration options - Customizable messages and effects - Flexible permission system - Multiple language support
🛡️ Server Compatibility
- Legacy: Full support with modern features - Legacy: Complete compatibility - Legacy: Native multi-threading support - Legacy: Backward compatibility (1.8.9+)
📊 Monitoring & Analytics
- Real-time statistics - Performance metrics - Debug logging options - GUI monitoring interface
---
🎯 Use Cases
🏠 Spawn Protection
- Protect spawn areas from griefing - Create safe zones for new players - Manage spawn boundaries easily
🏪 Shop Areas
- Restrict access to premium areas - Create VIP zones with temporary access - Manage commercial areas
🎮 Event Management
- Temporary access for events - Zone-based event areas - Time-limited access control
🛡️ Server Security
- Prevent unauthorized access - Manage player permissions - Control territory access
---
🤝 Support
📞 Getting Help
- Suggestions: Report bugs on GitHub - Suggestions: Ask in discussions - Suggestions: Submit feature requests
📚 Resources
- Webpage: Webpage - Webpage: %%MD1%% ---
<div align="center">
Made with ❤️ by Sqrilizz
</div>