Mod
Chronos Rewards
No reviews yet
๐ค Playtime and daily rewards that you can customize ๐
Fabric is a mod loader for versions 1.14+ of Minecraft, particularly popular for client side and optimization mods.
Community voices
Reviews
Click once to include, again to exclude, again to clear
No reviews yet. Be the first to review this project!
Get it on
Available Platforms
Compatibility
Supported Environments
About
Project Details
For authors
Embed Badge
If you're the author of this project, you can embed a live badge anywhere that supports HTML or Markdown. It updates automatically whenever ratings change.
Use HTML for any page that supports it, or Markdown for README files and Markdown-based descriptions.
Identifiers
Platform IDs
Resources
External Links
About
Description
โฑ๏ธ TECHNICAL SPECIFICATION & ARCHITECTURE: CHRONOSREWARDS
100% Server-Side Playtime & Daily Streak Rewards Engine for Fabric ๐
1. ๐ฏ INTRODUCTION AND CORE PHILOSOPHY
ChronosRewards is a high-performance, progression-focused, 100% server-side Fabric mod designed to solve player retention issues in multiplayer environments. By processing all logic via standard networking and container packets, vanilla clients can connect seamlessly and interact with fully color-coded custom menus without downloading any client-side modifications! ๐
The mod introduces a balanced, highly satisfying system that tracks and rewards players for both daily consistency and long-term playtime grind simultaneously under intense, max-capacity stress testing setups with hundreds of concurrent players. โก
2. ๐๏ธ SYSTEM ARCHITECTURE & CORE MECHANICS
2.1 Dynamic Virtual Inventory Interface (GUI Engine) ๐ฆ
The interface maps out raw data directly into container screens using a vanilla GenericContainerScreenHandler structure matching the row parameters provided in the config file.
- Max Capacity Layout: The system allocates a full 6-row chest interface (54 slots total) as designated in the configuration (
"rows": 6), maximizing item density for comprehensive progression paths! ๐ - Slot Distribution Matrix: Items are placed directly into explicit slots specified in the JSON mapping.
- Placeholder Normalization: The inventory engine scans item metadata on-the-fly, converting raw string nodes such as
{streak},{playtime}, and{status}(e.g., ยงaClaimable, ยงcLocked, ยง7Claimed) into fully rendered client-side components using formatting markers (ยง). โจ
2.2 Precise Temporal Streak Validation โณ
Daily login tracking avoids buggy local system calendar dependencies by calculating the exact epoch timestamp delta (in milliseconds) between the current login and the player's last recorded daily claim:
minimum_window_millis(20 hours): The threshold preventing players from spam-claiming rewards early. ๐maximum_window_millis(48 hours): If the time delta exceeds this window, the current day-streak counter resets to1. If the delta falls perfectly between the two limits, the streak increments by1. ๐
2.3 Instant Join-Item Delivery Matrix ๐
To welcome players, the mod intercepts player entry handlers. When a connection is initialized, the mod evaluates the player's immediate eligibility status. If the player is cleared for a daily or a milestone reward, the engine directly injects the concrete base item straight into the player's inventory using player.getInventory().insertStack(). ๐ฅ
- Overflow Protection: If the player's inventory container is full, the engine drops the item as a physical
ItemEntityat the player's exactBlockPoscoordinate context, guaranteeing zero data loss! ๐
3. ๐ ๏ธ MODDED EXECUTION SPECIFICATIONS BY TARGET FAMILY
3.1 ๐ MINECRAFT 26.2.x EXECUTION SPECIFICATION
- Target Architecture: Minecraft 26.2.x using the latest Mojang and Fabric Loader parameters.
- Runtime Environment: Java 25.
- Dependency Constraints: Strictly zero external dependencies; no reliance on the Fabric API framework.
Low-Level Packet Interception ๐ฐ๏ธ
The mod injects via a core Mixin targeting ServerPlayNetworkHandler.onPlayerJoin(). Upon execution, it triggers an asynchronous read of the JSON cache, runs the streak calculation delta, and drops any pending entry item blocks straight into the user's data container.
Thread Performance Optimizations ๐๏ธ
Playtime calculations use a global ticking map managed through direct injections into MinecraftServer.tick(). To maximize the performance of processing cores, runtime values are mapped using Java 25 Scoped Values and lightweight Virtual Threads, reducing execution frame drops on tightly packed dedicated architectures.
3.2 ๐ MINECRAFT 26.1.x EXECUTION SPECIFICATION
- Target Architecture: Minecraft 26.1.x using the initial 26-family Mojang mappings.
- Runtime Environment: Java 25.
- Dependency Constraints: Strictly zero external dependencies; pure Fabric Loader Mixins.
Registry Evaluation ๐
Since 26.1.x introduces refined data serialization protocols, item stacks are built dynamically by querying the Registries.ITEM registry inside the server block execution thread. Playtime states are synced natively with Brigadier command execution nodes via CommandRegistrationCallback.
3.3 ๐ MINECRAFT 1.21.x GENERAL SPECIFICATION
- Target Architecture: Minecraft 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.11.
- Runtime Environment: Java 21.
- Dependency Constraints: Zero Fabric API requirements.
Data Component Registry Integration ๐งฉ
Minecraft 1.21.x completely lacks legacy NBT stacks for menu items, relying instead on type-safe Data Component systems. Item generation maps string components inside the config into type-safe instances using the active registry database. Text modifications are attached via DataComponentTypes.LORE and DataComponentTypes.CUSTOM_NAME parameters.
Thread-Isolated Storage Architecture ๐พ
To prevent server stuttering during auto-save loops (autosave_interval_ticks), runtime metrics clone data profiles onto an asynchronous storage thread pool. This background engine serializes player playtime maps and timestamps directly into the directory using standard GSON configurations.
4. โ๏ธ PRODUCTION MASTER CONFIGURATION (config/chronos_rewards.json)
(Shorter optimized config with exactly 3 reference examples max for clean code generation) ๐
{
"command": "rewards",
"autosave_interval_ticks": 1200,
"menu": {
"title": "Chronos Max Capacity Stress Test",
"rows": 6
},
"streak": {
"minimum_window_millis": 72000000,
"maximum_window_millis": 172800000
},
"rewards": [
{
"id": "daily_1",
"type": "daily",
"slot": 0,
"required_streak": 1,
"title": "ยงaDay 1 Welcome",
"item": "minecraft:emerald",
"lore": ["Streak: {streak}", "{status}"],
"commands": ["give {player} emerald 1"]
},
{
"id": "playtime_1m",
"type": "playtime",
"slot": 27,
"required_ticks": 1200,
"title": "ยงePlaytime: 1m Starter",
"item": "minecraft:bread",
"lore": ["Time: {playtime}", "{status}"],
"commands": ["give {player} bread 2"]
},
{
"id": "playtime_100h",
"type": "playtime",
"slot": 53,
"required_ticks": 7200000,
"title": "ยง4Playtime: 100h Legend",
"item": "minecraft:elytra",
"lore": ["Time: {playtime}", "{status}"],
"commands": ["give {player} elytra 1"]
}
]
}
5. โก HARDWARE PERFORMANCE & MEMORY MANAGEMENT
- Target Hardware Environment: High-performance multi-core processors (e.g., Ryzen 7 processors on a 24/7 server architecture).
Memory Profile Reduction via FastUtil ๐ง
To completely avoid memory waste from boxing primitive types, all player runtime mappings (UUID to playtime ticks and claim timestamps) are strictly maintained via high-performance primitive maps like Object2LongOpenHashMap from the FastUtil library. This ensures minimal overhead, maintaining ultra-low garbage collection cycle metrics even with high concurrent player counts under max capacity stress tests! ๐
๐ ๏ธ HOW TO USE THE JSON CONFIGURATION
-
Step 1: Locate your config folder ๐
-
Open your Minecraft server framework directory.
-
Navigate into the root
configfolder, and look for the folder designated for the rewards mod (namedchronos_rewards). -
Step 2: Open or create the file ๐
-
Inside that folder, locate the configuration file named exactly
chronos_rewards.json. -
If the file does not exist yet, boot the server instance once to let the backend framework generate it automatically, or manually create a new file named exactly
chronos_rewards.json. -
Step 3: Paste the code ๐
-
Open the JSON file using an advanced text editor like VS Code or Notepad++.
-
Highlight everything inside the file, delete it, and paste the entire production configuration block provided above.
-
Ensure no trailing commas or closing brackets are broken so the GSON parsing layer validates the syntax successfully.
-
Step 4: Save your changes ๐พ
-
Save the file and safely close your text editor.
-
Step 5: Apply it in-game ๐
-
If the server is actively running, execute the mod's native hot-reload command via the server console, or completely restart the engine to refresh the configuration stream.
-
Players can now type
/[command](defaults to/rewards) in the chat network to open up the fully populated 6-row reward menu grid tracking their live statistics! ๐ฎ
Versions
Files
Relations
Project Relations
More like this
Similar Mods
Suggestions use data such as tags, dependencies, dependents, descriptions, titles, and more to rank how much they overlap with this mod.
On ModDex
Community snapshot
By the numbers
Statistics
Want to reach Minecraft players?
We're looking for a server hosting partner to feature here and other parts of the site. Interested? Send us a message!
Get in touchGet it on
Available Platforms
On ModDex
Community snapshot
By the numbers
Statistics
Resources