
Universal Daily Rewards
A fully functional, bilingual, and heavily optimized fork of the original Daily Rewards mod, tailored for modern Fabric servers.
Список изменений
Cobbleverse Daily Rewards
!Version !Minecraft !License !Platform
This release marks a massive architectural leap and a complete overhaul from version 1.0.0 of the original daily-rewards-fabric mod.
While this fork has been redesigned, translated, and optimized with the Cobbleverse ecosystem in mind, it is 100% standalone and can be used on any Fabric server or modpack.
📖 Click here to read the full CHANGELOG
✨ New Features & Improvements
- 🚀 100% Server-Side: The mod is now fully server-side. Players do not need to install the mod to see the GUIs or interact with the rewards system.
Server: Required,Client: Optional. - 🌍 Native Localization Support (i18n): GUI texts are no longer hardcoded. Using the Server Translations API, the mod now automatically adapts to the player's client language (Currently includes native support for English and Spanish, falling back to English for other languages) without requiring any client-side resource packs.
- 🛠️ New Admin Commands: Added the
/rewards-setplaytime <player> <seconds>,/rewards-setstreak <player> <days>, and/rewards-reset <player>commands. This allows administrators to manually adjust a player's tracked playtime and daily login streaks, making server management and user support much easier. - ⚙️ Generic Configurations: The mod now generates much cleaner, universal default configuration files (
daily.jsonandplaytime.json) right out of the box, ready for a "Plug & Play" experience.
🐛 Critical Bug Fixes
Several severe bugs present in the original version have been patched:
- NPC Persistence: Fixed a critical issue where NPCs (Screen Entities) configured to open the rewards menu would lose their link and stop working after a server restart. Data is now forcefully saved to disk when adding or removing an entity.
- Broken Pagination: Fixed a mathematical logic error (
Math.ceil) inAbstractRewardScreenthat miscalculated the maximum number of pages, preventing players from accessing subsequent reward pages. - Ghost Click Console Crashes: Added a safety check to prevent the
java.lang.IndexOutOfBoundsException: Index -1server console error, which occurred when a player clicked outside the GUI inventory bounds.
🛠️ Commands
Admin Commands (Permission Level 2)
/rewards-reload-<type>-config- Reloads a specific config file without restarting the server./rewards-reset <player>- Resets all playtime and daily streaks to zero for a specific player./rewards-setstreak <player> <days>- Manually adjusts a player's daily streak./rewards-setplaytime <player> <seconds>- Manually sets a player's tracked playtime./rewards-screen-entity add <entity>- Registers an entity (like an NPC) to open the rewards GUI when clicked./rewards-screen-entity remove <entity>- Unregisters a screen entity.
⚙️ Configuration Example & Flexibility
Curious about how customizable this is? The mod uses a clean, intuitive JSON structure that gives you total freedom over how rewards are distributed. You can mix and match two methods:
- Method 1 (Via Commands): Perfect for virtual economy (like Cobbledollars), permissions, or complex items with NBT/Lore. You run the command in the background and set
"give_item": falseso the GUI item only acts as a visual icon. - Method 2 (Direct Physical Items): You can leave the
commandsarray empty and simply set"give_item": true. The mod will directly give the player the exact physical item shown in the GUI.
Here is a quick sneak peek of how a daily reward is configured using both methods:
[
{
"day": 1,
"id": "day_1",
"commands": [
"cobbledollars give %player% 5000"
],
"items": [
{
"item": "minecraft:paper",
"name": "{\"text\":\"5,000 Cobbledollars (Command)\",\"color\":\"green\"}",
"amount": 1,
"give_item": false
},
{
"item": "cobblemon:rare_candy",
"name": "{\"text\":\"Rare Candy (Direct Item)\",\"color\":\"aqua\"}",
"amount": 3,
"give_item": true
}
]
}
]
