Streaker

Streaker

A plugin that will get players to join your server

139 downloads 2 followers

Streaker banner

Streaker

Java Paper Gradle 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:

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:

CompletableFuture<StreakProfile> profile(UUID uuid, String playerName);
CompletableFuture<ClaimResult> claim(Player player);
CompletableFuture<StreakProfile> setStreak(UUID uuid, String playerName, int value);

Documentation

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.

No gallery available for this project.

Version Minecraft Loader Download

Streaker 2.2.0

2.2.0

1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9, 26.1, 26.1.1, 26.1.2, 26.2
bukkit, folia, paper, purpur, spigot
Download

Streaker 1.0.0

1.0.0

1.21, 1.21.1, 1.21.10, 1.21.11, 1.21.2, 1.21.3, 1.21.4, 1.21.5, 1.21.6, 1.21.7, 1.21.8, 1.21.9
bukkit, folia, paper, purpur, spigot
Download