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:
@EventHandler
public void onClaim(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.
## What's Changed
This update focused on improving the plugin's architecture and maintainability. We did the following updates:
- Using DI pattern to make plugin architecture better
- Dependencies are now downloaded through our own [Quark](https://github.com/BX-Team/Quark) framework and no longer shaded into plugin JAR file
- Using OrmLite + DAO to better work with the database
- Switched to Lamp command framework
- Switched to own task scheduler system, so **Folia is now supported**
- and other changes like Gradle and it's plugins
> **⚠️ Please note**
> If you find any problems with the plugin or the new dependency system, please let us know!
**Full Changelog**: https://github.com/BX-Team/NDailyRewards/compare/v3.2.1...v3.3.0
## What's Changed
* Fix HeadUtil problems on startup
* dependency: Update actions/upload-artifact action to v4.6.2 by @renovate in https://github.com/BX-Team/NDailyRewards/pull/122
* dependency: Update dependency com.zaxxer:HikariCP to v6.3.0 by @renovate in https://github.com/BX-Team/NDailyRewards/pull/123
* dependency: Update dependency org.mariadb.jdbc:mariadb-java-client to v3.5.3 by @renovate in https://github.com/BX-Team/NDailyRewards/pull/124
* dependency: Update dependency gradle to v8.14 by @renovate in https://github.com/BX-Team/NDailyRewards/pull/125
**Full Changelog**: https://github.com/BX-Team/NDailyRewards/compare/v3.2.0...v3.2.1
## What's Changed
* Reset rewards if they not claimed in specified time in https://github.com/BX-Team/NDailyRewards/issues/119
* Update commons to 2.0.0 + rewrote update checker, possibly fixes https://github.com/BX-Team/NDailyRewards/issues/118
* dependency: Update actions/upload-artifact action to v4.6.0 by @renovate-bot in https://github.com/BX-Team/NDailyRewards/pull/116
* dependency: Update dependency org.mariadb.jdbc:mariadb-java-client to v3.5.2 by @renovate-bot in https://github.com/BX-Team/NDailyRewards/pull/117
* dependency: Update actions/upload-artifact action to v4.6.1 by @renovate-bot in https://github.com/BX-Team/NDailyRewards/pull/120
* dependency: Update dependency gradle to v8.13 by @renovate-bot in https://github.com/BX-Team/NDailyRewards/pull/121
**Full Changelog**: https://github.com/BX-Team/NDailyRewards/compare/v3.1.2...v3.2.0
## What's Changed
* **/rw setday** command now resets timer to current system time, so you can claim it instantly
* Optimized MenuManager and InventoryClickListener by @DimaSergeew in https://github.com/BX-Team/NDailyRewards/pull/113
* fix(deps): update all dependencies by @renovate-bot in https://github.com/BX-Team/NDailyRewards/pull/112
**Full Changelog**: https://github.com/BX-Team/NDailyRewards/compare/v3.1.1...v3.1.2
## What's Changed
* chore(config): migrate renovate config by @renovate in https://github.com/BX-Team/NDailyRewards/pull/108
* chore(deps): update all dependencies by @renovate in https://github.com/BX-Team/NDailyRewards/pull/109
* Optimized MenuManager.java by @DimaSergeew in https://github.com/BX-Team/NDailyRewards/pull/111
* Fixed duping bug in https://github.com/BX-Team/NDailyRewards/issues/110
* Added commons repo
## New Contributors
* @DimaSergeew made their first contribution in https://github.com/BX-Team/NDailyRewards/pull/111
**Full Changelog**: https://github.com/BX-Team/NDailyRewards/compare/v3.1.0...v3.1.1
## What's Changed
* Added the ability to create custom GUI buttons
* Added auto-claim-delay to set time for automatic reward claim (original by https://github.com/BX-Team/NDailyRewards/pull/97)
* Added the ability to get rewards when you first time joining the server
* Added new actions: **close**, **permission** and **luck**
* chore(deps): update actions/upload-artifact action to v4.4.0 by @renovate-bot in https://github.com/BX-Team/NDailyRewards/pull/98
* chore(deps): update plugin io.papermc.paperweight.userdev to v1.7.3 by @renovate-bot in https://github.com/BX-Team/NDailyRewards/pull/102
* fix(deps): update dependency com.zaxxer:hikaricp to v6 by @renovate-bot in https://github.com/BX-Team/NDailyRewards/pull/101
* fix IllegalArgumentException no enum constant (https://github.com/BX-Team/NDailyRewards/commit/a526c7ba95a414d79c318a305f7419e3a3886f14)
**P.S. We recommend to delete your old config and generate a new one**
**Full Changelog**: https://github.com/BX-Team/NDailyRewards/compare/v3.0.0...v3.1.0
## Changelog
Greetings to all NDailyRewards users! Initially, our plugin appeared in early 2022 and quite a lot of time has passed since then. The release of the first version, the release of the second version, the addition of new features, user growth and much more.
A long time ago, we planned to release a major update for all time, which will be much better than previous versions. And it happened - after a month of development, we wrote the plugin from scratch, removing all the old, unreadable code. Here are the main features of the new version:
- Switched to HikariCP and using MariaDB instead of MySQL
- Improved and optimized code (hopefully)
- New features such as automatic collection of rewards when logging in to the server, notification of new rewards, automatic menu opening, new update checker system and our own small API
- A new command system, as well as new commands such as **setday** and **claim**
- New language system with enums
- ...and other features, that you can view in PR #93
Since this is a completely new version, there may be errors that we might not have noticed. Report it [here](https://github.com/BX-Team/NDailyRewards/issues/new/choose)
Also, visit our [new wiki site](https://docs.bx-team.space/ndailyrewards), that includes all our projects
**NOTE**: If you are upgrading from older versions, then completely delete the old config, saving a copy of it just in case, since the version 3.0.0 config differs from the old versions
**Full Changelog**: https://github.com/BX-Team/NDailyRewards/compare/v2.3.6...v3.0.0
## What's Changed
* Update to 1.21
* fix(deps): update dependency me.clip:placeholderapi to v2.11.6 by @renovate in https://github.com/BX-Team/NDailyRewards/pull/84
* chore(deps): update dependency gradle to v8.8 - autoclosed by @renovate in https://github.com/BX-Team/NDailyRewards/pull/86
* fix(deps): update dependency de.tr7zw:item-nbt-api-plugin to v2.13.0 by @renovate in https://github.com/BX-Team/NDailyRewards/pull/88
* chore(deps): update gradle/gradle-build-action action to v3.4.2 by @renovate in https://github.com/BX-Team/NDailyRewards/pull/87
* fix(deps): update dependency org.xerial:sqlite-jdbc to v3.46.0.0 by @renovate in https://github.com/BX-Team/NDailyRewards/pull/85
**Full Changelog**: https://github.com/BX-Team/NDailyRewards/compare/v2.3.5...v2.3.6