▶️ ЗАБЕРИ СВОИ 8 ПОДАРКОВ 🎁 ПРИ СОЗДАНИИ СВОЕГО МАЙНКРАФТ СЕРВЕРА
Streaker

Streaker

A plugin that will get players to join your server

Оцените первым
33
0

Streaker

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

CommandPermissionDescription
/streakstreaker.command.menuOpens the main streak menu.
/streak menustreaker.command.menuOpens the main streak menu.
/streak statsstreaker.command.statsShows personal stats.
/streak rewardsstreaker.command.rewardsOpens rewards view.
/streak topstreaker.command.topShows leaderboard.
/streak reloadstreaker.admin.reloadReloads configuration asynchronously.
/streak reset <player>streaker.admin.resetResets current streak.
/streak set <player> <value>streaker.admin.setSets current streak.
/streak add <player> <value>streaker.admin.addAdds streak days.
/streak remove <player> <value>streaker.admin.removeRemoves streak days.

Placeholders

PlaceholderValue
%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

  • Architecture
  • Database
  • GUI
  • Optimization
  • Media prompts
  • Project audit

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.

Часто задаваемые вопросы

Совместимость

Minecraft: Java Edition

1.21.x

Поддерживаемые окружения

Сервер

Ссылки

Создатели

Детали

Лицензия:
Опубликован:3 недели назад
Обновлён:3 недели назад
Главная