NDailyRewards rewards players for coming back to your server every day. Each day of the streak has its own reward and its own slot in a configurable menu, a missed day resets the streak, and every reward is a list of actions: console and player commands, messages, titles, sounds and chance-based drops.
โ๏ธ Features
๐ Daily streaks โ a reward per day, a cooldown in hours or an unlock at midnight in the timezone you choose, and a streak that resets when a player stays away too long.
โจ๏ธ Reward actions โ [console], [player], [message], [actionbar], [title], [sound], [permission], [luck] and [close], with PlaceholderAPI placeholders in every line.
๐งฐ Configurable menu โ slot, item and lore for every state of a day (available, claimed, next, locked), a live countdown, filler and custom buttons. Items support custom model data, item models (1.21.4+) and custom heads.
๐ Join events โ auto-claim after a delay, open the menu or remind the player when a reward is waiting.
๐ MiniMessage โ every message supports MiniMessage tags and legacy & color codes, side by side.
๐ Self-updating configs โ new options appear in your config.yml and lang.yml after an update, and invalid values are rejected with a clear message instead of breaking a reload.
๐ SQLite and MariaDB โ local storage out of the box, a shared database for networks.
๐งต Paper and Folia โ one jar for Paper 1.16 and newer, including Folia.
...and more!
๐ฅ Downloading & Installing
Download the latest release from Modrinth or Hangar and put it into your server's plugins folder. The server needs Java 17 or newer. On the first start NDailyRewards downloads the libraries it needs into plugins/NDailyRewards/libs and writes its config.yml and lang.yml.
NDailyRewards fires events when a player claims a reward, gets one automatically and receives a reminder. Add the repository and the API to your project:
@EventHandlerpublicvoidonClaim(PlayerClaimRewardEvent event) {
event.getPlayer().sendMessage("You claimed the reward of day " + event.getDay());
}
๐จ Build from source
NDailyRewards needs JDK 17 or newer to build.
git clone https://github.com/BX-Team/NDailyRewards.git
cd NDailyRewards
./gradlew build # the plugin jar lands in build/libs
./gradlew runServer # start a Paper test server with the plugin, LuckPerms and PlaceholderAPI
./gradlew runFoliaServer # the same on Folia
./gradlew runLegacyServer # Paper 1.16.5, the oldest supported version
๐ค Contributing
Read the contributing guidelines first. Every pull request runs ./gradlew build, and the build is the only automated check, so test your change on a real server before opening one.
โ๏ธ License
This project is licensed under the GPL-3.0 License โ see the LICENSE file for details.
๐ Credits
BX-Team/Quark: Runtime libraries, configs, the scheduler and update checks.