Added - Comprehensive configuration system (`config.yml`)
- ConfigManager class for centralized configuration management
- Granular permission system with individual troll effect permissions
- Cooldown system (global, per-admin, per-target)
- Protection system:
- Exempt players list - Admin protection - Bypass permission protection - World blacklist/whitelist support - TrollEffectManager for managing cooldowns and protections
- Enhanced command system:
- `/troll help` command - `/troll reload` command - Tab completion - MessageUtils for consistent message formatting
- bStats metrics integration
- Update checker system
- Professional logging system
- Enhanced GUI with configurable items and descriptions
- Configurable effect durations and intensities:
- Rocket velocity multiplier - Freeze duration and effect levels - Beyblade rotation speed and duration - LSD duration, effect levels, and particle intervals - Animal spawn count, radius, and duration - Fake message timeout and warning delay - Proper task management and cleanup on plugin disable
- Thread-safe collections (ConcurrentHashMap, ConcurrentHashSet)
- Memory leak prevention
- Comprehensive documentation (README.md)
- JavaDoc comments on all public methods
Changed - Version bumped from 1.0.0 to 2.0.0
- Refactored code structure for better organization
- All hardcoded strings moved to config.yml
- All troll effects made configurable
- Improved error handling throughout the plugin
- Enhanced plugin metadata in plugin.yml
- Better plugin description and metadata
- Improved task cleanup on disable/reload
- Optimized particle and effect rendering
Fixed - Memory leaks from uncancelled tasks
- Thread safety issues with collections
- Proper cleanup when players disconnect
- GUI title parsing issues
- Effect duration handling for infinite effects
Security - Added permission checks for each troll effect
- Protection against trolling protected players
- Cooldown system to prevent abuse
- World restriction support