Sueta

Vote Streak

2.0

Collect daily vote rewards in a row.

·Plugin

This plugin requires Votifier .

IMPORTANT:
Use version 1.x for 1.12 .
Use version 2.x for 1.13/1.14 .

Vote Streak offers the possibility to collect daily vote rewards in a row . After a player votes for your server he can collect the defined rewards e.g items or money. The Vote Streak runs until he finished the streak or forget to vote one day. In this case the streak will be stopped, rewards that are still open can be collected and finally the player can manually reset his streak. Of course rows can also have gaps between two days (e.g. day 1, 2, 5, 7, ...).

Features

+ SQLite and MySQL support
+ editable GUI
+ unlimited amount of days possible
+ own rewards
+ translatable language file
+ since version 2.x : editable number of votepages/votes required to complete the day of the streak
+ since version 2.x : broadcast to everyone on the server when a player voted (set empty string in language file to disable this feature)

Screenshots
votestreak_gui.png

Setup
Download the VoteStreak.jar and put it in your plugins folder. Make sure that the server also has the Votifier plugin. (Re-)Start your server. After that you can edit the configuration, language and inventory file (plugins/VoteStreak/...). Do not change any lines in the votestreak.db (database file)! You can reload the configuration, language and inventory file (and database) ingame with /votestreak reload.

Commands

player commands
/votestreak | /vstreak
- Open the GUI to see and collect rewards.

admin commands
/votestreak reload | /vstreak reload
- Reload configuration, language and inventory file.
/votestreak simulate <username> | /vstreak simulate <username> - Simulate vote for <username>.

Permissions

votestreak.player:

description: Access to /votestreak (no permission for sub-commands).
default: true (Default permissions only work after a full server restart!)

votestreak.admin:

description: Access to all VoteStreak commands.
default: op
children:

votestreak.player: true

Configuration
database: 
  # true: MySQL | false: SQLite 
  use-mysql: false 
  # only required if you use MySQL 
  mysql: 
    hostname: localhost 
    port: '3306' 
    database: '' 
    user: '' 
    pass: '' 
# since version 2.x 
# number of votepages/votes required to complete the day of the streak 
votepages: 1 
streak: 
  # list of days of the streak 
  # gaps between two days are also possible e.g. day 1, 2, 5, 7, ... 
  enabled-days: 
  - 1 
  - 2 
  - 3 
  - 4 
  - 5 
  - 6 
  - 7 
  # descriptions (will be shown in the GUI) and rewards of the enabled-days 
  # %player - variable for playername 
  # remember to delete all [] if you add text of automatically generated descriptions or rewards 
  '1': 
    description: 
    - 64 stones 
    commands: 
    - give %player stone 64 
  '2': 
    description: 
    - 8 iron ore 
    commands: 
    - give %player iron_ore 8 
  '3': 
    description: 
    - 16 books 
    commands: 
    - give %player book 16 
  '4': 
    description: 
    - 1 iron helmet 
    commands: 
    - give %player iron_helmet 1 
  '5': 
    description: 
    - 1 diamond pickaxe 
    - 32 logs 
    commands: 
    - give %player diamond_pickaxe 1 
    - give %player log 32 
  '6': 
    description: 
    - 1 diamond block 
    commands: 
    - give %player diamond_block 1 
  '7': 
    description: 
    - epic sword 
    commands: 
    - give %player diamond_sword 1 name:&4&n%player's_sword lore:&7One_sword_to_rule_them_all!
Translations (language and inventory file)
version 1.x
English
error: 
  DATABASE-ERROR: '&cError while connecting to database. Please contact an administrator.' 
info: 
  STREAK-STOPPED: '&6[VoteStreak] &fYou did not vote yesterday (or several days before). 
    Your VoteStreak will be stopped. Collect your rewards and restart your VoteStreak 
    (&7/votestreak&f).' 
  ALREADY-STOPPED: '&6[VoteStreak] &fYour VoteStreak has already been stopped. Collect 
    your rewards and restart your VoteStreak (&7/votestreak&f).' 
  REWARDS-OPEN: '&6[VoteStreak] &fThere are still rewards avavible (&7/votestreak&f).' 
  NEW-REWARDS: '&6[VoteStreak] &fYou can collect new rewards (&7/votestreak&f).' 
  STREAK-FINISHED: '&6[VoteStreak] &fYou have successfully completed your VoteStreak. 
    Collect your rewards and restart your VoteStreak (&7/votestreak&f).' 
  RESET-STREAK: '&6[VoteStreak] &fYour VoteStreak has been reset.'
title: 
  DAY: day 
  PAGE: page 
  RUNNING: running 
  STOPPED: stopped 
items: 
  PLACEHOLDER-ITEM: 
    material: STAINED_GLASS_PANE 
    sub-id: 15 
    display-name: '' 
    lore: [] 
  PREVIOUS-PAGE-ITEM: 
    material: ARROW 
    sub-id: 0 
    display-name: §7<< previous page << 
    lore: [] 
  NEXT-PAGE-ITEM: 
    material: ARROW 
    sub-id: 0 
    display-name: §7>> next page >> 
    lore: [] 
  COLLECTED-ITEM: 
    material: EMERALD_BLOCK 
    sub-id: 0 
    display-name: §eday %day 
    lore: 
    - §aalready collected 
    - §8-=-=- 
  NOT-REACHED-ITEM: 
    material: REDSTONE_BLOCK 
    sub-id: 0 
    display-name: §eday %day 
    lore: 
    - §cnot reached yet 
    - §8-=-=- 
  READY-ITEM: 
    material: CHEST 
    sub-id: 0 
    display-name: §eday %day 
    lore: 
    - §acollect now 
    - §8-=-=- 
    - §7§o[click] 
    - §8-=-=- 
  RESTART-ITEM: 
    material: DIAMOND_BLOCK 
    sub-id: 0 
    display-name: §crestart streak 
    lore: 
    - §7§o[click] 
    - §8-=-=- 
    - §cAll pending 
    - §crewards will 
    - §cget lost!
German
error: 
  DATABASE-ERROR: '&cFehler beim Verbinden mit der Datenbank. Bitte kontaktiere einen Administrator.' 
info: 
  STREAK-STOPPED: '&6[VoteStreak] &fDu hast gestern (oder mehrere Tage davor) nicht gevotet. 
    Deine VoteStreak wird gestoppt. Hol dir deine Belohnungen ab und starte deine VoteStreak neu 
    (&7/votestreak&f).' 
  ALREADY-STOPPED: '&6[VoteStreak] &fDeine VoteStreak wurde bereits gestoppt. Hol dir deine Belohnungen 
    ab und starte deine VoteStreak neu (&7/votestreak&f).' 
  REWARDS-OPEN: '&6[VoteStreak] &fEs sind noch Belohnungen offen (&7/votestreak&f).' 
  NEW-REWARDS: '&6[VoteStreak] &fDu kannst dir neue Belohnungen abholen (&7/votestreak&f).' 
  STREAK-FINISHED: '&6[VoteStreak] &fDu hast deine VoteStreak erfolgreich beendet. Hol dir deine Belohnungen 
    ab und starte deine VoteStreak neu (&7/votestreak&f).' 
  RESET-STREAK: '&6[VoteStreak] &fDeine VoteStreak wurde zurueckgesetzt.'
title: 
  DAY: Tag 
  PAGE: Seite 
  RUNNING: laeuft 
  STOPPED: gestoppt 
items: 
  PLACEHOLDER-ITEM: 
    material: STAINED_GLASS_PANE 
    sub-id: 15 
    display-name: '' 
    lore: [] 
  PREVIOUS-PAGE-ITEM: 
    material: ARROW 
    sub-id: 0 
    display-name: §7<< vorherige Seite << 
    lore: [] 
  NEXT-PAGE-ITEM: 
    material: ARROW 
    sub-id: 0 
    display-name: §7>> naechste Seite >> 
    lore: [] 
  COLLECTED-ITEM: 
    material: EMERALD_BLOCK 
    sub-id: 0 
    display-name: §eTag %day 
    lore: 
    - §abereits abgeholt 
    - §8-=-=- 
  NOT-REACHED-ITEM: 
    material: REDSTONE_BLOCK 
    sub-id: 0 
    display-name: §eTag %day 
    lore: 
    - §cnoch nicht erreicht 
    - §8-=-=- 
  READY-ITEM: 
    material: CHEST 
    sub-id: 0 
    display-name: §eTag %day 
    lore: 
    - §ajetzt abholen 
    - §8-=-=- 
    - §7§o[click] 
    - §8-=-=- 
  RESTART-ITEM: 
    material: DIAMOND_BLOCK 
    sub-id: 0 
    display-name: §cStreak neustarten 
    lore: 
    - §7§o[click] 
    - §8-=-=- 
    - §cAlle ausstehenden 
    - §cBelohnungen werden 
    - §cverloren gehen!
version 2.x
English
error: 
  DATABASE-ERROR: '&cError while connecting to database. Please contact an administrator.' 
info: 
  STREAK-STOPPED: '&6[VoteStreak] &fYou did not vote yesterday (or several days before). 
    Your VoteStreak will be stopped. Collect your rewards and restart your VoteStreak 
    (&7/votestreak&f).' 
  ALREADY-STOPPED: '&6[VoteStreak] &fYour VoteStreak has already been stopped. Collect 
    your rewards and restart your VoteStreak (&7/votestreak&f).' 
  REWARDS-OPEN: '&6[VoteStreak] &fThere are still rewards avavible (&7/votestreak&f).' 
  NEW-REWARDS: '&6[VoteStreak] &fYou can collect new rewards (&7/votestreak&f).' 
  STREAK-FINISHED: '&6[VoteStreak] &fYou have successfully completed your VoteStreak. 
    Collect your rewards and restart your VoteStreak (&7/votestreak&f).' 
  RESET-STREAK: '&6[VoteStreak] &fYour VoteStreak has been reset.' 
  PLAYER-VOTED: '&6[VoteStreak] &fVote &7%vote%&f/&7%votepages% &ftoday.' 
broadcast: 
  PLAYER-VOTED: '&6[VoteStreak] &e%username% &fhas voted for our server!'
title: 
  DAY: day 
  PAGE: page 
  RUNNING: running 
  STOPPED: stopped 
items: 
  PLACEHOLDER-ITEM: 
    material: BLACK_STAINED_GLASS_PANE 
    display-name: '' 
    lore: [] 
  PREVIOUS-PAGE-ITEM: 
    material: ARROW 
    display-name: §7<< previous page << 
    lore: [] 
  NEXT-PAGE-ITEM: 
    material: ARROW 
    display-name: §7>> next page >> 
    lore: [] 
  COLLECTED-ITEM: 
    material: EMERALD_BLOCK 
    display-name: §eday %day 
    lore: 
    - §aalready collected 
    - §8-=-=- 
  NOT-REACHED-ITEM: 
    material: REDSTONE_BLOCK 
    display-name: §eday %day 
    lore: 
    - §cnot reached yet 
    - §8-=-=- 
  READY-ITEM: 
    material: CHEST 
    display-name: §eday %day 
    lore: 
    - §acollect now 
    - §8-=-=- 
    - §7§o[click] 
    - §8-=-=- 
  RESTART-ITEM: 
    material: DIAMOND_BLOCK 
    display-name: §crestart streak 
    lore: 
    - §7§o[click] 
    - §8-=-=- 
    - §cAll pending 
    - §crewards will 
    - §cget lost!
German
error: 
  DATABASE-ERROR: '&cFehler beim Verbinden mit der Datenbank. Bitte kontaktiere einen 
    Administrator.' 
info: 
  STREAK-STOPPED: '&6[VoteStreak] &fDu hast gestern (oder mehrere Tage davor) nicht 
    gevotet. Deine VoteStreak wird gestoppt. Hol dir deine Belohnungen ab und starte 
    deine VoteStreak neu (&7/votestreak&f).' 
  ALREADY-STOPPED: '&6[VoteStreak] &fDeine VoteStreak wurde bereits gestoppt. Hol 
    dir deine Belohnungen ab und starte deine VoteStreak neu (&7/votestreak&f).' 
  REWARDS-OPEN: '&6[VoteStreak] &fEs sind noch Belohnungen offen (&7/votestreak&f).' 
  NEW-REWARDS: '&6[VoteStreak] &fDu kannst dir neue Belohnungen abholen (&7/votestreak&f).' 
  STREAK-FINISHED: '&6[VoteStreak] &fDu hast deine VoteStreak erfolgreich beendet. 
    Hol dir deine Belohnungen ab und starte deine VoteStreak neu (&7/votestreak&f).' 
  RESET-STREAK: '&6[VoteStreak] &fDeine VoteStreak wurde zurückgesetzt.' 
  PLAYER-VOTED: '&6[VoteStreak] &fVote &7%vote%&f/&7%votepages% &fheute.' 
broadcast: 
  PLAYER-VOTED: '&6[VoteStreak] &e%username% &fhat für den Server gevotet!'
title: 
  DAY: Tag 
  PAGE: Seite 
  RUNNING: laeuft 
  STOPPED: gestoppt 
items: 
  PLACEHOLDER-ITEM: 
    material: BLACK_STAINED_GLASS_PANE 
    display-name: '' 
    lore: [] 
  PREVIOUS-PAGE-ITEM: 
    material: ARROW 
    display-name: §7<< vorherige Seite << 
    lore: [] 
  NEXT-PAGE-ITEM: 
    material: ARROW 
    display-name: §7>> naechste Seite >> 
    lore: [] 
  COLLECTED-ITEM: 
    material: EMERALD_BLOCK 
    display-name: §eTag %day 
    lore: 
    - §abereits abgeholt 
    - §8-=-=- 
  NOT-REACHED-ITEM: 
    material: REDSTONE_BLOCK 
    display-name: §eTag %day 
    lore: 
    - §cnoch nicht erreicht 
    - §8-=-=- 
  READY-ITEM: 
    material: CHEST 
    display-name: §eTag %day 
    lore: 
    - §ajetzt abholen 
    - §8-=-=- 
    - §7§o[klick] 
    - §8-=-=- 
  RESTART-ITEM: 
    material: DIAMOND_BLOCK 
    display-name: §cStreak neustarten 
    lore: 
    - §7§o[klick] 
    - §8-=-=- 
    - §cAlle ausstehenden 
    - §cBelohnungen werden 
    - §cverloren gehen!

Video tutorials
(If you make a tutorial about the plugin, send me a private message and I will link it here.)

Similar projects

Plugin →