BattlePass icon

BattlePass -----

GUI | Fully Configurable | Daily Quests | Weekly Quests | Per-Level Reward | EXP System | Database



about.png

5981c4ce950baf24f482e062e28119fda1ffacf5.png

BattlePass is a high performance and customizable battlepass plugin. You can create per-level rewards, custom quests.

features.png
  • Daily & Weekly Quests: Quests that reset and refresh daily and weekly, providing players with recurring challenges.
  • Per-Level Reward: Rewards are granted for each level achieved in the BattlePass, encouraging progression.
  • EXP System: A system to accumulate experience points (EXP) for leveling up and unlocking new rewards.
  • Database Support: Integration with a database to store and manage player progress and data efficiently.
Commands
  • /battlepass open
  • /battlepass give <player>
  • /battlepass remove <player>
  • /battlepass reload
Permissions
  • battlepass.command.help - Allows use of the /battlepass command
  • battlepass.command.open - Allows use of the /battlepass open command
  • battlepass.command.give - Allows use of the /battlepass give command
  • battlepass.command.remove - Allows use of the /battlepass remove command
  • battlepass.command.reload - Allows use of the /battlepass reload command
Code (YAML):
database :
  # Available: SQLite, MySQL
  type
: SQLite
  credentials
: # Only needed for MySQL
    host
: 127.0.0.1
    user
: root
    pass
: battlepass
    database
: battlepass
    # Advanced options MySQL & SQLite
    pool-size
: 15
    table-name-users
: "battlepass_users"
    table-name-claims
: "battlepass_claims"
    table-name-tracks
: "battlepass_tracks"
    table-name-level-claims
: "battlepass_level_claims"

Code (YAML):
global:
  all
: "ALL"
  prefix
: "&a[BattlePass]"

messages
:
  no-console
: '&cThis command can''t be used as a console!'
  no-permission
: '&cYou don''t have permission to use this command!'

commands
:
  descriptions
:
    admin
:
      open
: '&f&oOpen player battlepass gui'
      give
: '<player> &f&oGive the pass to the player'
      remove
: '<player> &f&oRemove the pass to the player'
      reload
: '&f&oOpen battlepass reload gui'
  reload-success
: '&aSuccessfully reloaded in {time }ms!'

rewards
:
  inventory-full
: "{prefix} &cYour inventory is full!"

# Trackables - lang
trackables
:
  AnimalsBred
:
    in-progress
: "&c&l✘ &7Bred animals&7: \n    &eProgress: [bar|{current}|{required}|15|▪|&a|&7] &f({current}&f/{required})"
    complete
: "&a&l✔ &7Bred animals"
  BlockBroke
:
    in-progress
: "&c&l✘ &7Mine blocks &6{type}&7: \n    &eProgress: [bar|{current}|{required}|15|▪|&a|&7] &f({current}&f/{required})"
    complete
: "&a&l✔ &7Mine blocks"
  BlockPlaced
:
    in-progress
: "&c&l✘ &7Placed blocks &6{type}&7: \n    &eProgress: [bar|{current}|{required}|15|▪|&a|&7] &f({current}&f/{required})"
    complete
: "&a&l✔ &7Placed blocks"
  ItemBroke
:
    in-progress
: "&c&l✘ &7Break items &6{type}&7: \n    &eProgress: [bar|{current}|{required}|15|▪|&a|&7] &f({current}&f/{required})"
    complete
: "&a&l✔ &7Break items"
  ItemCrafted
:
    in-progress
: "&c&l✘ &7Craft &6{type}&7: \n    &eProgress: [bar|{current}|{required}|15|▪|&a|&7] &f({current}&f/{required})"
    complete
: "&a&l✔ &7Craft"
  MobKill
:
    in-progress
: "&c&l✘ &7Kill mobs &6{type}&7: \n    &eProgress: [bar|{current}|{required}|15|▪|&a|&7] &f({current}&f/{required})"
    complete
: "&a&l✔ &7Kill mobs"
  PlayerKills
:
    in-progress
: "&c&l✘ &7Kill players&7: \n    &eProgress: [bar|{current}|{required}|15|▪|&a|&7] &f({current}&f/{required})"
    complete
: "&a&l✔ &7Kill players"
  PlayTimes
:
    in-progress
: "&c&l✘ &7Stay online &6{type}&7: \n    &eProgress: [bar|{current}|{required}|15|▪|&a|&7] &f({current}&f/{required})"
    complete
: "&a&l✔ &7Stay online {type}"

time
:
  # https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
  style
: "dd/MM/yyyy HH:mm:ss"
  lang
:
    never
: 'never'
    years
: "{time} years"
    months
: "{time} months"
    weeks
: "{time} weeks"
    days
: "{time} days"
    hours
: "{time} hours"
    minutes
: "{time} minutes"
    seconds
: "{time} seconds"

Code (YAML):
general:
   level-exp
:
      method
: USER_DEFINED
      first-level-exp
: 100
      expression
: ' {current_level_exp } * 2'
   max-level
: '100'
levels
:
   '1'
:
      rewards
:
         item1
:
            type
: ITEM
            material
: STICK
            name
: '&8 (x1 ) &a&lMagic Stick'
            restricted
: true
            lore
:
           - '&7I''m a magic stick! :O'
            enchants
:
           - DURABILITY|1
            flags
:
           - HIDE_ENCHANTS
         item2
:
            type
: ITEM
            material
: STICK
            name
: '&8 (x1 ) &7&lMagic Stick'
            restricted
: false
            lore
:
           - '&7I''m a (poor people''s ) stick! :O'
   '2'
:
      rewards
:
         item1
:
            type
: COMMAND
            commands
:
           - p:/say Hi! I'm {player }
            material
: PAPER
            name
: '&fCommand : &e{command}'

Code (YAML):
quests:
  weekly
:
    'stoneMiner'
:
      # The quest name displayed in the GUI
      name
: 'Stone Miner'
      # Time when the quest will be released
      # The time must be in a valid 24-hour format like this:
      # Day/Month/Year Hour:Minute:Second
      # Example:
      # 05/05/2020 04:02:05
      start
: '23/03/2025 12:00:00'
      # Time when the quest will be unavailable
      # The time must be in a valid 24-hour format like this:
      # Day/Month/Year Hour:Minute:Second
      # Example:
      # 05/05/2020 06:02:05
      expire
: '30/03/2025 12:00:00'
      requirements
:
       - ' [block-broke|STONE ] 500'
      exp
: 50
  daily
:
    # BE AWARE! THIS MUST BE UNIQUE FOR EACH QUEST.
    # QUESTS WITH SAME ID WILL BE CONSIDERED AS ONE
    'stoneMiner'
:
      # The quest name displayed in the GUI
      name
: 'Stone Miner'
      # Time when the quest will be released
      # The time must be in a valid 24-hour format like this:
      # Day/Month/Year Hour:Minute:Second
      # Example:
      # 05/05/2020 04:02:05
      start
: '23/03/2025 12:00:00'
      # Time when the quest will be unavailable
      # The time must be in a valid 24-hour format like this:
      # Day/Month/Year Hour:Minute:Second
      # Example:
      # 05/05/2020 06:02:05
      expire
: '24/03/2025 12:00:00'
      requirements
:
       - ' [block-broke|STONE ] 100'
      exp
: 10

Code (YAML):
general:
  fill
:
    enabled
: true
    item
:
      material
: GRAY_STAINED_GLASS_PANE
      amount
: 1
      data
: 7
      name
: "&0"
      lore
: [ ]

main
:
  name
: "&8BattlePass"
  items
:
    # Available actions:
    # DISPLAY, SHOW_LEVELS, SHOW_DAILY_QUESTS, SHOW_WEEKLY_QUESTS
    'player'
:
      action
: DISPLAY
      enabled
: true
      slot
: 13
      item
:
        material
: head| {player }
        name
: "&aYour Info:"
        lore
:
         - ''
          - '&7Your level
: &f{level}'
          - '&7Your exp
: &e{player-exp}'
          - '&7Exp required to level up
: &c{required-exp}'
          - ''
          - '&eProgress:'
          - ' [bar| {player-exp }| {required-exp }|20|▪|&6|&f ]'
          - ''
    'levels'
:
      action
: SHOW_LEVELS
      enabled
: true
      slot
: 11
      item
:
        material
: EXPERIENCE_BOTTLE
        name
: "&6Show levels"
    'daily-quests'
:
      action
: SHOW_QUESTS
      enabled
: true
      slot
: 15
      item
:
        material
: BOOK
        name
: "&6Quests"

levels
:
  name
: '&8Levels'
  # Available styles:
  # NORMAL - 9 slots reserved for levels
  # BIG - 45 slots reserved for levels
  style
: NORMAL
  items
:
    arrow-back
:
      material
: ARROW
      name
: '&cGo Back'
      lore
:
       - '&7Go Back to Previous Page'
    arrow-next
:
      material
: ARROW
      name
: '&aNext Page'
      lore
:
       - '&7Go to the Next Page'
    level-locked
:
      material
: 'RED_STAINED_GLASS_PANE'
      data
: 14
      name
: "&cLevel &e{level}"
      lore
:
       - '&cThis level is locked.'
        - '&cYour level
: &e{player_level}'
        - '&cRequired level
: &e{level}'
        - '&7&o (Click to see the rewards )'
    level-current
:
      material
: 'YELLOW_STAINED_GLASS_PANE'
      data
: 4
      name
: "&aLevel &e{level}"
      lore
:
       - '&aThis is your current level.'
        - '&7&o (Click to see the rewards )'
    level-unlocked
:
      material
: 'WHITE_STAINED_GLASS_PANE'
      data
: 0
      name
: "&aLevel &e{level}"
      lore
:
       - '&fYou already unlocked this level'
        - '&7&o (Click to see the rewards )'
    unclaimed
:
      material
: 'GREEN_STAINED_GLASS_PANE'
      data
: 0
      name
: "{name} &6&l*UNCALIMED*"
      lore
:
       - ''
        - '&6You have unclaimed rewards!'
        - ' {lore }'
      enchants
:
       - 'DURABILITY|1'
      flags
:
       - 'HIDE_ENCHANTS'

rewards
:
  name
: 'Level {level } rewards'
  items
:
    frame
:
      enabled
: true
      slots
: 0,1,2,3,4,5,6,7,8,9,17,18,2,26,27,35,36,44,45,46,47,48,49,50,51,52,53
      material
: ORANGE_STAINED_GLASS_PANE
      data
: 1
      name
: '&0'
    empty
:
      material
: RED_STAINED_GLASS_PANE
      data
: 14
      name
: "&cEmpty"
      lore
:
       - ''
        - '&7This level has no rewards'
    restricted
:
      material
: 'RED_STAINED_GLASS_PANE'
      name
: "{name} &c&l*RESTRICTED*"
      lore
:
       - ''
        - '&cYou need to buy the BattlePass to get this item!'
    unclaimed
:
      material
: 'GREEN_STAINED_GLASS_PANE'
      name
: "{name} &6*UNCLAIMED*"
      lore
:
       - ' {lore }'
        - ''
        - '&6This reward is unclaimed!'
        - '&7Click to claim it!'
      enchants
:
       - 'DURABILITY|1'
      flags
:
       - 'HIDE_ENCHANTS'
    go-back
:
      slot
: 45
      material
: ARROW
      name
: "&cGo Back"
      lore
:
       - '&7To Levels GUI'

quest-type
:
  name
: "&8Quests"
  items
:
    weekly
:
      slot
: 12
      material
: BOOK
      name
: "&bWeekly Quests"
    daily
:
      slot
: 14
      material
: BOOK
      name
: "&bDaily Quests"

quests
:
  daily
:
    # The time before refresh all the items in the GUI. Set to -1 to disable.
    update-delay
: 20 # Time must be in ticks.
    name
: "&8Daily Quests"
    # Available styles:
    # NORMAL - The quest disappear after the claim
    # STAY - The claimed quests will appear in the last slots
    style
:
    items
:
      available
:
        material
: WRITABLE_BOOK
        name
: "&aAvailable! &f{name}"
        lore
:
         - ''
          - '&7Status
: &eACTIVE'
          - '&7Start
: &f{start}'
          - '&7End
: &c{end}'
          - ''
          - '&eProgress:'
          - ' {requirements }'
      complete
:
        material
: BOOK
        name
: "&aCOMPLETED &f(Stone Miner)"
        enchants
:
         - 'DURABILITY|1'
        flags
:
         - 'HIDE_ENCHANTS'
        lore
:
         - ''
          - '&aYou completed this quest!'
          - '&7Click to get your level exp!'
          - ''
  weekly
:
    # The time before refresh all the items in the GUI. Set to -1 to disable.
    update-delay
: 20 # Time must be in ticks.
    name
: "&8Weekly Quests"
    items
:
      available
:
        material
: WRITABLE_BOOK
        name
: "&aAvailable! &f{name}"
        lore
:
         - ''
          - '&7Status
: &eACTIVE'
          - '&7Start
: &f{start}'
          - '&7End
: &c{end}'
          - ''
          - '&eProgress:'
          - ' {requirements }'
      complete
:
        material
: BOOK
        name
: "&a&lCOMPLETED &f(Stone Miner)"
        enchants
:
         - 'DURABILITY|1'
        flags
:
         - 'HIDE_ENCHANTS'
        lore
:
         - ''
          - '&aYou completed this quest!'
          - '&7Click to get your level exp!'
          - ''

Developer API
  • BattlePassPlayerLevelUpEvent
2025-01-20_18.42.38.png

2025-01-20_18.42.45.png

2025-01-20_18.42.49.png

2025-01-20_18.42.51.png

2025-01-20_18.42.57.png

For support, please use only resource discussion

Terms of Service

By using this plugin, you agree to the following terms, which may be updated by the author at any time.
  • All payments are final and non-refundable.
  • Redistribution or resale of this plugin is prohibited.
  • You are not permitted to modify, decompile, or extract any part of the plugin's source code.
  • Support is provided exclusively to legitimate customers. We cannot offer support for plugins obtained through unauthorized or illegal means.
Resource Information
Author:
----------
Total Downloads: 3
First Release: Jan 25, 2025
Last Update: Apr 8, 2025
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings