Streaker

⭐ — (1 endorsements) 📥 85 downloads 📌 v2.2.0 📅 5/30/2026
🟡 Updated this year

By Antag0nis1 · bukkit

⬇ Download Mod Source: Modrinth ↗ 📅 Updated: 7/4/2026 📅 Created: 5/30/2026

🔍 Analysis

  • 🏆 #1076 of 1224 bukkit mods in this game by downloads

📋 About This Mod

✅ Daily streak claims based on the server timezone.
✅ Configurable reset grace for missed days.
✅ Reward milestones such as 7, 14, 30, 60, and 100 days.
✅ Multiple reward commands, chance, multipliers, messages, and conditions.
✅ SQLite, MySQL, and MariaDB support.
✅ Async database operations with prepared statements.

<p align="center"> <img src="assets/github-banner.svg" alt="Streaker banner" width="100%"> </p> # Streaker (https://img.shields.io/badge/Java-21-orange.svg)](https://www.oracle.com/java/) (https://img.shields.io/badge/Paper-1.21%2B-blue.svg)](https://papermc.io/) (https://img.shields.io/badge/Gradle-Kotlin%20DSL-02303A.svg)](https://gradle.org/) (https://img.shields.io/badge/License-MIT-green.svg)](LICENSE) Streaker is a production-ready Paper/Purpur plugin that adds daily login streaks, milestone rewards, animated inventory GUI, PlaceholderAPI placeholders, async SQL persistence, Caffeine caching, and HikariCP pooling. ## Features - Daily streak claims based on the server timezone. - Configurable reset grace for missed days. - Reward milestones such as 7, 14, 30, 60, and 100 days. - Multiple reward commands, chance, multipliers, messages, and conditions. - SQLite, MySQL, and MariaDB support. - Async database operations with prepared statements. - Caffeine cache and debounced batched profile saves. - Animated configurable GUI designs. - PlaceholderAPI expansion. - JUnit 5 and MockBukkit test setup. ## Commands | Command | Permission | Description | | --- | --- | --- | | `/streak` | `streaker.command.menu` | Opens the main streak menu. | | `/streak menu` | `streaker.command.menu` | Opens the main streak menu. | | `/streak stats` | `streaker.command.stats` | Shows personal stats. | | `/streak rewards` | `streaker.command.rewards` | Opens rewards view. | | `/streak top` | `streaker.command.top` | Shows leaderboard. | | `/streak reload` | `streaker.admin.reload` | Reloads configuration asynchronously. | | `/streak reset <player>` | `streaker.admin.reset` | Resets current streak. | | `/streak set <player> <value>` | `streaker.admin.set` | Sets current streak. | | `/streak add <player> <value>` | `streaker.admin.add` | Adds streak days. | | `/streak remove <player> <value>` | `streaker.admin.remove` | Removes streak days. | ## Placeholders | Placeholder | Value | | --- | --- | | `%streak_current%` | Current streak. | | `%streak_best%` | Best streak. | | `%streak_next_reward%` | Next configured reward. | | `%streak_days_until_reward%` | Days until next reward. | | `%streak_total_rewards%` | Total granted rewards. | | `%streak_last_claim%` | Last claim date. | ## Installation 1. Build with `./gradlew build`. 2. Put `build/libs/Streaker-1.0.0.jar` into the server `plugins` folder. 3. Start the server once to generate configs. 4. Edit `config.yml`, `database.yml`, `rewards.yml`, `messages.yml`, and `menus.yml`. 5. Run `/streak reload` or restart the server. ## Configuration Primary files: - `config.yml` controls timezone, claim behavior, cache, write-behind, notifications, and leaderboard size. - `database.yml` selects SQLite, MySQL, or MariaDB and tunes HikariCP. - `rewards.yml` defines milestone rewards. - `menus.yml` defines GUI layouts. - `messages.yml` defines MiniMessage output. Example reward: ```yaml rewards: 30: name: "<gradient:#ff512f:#f09819>Monthly Inferno</gradient>" icon: "CHEST" chance: 100.0 multiplier: 1.0 commands: - "crate key give %player% legendary 1" ``` ## API `RuntimeContext` implements `StreakerApi`: ```java CompletableFuture<StreakProfile> profile(UUID uuid, String playerName); CompletableFuture<ClaimResult> claim(Player player); CompletableFuture<StreakProfile> setStreak(UUID uuid, String playerName, int value); ``` ## Documentation - (docs/architecture.md) - (docs/database.md) - (docs/gui.md) - (docs/optimization.md) - (docs/media-prompts.md) - (docs/project-audit.md) ## FAQ **Does Streaker block the main thread?** No. SQL and config IO run asynchronously. Bukkit-only work is returned to the main thread. **Can rewards run more than once for the same milestone?** No. Reward history has a unique key per player, reward, and streak day. **Can I use PlaceholderAPI in commands?** Yes. Install PlaceholderAPI and keep `rewards.placeholderapi` enabled. ## Roadmap - Redis sync for multi-server networks. - Web dashboard. - Seasonal reward campaigns. - In-game GUI editor. ## Support Open an issue with your Paper version, Streaker version, database type, config snippet, and relevant logs.

Streaker banner

[!(https://img.shields.io/badge/Java-21-orange.svg)](https://www.oracle.com/java/) [!(https://img.shields.io/badge/Paper-1. 21%2B-blue.svg)](https://papermc.io/) [!(https://img.shields.io/badge/Gradle-Kotlin%20DSL-02303A.svg)](https://gradle.org/) [!(https://img.shields.io/badge/License-MIT-green.svg)](LICENSE)

Streaker is a production-ready Paper/Purpur plugin that adds daily login streaks, milestone rewards, animated inventory GUI, PlaceholderAPI placeholders, async SQL persistence, Caffeine caching, and HikariCP pooling.

## Features

  • Daily streak claims based on the server timezone.
  • Configurable reset grace for missed days.
  • Reward milestones such as 7, 14, 30, 60, and 100 days.
  • Multiple reward commands, chance, multipliers, messages, and conditions.
  • SQLite, MySQL, and MariaDB support.
  • Async database operations with prepared statements.
  • Caffeine cache and debounced batched profile saves.
  • Animated configurable GUI designs.
  • PlaceholderAPI expansion.
  • JUnit 5 and MockBukkit test setup.

## Commands

| Command | Permission | Description | | --- | --- | --- | | `/streak` | `streaker.command.menu` | Opens the main streak menu. | | `/streak menu` | `streaker.command.menu` | Opens the main streak menu. | | `/streak stats` | `streaker.command.stats` | Shows personal stats. | | `/streak rewards` | `streaker.command.rewards` | Opens rewards view. | | `/streak top` | `streaker.command.top` | Shows leaderboard. | | `/streak reload` | `streaker.admin.reload` | Reloads configuration asynchronously. | | `/streak reset ` | `streaker.admin.reset` | Resets current streak. | | `/streak set ` | `streaker.admin.set` | Sets current streak. | | `/streak add ` | `streaker.admin.add` | Adds streak days. | | `/streak remove ` | `streaker.admin.remove` | Removes streak days. |

## Placeholders

| Placeholder | Value | | --- | --- | | `%streak_current%` | Current streak. | | `%streak_best%` | Best streak. | | `%streak_next_reward%` | Next configured reward. | | `%streak_days_until_reward%` | Days until next reward. | | `%streak_total_rewards%` | Total granted rewards. | | `%streak_last_claim%` | Last claim date. |

## Installation

1. Build with `./gradlew build`. 2. Put `build/libs/Streaker-1. 0. 0.jar` into the server `plugins` folder. 3. Start the server once to generate configs. 4. Edit `config.yml`, `database.yml`, `rewards.yml`, `messages.yml`, and `menus.yml`. 5. Run `/streak reload` or restart the server.

## Configuration

Primary files:

  • `config.yml` controls timezone, claim behavior, cache, write-behind, notifications, and leaderboard size.
  • `database.yml` selects SQLite, MySQL, or MariaDB and tunes HikariCP.
  • `rewards.yml` defines milestone rewards.
  • `menus.yml` defines GUI layouts.
  • `messages.yml` defines MiniMessage output.

Example reward:

```yaml rewards: 30: name: "Monthly Inferno" icon: "CHEST" chance: 100. 0 multiplier: 1. 0 commands: - "crate key give %player% legendary 1" ```

`RuntimeContext` implements `StreakerApi`:

```java CompletableFuture profile(UUID uuid, String playerName); CompletableFuture claim(Player player); CompletableFuture setStreak(UUID uuid, String playerName, int value); ```

## Documentation

  • (docs/architecture.md)
  • (docs/database.md)
  • (docs/gui.md)
  • (docs/optimization.md)
  • (docs/media-prompts.md)
  • (docs/project-audit.md)

Does Streaker block the main thread? No. SQL and config IO run asynchronously. Bukkit-only work is returned to the main thread.

Can rewards run more than once for the same milestone? No. Reward history has a unique key per player, reward, and streak day.

Can I use PlaceholderAPI in commands? Yes. Install PlaceholderAPI and keep `rewards.placeholderapi` enabled.

  • Redis sync for multi-server networks.
  • Web dashboard.
  • Seasonal reward campaigns.
  • In-game GUI editor.

Open an issue with your Paper version, Streaker version, database type, config snippet, and relevant logs.

🤖 AI-enhanced — based on mod data

📊 Mod Details

Game
Minecraft Plugins
Author
Antag0nis1
Version
2.2.0
Downloads
85
Endorsements
1
Category
bukkit
Created
5/30/2026
Updated
7/4/2026
Game Versions
1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4
Tags
economy, social, storage

🔧 How to Install Minecraft Plugins Mods

Download from Modrinth. Use Prism Launcher or drop into your mods folder.

📖 Full step-by-step install guide for Minecraft Plugins →

Visit the official mod page for specific installation instructions for this mod.

🎮 Need cheat codes or console commands? Check ur gaming wiki for Minecraft Plugins commands, item IDs, and more.

❓ Frequently Asked Questions

Which Minecraft Plugins versions does Streaker support?

The author lists 1.21, 1.21.1, 1.21.2, 1.21.3, 1.21.4, 1.21.5. Other versions may work but are untested by the author.

What is the latest version of Streaker?

Version 2.2.0, published 2026-07-04 with 85 downloads recorded at the source.

Keep browsing — more Minecraft Plugins mods await

📋 All Minecraft Plugins Mods 🏆 Top 25 📂 More bukkit 👤 More by Antag0nis1 🔎 Similar Mods 🌐 Best bukkit (All Games) 🔀 Check Compatibility ⚖️ Compare Mods 🆕 New Mods