NekoList (Whitelist)
Advanced whitelist management system with Discord integration and multi-language support
Quick challenge
How far can you run before the mobs catch you?
Minecraft check
Confirm your run
Complete the quick check to get your code.
NekoList (Whitelist)
NekoList
A modern whitelist plugin with database support, Folia compatibility, and Discord integration.
[<kbd>
🇺🇸 English (US) [Current]
</kbd>](https://github.com/hanamuramiyu/NekoList/blob/main/README.md) | <kbd>
🇯🇵 日本語 (ja-JP)
</kbd> | <kbd>
🇨🇳 简体中文 (zh-CN)
</kbd>
✨ Features
🗄️ Database & Storage
- Data Persistence: Use either file-based storage or MySQL/MariaDB databases - Data Persistence: Seamlessly switches to file storage if database connection fails - Data Persistence: Guaranteed data integrity across server restarts and plugin reloads
⚡ Performance & Compatibility
- Java 21: Full compatibility with Folia servers using adaptive schedulers - Java 21: MiniMessage support for rich text formatting with `<color>` tags - Java 21: Built with the latest Java for optimal performance and security
🔐 Security & Management
- Role-Based Permissions: Advanced player verification using UUIDs with nickname fallback - Role-Based Permissions: Automatic player data synchronization on login - Role-Based Permissions: Efficient database connections using HikariCP - Role-Based Permissions: Granular Discord permission control with user and role whitelists
---
🚀 Installation
System Requirements
- Bukkit/Paper/Purpur/Folia or higher - Bukkit/Paper/Purpur/Folia or higher - Bukkit/Paper/Purpur/Folia server
Installation Steps:
1. Download the latest `.jar` file from Modrinth or GitHub Releases 2. Place the `.jar` file into your server's `plugins` folder 3. Start or restart your server 4. Configure `plugins/NekoList/config.yml` as needed
---
⚙️ Configuration
Basic Setup
```yaml
NekoList Configuration v2.0.0
language: "en-US"
Available languages: en-US, en-GB, es-ES, es-419, ja-JP, ru-RU, uk-UA, zh-CN, zh-TW
Database settings
database: type: "file" # "file" or "mysql" mysql: host: "localhost" port: 3306 database: "minecraft" username: "username" password: "password" table: "whitelist" use-ssl: false connection-timeout: 30000
Discord Bot settings
discord-bot: enabled: false token: "YOUR_BOT_TOKEN_HERE" allowed-roles: [] allowed-users: [] ```
---
🔧 Commands & Permissions
In-Game Commands (`/whitelist`)
- `/whitelist help` - Show available commands - `/whitelist on` - Enable the whitelist - `/whitelist off` - Disable the whitelist - `/whitelist list` - List whitelisted players - `/whitelist add <player>` - Add a player to whitelist - `/whitelist remove <player>` - Remove a player from whitelist - `/whitelist reload` - Reload configuration
Permission Nodes: - `nekolist.use` - Use whitelist commands - `nekolist.bypass` - Bypass whitelist checks - `nekolist.admin` - Full administrative access
Discord Slash Commands
- `/ping` - Check bot latency - `/whitelist add <player>` - Add player to whitelist - `/whitelist remove <player>` - Remove player from whitelist - `/whitelist list` - List whitelisted players - `/whitelist status` - Check whitelist status - `/whitelist reload` - Reload plugin configuration
---
🚨 Important Notes for v2.0.0
⚠️ Breaking Changes
1. Configuration Updates: v2.0.0+ only supports Bukkit, Paper, Purpur, and Folia servers 2. Configuration Updates: Language files now use `<color>` tags instead of legacy `&` codes 4. Configuration Updates: Some config options have been restructured
🔄 Migration from v1.x
1. Update language files: Copy `plugins/NekoList/whitelist.yml` 2. Update language files: Convert `&` codes to MiniMessage format: ```yaml
Old format (v1.x)
player-added: "&aPlayer %player% has been added to whitelist."
New format (v2.0.0)
player-added: "<green>Player %player% has been added to whitelist." ``` 3. Velocity Users: Continue using v1.2.1 for Velocity compatibility
---
🌐 Adding New Languages
1. Navigate to `plugins/NekoList/lang/` directory 2. Copy `en-US.yml` as a template 3. Rename to your language code (e.g., `fr-FR.yml`, `de-DE.yml`) 4. Translate all values using MiniMessage format (`<color>` tags) 5. Update `language` setting in `config.yml`
Bold text - `<red>` - Red text - `<green>` - Green text - `<yellow>` - Yellow text - `<gray>` - Gray text - `<gold>` - Gold text - `<bold>` - Bold text
---
🏗️ Building from Source
```bash
Clone repository
git clone https://github.com/hanamuramiyu/NekoList.git cd NekoList
Build plugin
./gradlew build
Output file: build/libs/NekoList-2.0.0.jar
```
Requirements: - Java 21 JDK - Gradle 9.2.0+
---
🤝 Contributing
Contributions are welcome! Please follow these steps: 1. Fork the repository 2. Create a feature branch 3. Make your changes 4. Submit a Pull Request
Please ensure your code follows the existing style and includes appropriate tests.
---
🐛 Issue Reporting
Found a bug or have a feature request? Please: 1. Check existing Issues 2. Create a new issue with clear description 3. Include server logs and configuration details 4. Specify your server type and version
---
📄 License
This project is licensed under the MIT License - see the LICENSE file for details.
---
Made with ❤️ by Hanamura Miyu
*Looking for Velocity support? Use v1.2.1 for Velocity compatibility.*