All versions
2.0-refactor
Release
Top GUI, PlaceholderAPI & Admin Commands [Internal Refactor]10 months ago 270
Compatibility
Minecraft: Java Edition
1.21.x
Platforms
Bukkit
Paper
Purpur
Spigot
Changes
FirstJoinRewards v2.0 – Major Update! 🚀
✨ New Features
🏆 Top Welcomers GUI
- Beautiful inventory GUI with player heads podium
- Top 3 players displayed with gold/silver/bronze styling
- Personal statistics button
- Fully configurable in
gui.yml - Command:
/fjr top
🔌 PlaceholderAPI Integration
- Full PlaceholderAPI support with 10+ placeholders
%fjr_welcomes%,%fjr_rank%,%fjr_top_X_name%,%fjr_top_X_count%%fjr_total_welcomes%,%fjr_total_players%- Use external placeholders IN your FJR messages!
🛠️ Admin Commands
/fjr admin reset <player>- Reset player's welcomes/fjr admin set <player> <count>- Set welcome count/fjr admin add <player> <count>- Add welcomes/fjr admin remove <player> <count>- Remove welcomes/fjr admin resetall- Reset ALL statistics (dangerous!)
🎨 Enhanced Notifications
- Title announcements for new players
- Configurable sound effects
- Full MiniMessage support (gradients, hex colors)
📁 Separate Language Files
messages_en.yml- Englishmessages_pl.yml- Polish- Easy to add custom languages
🔧 Technical Changes
- Migrated to Paper API 1.21.4 (from Spigot)
- Adventure API for modern text components
- Async database operations for better performance
- ConcurrentHashMap for thread-safe session management
- Improved SQLite schema with indexes
- Tab completion for all commands
📋 New Commands
| Command | Description |
|---|---|
/fjr help |
Show all commands |
/fjr top |
Open Top Welcomers GUI |
/fjr stats [player] |
View statistics |
/fjr admin ... |
Admin controls |
⚠️ Breaking Changes
- Config structure changed (backup your old config!)
- Messages now in separate files (
messages_en.yml,messages_pl.yml) - Requires Paper/Purpur 1.21+ (no longer supports Spigot)
- Requires Java 21
🐛 Bug Fixes
- Fixed prefix not updating on reload
- Fixed session cleanup on plugin disable
- Improved Bedrock player name handling
Full Changelog: v1.3 → v2.0
Projects on Modrinth are automatically available through a Maven repository for use with JVM build tools such as Gradle. To learn more about the Modrinth Maven API, click here.
Note: When available, you should use the creator's maven repo instead as it will have transitive dependency information that the Modrinth Maven API does not. You may also end up with duplicate dependencies if you use a mix of Modrinth and non-Modrinth Maven repositories for your dependencies, because the group identifier will be different when served through the Modrinth Maven API.
Maven coordinates:
Version ID:
build.gradle:
repositories {
exclusiveContent {
forRepository {
maven {
name = "Modrinth"
url = "https://api.modrinth.com/maven"
}
}
// forRepositories(fg.repository) // Uncomment when using ForgeGradle
filter {
includeGroup "maven.modrinth"
}
}
}
// Standard Gradle dependency
dependencies {
implementation "maven.modrinth:eKPNWvhc:yY4mQxhG"
}
// Legacy Loom dependency
dependencies {
modImplementation "maven.modrinth:eKPNWvhc:yY4mQxhG"
}

