BattlePassQuest ✦Expansion✦ [DAILY, WEEKLY, ALWAYS] ItemsAdder support! [1.17 - 1.21] icon

BattlePassQuest ✦Expansion✦ [DAILY, WEEKLY, ALWAYS] ItemsAdder support! [1.17 - 1.21] -----

Quests, custom GUI!



[​IMG]
[​IMG]
DESCRIPTION
BattlepassQuest is an expansion of the " RevampBattlePass" plugin, this time paid, with the aim of being able to keep the main plugin free, thank you very much for your support!
Do not hesitate to enter my discord if you buy this plugin to receive active support:
*note* This is an expansion, yes! but it also works 100% independently, being a very complete plugin for quests!

IMAGES
[​IMG]
[​IMG]
[​IMG]

FURTHER
Create infinite quests, with support for all types of plugins and get xp or all types of rewards you choose.
Code (YAML):
Standard types
You can click on each type of quest for explanations on how to create them and examples.

BREAK
➜ The player must break blocks.
PLACE
➜ The player must place blocks.
CRAFT
➜ The player must craft items
EXP_POINTS
➜ The player must get a given amount of experience points.
EXP_LEVELS
➜ The player must get a given amount of experience levels.
PICKUP
➜ The player must pickup items.
LAUNCH
➜ The player must launch items.
Affected items
:
ENDER_PEARL
,
EGG
,
ARROW
,
SNOWBALL

CONSUME
➜ The player must consume items.
Affected items
:
POTIONS
,
FOOD
,
MILK_BUCKET

GET
➜ The player must have a specified number of an item.
The quest must be validated in the player interface.
COOK
➜ The player must cook items in a furnace.
The progress is updated when the player extracts the objects from the furnace.
This works with any item that can be cooked in a furnace.
ENCHANT
➜ The player must enchant tools on an enchantment table.
This works with any item that can be enchanted on an enchantment table!
KILL
➜ The player must be kill entities.
This works with mobs, animals and players.
For players, use
PLAYER
in "required_entity".
FISH
➜ The player must fish.
The progress is updated when the player retrieves what he has fished from his inventory.
The item required can be anything other than a fish, anything that can be caught.
BREED
➜ The player must breed animals.
TAME
➜ The player must tame wild animals.
SHEAR
➜ The player must shear an entity.
Affected entities
: SHEEP, MUSHROOM_COW, SNOWMAN
MILKING
➜The player must fill a bucket with milk.
This type does not need to specify a required item or entity.
VILLAGER_TRADE
➜ The player must trade with villager.
For this type, you can specify a required occupation or level for the exchange to be validated. You can specify both, only one of them, or neither
: the choice is yours.
LOCATION
➜ The player must travel to specific coordinates in a world.
It is possible to specify a radius.
The quest must be validated in the player interface.
CARVE
➜ The player must turn a pumpkin into a carved pumpkin.
PLAYER_DEATH
➜ The player must ... Die.
FARMING
➜ The player must harvest fully grown crops.
This works with all crops that have multiple stages of growth. You can find a list here.

Code (YAML):
Rewards types
All you need to know about rewards types.

Available quests types
:
Standard types
:
COMMAND
➜ The player will be receive some rewards commands.
The commands are executed through the console.
EXP_POINTS
➜ The player will be receive experience points.
EXP_LEVELS
➜ The player will be receive experience levels.
MONEY
➜ The player will be receive money.
Works with all economy plugins that include Vault.
POINTS
➜ The player will be receive points.
Supported plugins
: TokenManager, PlayerPoints

Here is how looks the reward section
:

Copy
reward
:
    reward_type
: POINTS
    currency_label
: "tokens"
    currency_display_name
: "&6&lQuests Tokens" # name that will be used in the reward message to the player
    amount
: 500

PLUGINS SUPPORT
Vault, RevampBattlePass, TokenManager, Citizens, PlaceholderAPI, PlayerPoints, MythicMobs, HolographicDisplays, WildStacker, RoseStacker, Multiverse-Core, MyWorlds, HeadDatabase, Oraxen, ItemsAdder, Towny, NuVotifier, CoinsEngine!

FILES
Code (Text):
Configuration file
All you need to know about the configuration file.

The plugin works as follows. When the player logs in, the plugin draws three random quests from the files. When the player logs out, the current quests are saved in a file. If the quests have been drawn for more than 24 hours, new ones replace them.

The plugin offers two modes:

Mode 1, which means that the quests will only come from the globalQuests.yml file.

Mode 2, which will give the player one quest per category file, i.e. an easy quest, a medium quest, and a hard quest.

You can select the mode you want, and change it at any time without changing the quest files.

However, if you change from one mode to another, we recommend that you delete the progress.yml file, because the next time the player logs in, it could generate errors, or the wrong quests could be loaded.

You can also change the names of the interfaces, the items to fill in the blanks, and the texts for the player menu.

For now, two storage methods are available : YAML and MySQL.

YAML : player progressions will be stored in a "progression.yml" file.

H2 : player progressions will be stored in a "database.mv.db" file.

MySQL : player progressions will be stored in a MySQL database. To configure, pleaser refer to the "database" section in the config.yml file.

The choice of storage only affects the progress of the players. Quests should always be created in the appropriate YAML files.

Please pay attention to the indentation on all YAML files. The slightest mismatch may cause errors when the plugin is loaded.

Also, you should never delete a variable, framed by percentages (%). These variables are used to display information such as quest names, rewards, number of items required...

This file supports HEX colour codes.

Anti-glitch
With the store_xx_xx options in the configuration file, you can prevent players from abusing quests, e.g. by breaking and placing the same block to make them progress.

Here is how it works:

Config. option    Involved quest type    Description
store_placed_blocks

BREAK

All blocks that have been placed by a player will not count in the quest progression.

store_broken_blocks

PLACE

All blocks that have been broken by a player will not count in the quest progression.

store_dropped_items

PICKUP

All items that have been dropped by a player will not count in the quest progression.

Warning: the options
store_broken_blocks
and
store_dropped_items
adds an NBT tag to the item dropped by the player. This means that its signature changes, and it will no longer be possible to stack them with unaffected items of the same type. However, these items are still normally usable.

The objects used are all stored using standard Spigot API objects: PersistentDataContainer and Metadata. This means that BattlePassQuest does not store anything itself, everything is managed by the server. So there shouldn't be any particular problems, except if the API changes from one version to another.

On the other hand, this kind of data is not saved after the server is restarted. But this will still limit abuse for the most part.

Custom types
Since the 2.3.0, it is possible to create custom quest types directly in the configuration file.

This kind of quest can be used with other plugins rewards or actions with the following command :
/bpa customcomplete <player> <type> <amount>

These quests can therefore only be progressed and completed via the command. This type of quest can be very useful if you need a type that doesn't already exist, linked to a plugin.

Let's take an example. You have a shop with rare items made with ShopGUI+, and one of your quests is to buy a Nether Star. In your BattlePassQuest configuration, you have the following block :

Copy
# ===========================================================
# CUSTOM QUESTS TYPES
# Here you can add custom quests types that can be complete only with command:
# /bpa customcomplete <player> <type> <amount>
# This kind of quest can be used with other plugins rewards or actions.
# ===========================================================

custom_types:
  - "BUY_NETHER_STAR"
Then you have the following item in your ShopGUI+ configuration :

Copy
1:
  type: command
  item:
    material: NETHER_STAR
    quantity: 1
  commands:
    - "give %PLAYER% nether_star 1"
    - "bpa customcomplete %PLAYER% BUY_NETHER_STAR 1"
  requireInventorySpace: true
  buyPrice: 100
  slot: 0

And that's it! When the player buys a Nether Star, the command will be executed, and if the player has a quest of type BUY_NETHER_STAR, it will progress by 1. If the player doesn't have the quest, nothing happens, quite simply.

You can create as many types as you like, associating one per action. You can use them wherever the other plugin lets you run commands as a console: dungeons, quests, mini-games, events... You can even complete them manually during your hand-managed events.

Copy
# if the plugin doesn't work as expected, set debug to true and send the log file to the developer.
debug: false

# never touch this line
version: 2.3.0

# plugin prefix for messaging
prefix: "&7[BattlePassQuest&7]"

# disable the logs when player quests are saved
# NEVER ask for support with this option enabled
disable_logs: false

# storage mode for quests & progression
# AVAILABLE MODES: YAML, MySQL,H2
# RECOMMENDED: H2
storage_mode: "H2"

# MySQL Database Connection
database:
  name: "MyDatabase"   # Database name
  host: "127.0.0.1"    # Database host
  user: "admin"        # Database user
  password: "1234"     # Database password
  port: "3306"         # Database port

# Select the mode of the quests.
# ==========================================================
# 1 : only the global quests will be loaded.
# The player's quests will only come from there.
# ==========================================================
# 2 : easy, medium and hard quests will be loaded.
# One quest per difficulty will be assigned to the players.
# ==========================================================
# You need to reset progressions if you change this mode.
quests_mode: 1

# Select the amount of daily quests given to the player.
# Apply to quests mode 1 (global).
global_quests_amount: 3

# Select the amount of daily quests given to the player.
# Apply to quests mode 2 (categorized).
easy_quests_amount: 1
medium_quests_amount: 1
hard_quests_amount: 1

# Select the mode of timestamp.
# ============================================================================
# 1 : quests will be reloaded at midnight for all players.
# ============================================================================
# 2 : player quests will be reloaded if active quests are older
# than the duration selected temporality mode.
# This means that each player will have new quests at a different login time.
# ============================================================================
# The timestamp depends on the machine on which your server is installed.
# Set the right time zone!
# ============================================================================
# You need to reset progressions if you change this mode.
timestamp_mode: 1

# Select the mode of temporality.
# ===================================
# 1 : daily quests.
# ===================================
# 2 : weekly quests.
# ===================================
# 3 : monthly quests.
# ===================================
# You need to reset progressions
# if you change this mode.
temporality_mode: 1

# Initials that will be displayed
# between the values on the placeholders.
# ex: 6d9h24m
temporality_initials:
  days: "d"
  hours: "h"
  minutes: "m"
  few_seconds: "Few seconds"

# Global Reward
# Will be given when the player has completed all his daily quests.
# The syntax is the same as for quest rewards.
global_reward:
  enabled: true
  reward_type: COMMAND
  commands:
    - "eco give %player% 5000"
    - "give %player% diamond_block 32"

# Categories Rewards
# Will be given when the player has completed all his daily quests of a precise category.
# The syntax is the same as for quest rewards, and the global reward.
# Will be by default disabled if the quests mode is set to 1.
categories_rewards:
  easy:
    enabled: true
    reward_type: COMMAND
    commands:
      - "eco give %player% 1000"
      - "give %player% diamond_block 16"
  medium:
    enabled: true
    reward_type: COMMAND
    commands:
      - "eco give %player% 2000"
      - "give %player% diamond_block 32"
  hard:
    enabled: true
    reward_type: COMMAND
    commands:
      - "eco give %player% 3000"
      - "give %player% diamond_block 64"

# If a player has two quests of the same type and with the same item/entity,
# choose if they should progress simultaneously
# or if the first should be completed before the second progresses.
synchronised_progression: false

# Set a title that will be displayed when a player completes a quest.
# Reminder: 20 ticks is equal to one second.
# Available placeholders : %player% , %questName%
title:
  enabled: true
  fadeIn: 10 # The default number of ticks for the title to fade in.
  stay: 70 # The default number of ticks for the title to stay.
  fadeOut: 20 # The default number of ticks for the title to fade out.
  text: "&aWell done, %player%"
  subtitle: "&aYou have completed the quest %questName% &a!" # Leave this field blank if you do not want a subtitle

# Set a message that will be displayed in the actionbar when a player completes a quest.
# Available placeholders : %player% , %questName%
actionbar:
  enabled: true
  text: "&eYou have completed the quest %questName%&e!"

# Set a message that will be displayed to the player when he progresses in a quest.
# Available placeholders : %player% , %questName% , %progressBar% , %progress% , %required%
# Available types : ACTIONBAR, BOSSBAR, CHAT
# /!\ The CHAT type is not recommended, it can cause chat spam.
progression_message:
  enabled: true
  text: "%progressBar% &7(&b%progress%&a/&b%required% &7- &e%questName%&7)"
  type: BOSSBAR
  bossbar: # only apply if type is set to BOSSBAR
    color: PURPLE # https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/boss/BarColor.html
    style: SEGMENTED_6 # https://hub.spigotmc.org/javadocs/bukkit/org/bukkit/boss/BarStyle.html

# Here you can customize the progress bar that can be used with the %progressBar% placeholder.
# symbol: the symbol that will be used to fill the progress bar.
# amount_of_symbols: the number of symbols that will be used.
# completed_color: the color of the symbols for the progress made.
# remaining_color: the color of the symbols for the progress to be achieved.
progress_bar:
  symbol: "|"
  amount_of_symbols: 20
  completed_color: "&a"
  remaining_color: "&7"

# Disables the progression of quests where you have to kill an entity if it comes from a Spawner.
disable_spawners_progression: false

# Determines if the player loses required items when completing a GET quest.
take_items_for_get_quests: false

# Determines if the quest can be rerolled even if it has already been completed, when using the reroll command.
reroll_only_if_not_achieved: true

# ===========================================================
# ANTI-GLITCH PART
# Here you can prevent some abuse from players, by storing the items they have used.
# ===========================================================

# All blocks that have been placed by a player will not count towards the progress of a BREAK quest.
store_placed_blocks: true

# All blocks that have been broken by a player will not count towards the progress of a PLACE quest.
#
# Warning: this option adds an NBT tag to the item(s) dropped by the block.
# This means that its signature changes, and it will no longer be possible to stack them with unaffected items of the same type.
# However, these items are still normally usable.
store_broken_blocks: false

# All items dropped by a player will not count towards the progress of a PICKUP quest.
#
# Warning: this option adds an NBT tag to the item dropped by the player.
# This means that its signature changes, and it will no longer be possible to stack them with unaffected items of the same type.
# However, these items are still normally usable.
store_dropped_items: false

# ===========================================================
# CUSTOM ITEMS SUPPORT
# ===========================================================

# Enable this if you are using IA items for quest menu or required items.
# NEVER enable this if you are NOT using ItemsAdder. The quests will not load.
use_itemsadder: false

# Enable this if you are using Oraxen items for quest menu or required items.
# NEVER enable this if you are NOT using Oraxen. The quests will not load.
use_oraxen: false

# Enable this if some plugins are modifying the furnace results.
# You should enable it if the furnace results can have a custom model data (e.g. with Oraxen).
# Enabled by default if you are using ItemsAdder.
use_custom_furnace_results: false

# ===========================================================
# CUSTOM QUESTS TYPES
# Here you can add custom quests types that can be complete only with command:
# /dqa customcomplete <player> <type> <amount>
# This kind of quest can be used with other plugins rewards or actions.
# More information on the Wiki.
# ===========================================================
custom_types:
  - "COMPLETE_DUNGEON"
  - "KILL_BOSS"
  - "BUY_VIP"

# ===========================================================

# interfaces settings
interfaces:
  next_item_name: "&a&lNext Page"
  previous_item_name: "&e&lPrevious Page"
  global_quests:
    inventory_name: "Quests - Global"
    empty_item: BLACK_STAINED_GLASS_PANE
  easy_quests:
    inventory_name: "Quests - Easy"
    empty_item: GREEN_STAINED_GLASS_PANE
  medium_quests:
    inventory_name: "Quests - Medium"
    empty_item: YELLOW_STAINED_GLASS_PANE
  hard_quests:
    inventory_name: "Quests - Hard"
    empty_item: RED_STAINED_GLASS_PANE

# You can disable quest progression in certain worlds.
# You must put here the name of the world (in theory the name of its directory).
# If you don't want to disable worlds, just put a single line with no name (- "").
# In addition, you can disable some worlds for each quest. Please refer to the Wiki.
#
# You can also use prefixes/suffixes to disable multiple worlds at once with the "?" character.
# For example, "?_survival" will disable all worlds ending with "_survival".
disabled_worlds:
  - "world_nether"
  - "world_the_end"

# ===========================================================
# INTEGRATIONS - Functionalities related to other plugins
# ===========================================================

# Citizens Implementation
# Here you can select NPCs names for each category.
# The player have to interact with the NPC to open an interface.
npcs:
  name_player: "&7Player Quests"
  name_global: "&4Global Quests"
  name_easy: "&a&lEasy &mQuests"
  name_medium: "&e&lMedium &rQuests"
  name_hard: "&cHard &b&lQuests"

# If you use WildStacker on your server to group mobs, set this parameter to "true".
use_wildstacker: false

# If you are using MythicMobs, you can set this parameter to "true" to share the mobs between players.
#
# It means that if someone kill a mob, the quest progression will be updated for all players
# that were involved in the fight and that have the quest.
shared_mobs: false
Code (Text):
# =================================================================================================================================
# ✨ BATTLEPASSQUEST FOR REVAMPBATTLEPASS ✨: https://www.spigotmc.org/resources/revampbattlepass-%E2%9C%A8-season-pass-%E2%9C%A8.117343/
#==================================================================================================================================

# ==============================================================
#                        EASY QUESTS FILE
# ==============================================================

quests:
  1:
    name: "&aCobblestone"
    menu_item: COBBLESTONE
    description:
      - ""
      - "&bMine 32 cobblestones."
      - "&eWin &b&m3 XP BattlePass."
    quest_type: BREAK
    required_item: COBBLESTONE
    required_amount: 32
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 3 &bXP&a!"
        - "battlepassadmin set xp <player> 3"
  2:
    name: "&6&lGold blocks"
    menu_item: GOLD_BLOCK
    description:
      - ""
      - "&eGet 16 gold blocks."
      - "&eWin &b&m5 XP BattlePass."
    quest_type: GET
    required_item: GOLD_BLOCK
    required_amount: 16
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 5 &bXP&a!"
        - "battlepassadmin set xp <player> 5"
  3:
    name: "Too many zombies"
    menu_item: ZOMBIE_HEAD
    description:
      - ""
      - "&cKill &65 &czombies."
      - "&eWin &b&m15 XP BattlePass."
    quest_type: KILL
    required_entity: ZOMBIE
    required_amount: 5
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"
Code (Text):
# =================================================================================================================================
# ✨ BATTLEPASSQUEST FOR REVAMPBATTLEPASS ✨: https://www.spigotmc.org/resources/revampbattlepass-%E2%9C%A8-season-pass-%E2%9C%A8.117343/
#==================================================================================================================================
# ==============================================================
#                       GLOBAL QUESTS FILE
# ==============================================================

quests:

  # example quest that is using the BREAK quest type
  1:
    name: "&aStone"
    menu_item: STONE
    description:
      - ""
      - "&bMine 32 stones."
      - "&bWin &c15 XP BattlePass&b."
    quest_type: BREAK
    required_item: STONE
    required_amount: 32
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using the GET quest type
  2:
    name: "&6&lGold blocks"
    menu_item: GOLD_BLOCK
    description:
      - ""
      - "&eGet 16 gold blocks."
      - "&bWin &c15 XP BattlePass&b."
    quest_type: GET
    required_item: GOLD_BLOCK
    required_amount: 16
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using the KILL quest type
  3:
    name: "Too many zombies"
    menu_item: ZOMBIE_HEAD
    description:
      - ""
      - "&cKill &65 &czombies."
      - "&bWin &c15 XP BattlePass&b."
    quest_type: KILL
    required_entity: ZOMBIE
    required_amount: 5
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using the TAME quest type
  4:
    name: "Best friend"
    menu_item: LEAD
    description:
      - ""
      - "&aTame a wolf."
      - "&bWin &c15 XP BattlePass&b."
    quest_type: TAME
    required_entity: WOLF
    required_amount: 1
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using the BREED quest type
  5:
    name: "More sheeps !"
    menu_item: WHITE_WOOL
    description:
      - ""
      - "&eBreed two sheeps."
      - "&bWin &c15 XP BattlePass&b."
    quest_type: BREED
    required_entity: SHEEP
    required_amount: 2
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using the SHEAR quest type
  6:
    name: "Mushrooms..."
    menu_item: RED_MUSHROOM
    description:
      - ""
      - "&eShear a mooshroom."
      - "&bWin &c15 XP BattlePass&b."
    quest_type: SHEAR
    required_entity: MUSHROOM_COW
    required_amount: 1
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using the VILLAGE_TRADE quest type
  7:
    name: "Emeralds !"
    menu_item: EMERALD
    description:
      - ""
      - "&eGet 2 emeralds from villager."
      - "&bWin &c15 XP BattlePass&b."
    quest_type: VILLAGER_TRADE
    required_item: EMERALD
    required_amount: 2
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using the VILLAGER_TRADE quest type with a specific villager profession and level
  8:
    name: "Cookieeeeees"
    menu_item: COOKIE
    description:
      - ""
      - "&eGet 32 cookies from"
      - "&ea &afarmer &evillager level &b3&e."
      - "&bWin &c15 XP BattlePass&b."
    quest_type: VILLAGER_TRADE
    villager_profession: FARMER
    villager_level: 3
    required_item: COOKIE
    required_amount: 32
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using the MYTHIC_MOBS quest type with a mob from MythicMobs
  9:
    name: "&b&lThe Big Boss Of Skeletons"
    menu_item: SKELETON_SKULL
    description:
      - ""
      - "&eKill the big boss of skeletons."
      - "&bWin &c15 XP BattlePass&b."
    quest_type: MYTHIC_MOBS
    entity_name: "&6Skeleton King"
    required_amount: 1
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"
        -

  # example quest that is using the GET quest type with a custom item
  11:
    name: "&d&lBeautiful flower"
    menu_item: ALLIUM
    description:
      - ""
      - "&eGet one &dbeautiful flower&e."
      - "&bWin &c15 XP BattlePass&b."
    quest_type: GET
    required_item: CUSTOM_ITEM
    custom_item:
      type: ALLIUM
      name: "&dBeautiful Flower"
      lore:
        - "&dThis flower is"
        - "&dvery useful..."
    required_amount: 1
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using the CRAFT quest type with a custom item
  12:
    name: "&aCraft the Saint Cobblestone."
    menu_item: COBBLESTONE
    description:
      - ""
      - "&bCraft a Saint Cobblestone."
      - "&bWin &c15 XP BattlePass&b."
    quest_type: CRAFT
    required_item: CUSTOM_ITEM
    custom_item:
      type: COBBLESTONE
      name: "&c&lThe Saint Cobblestone"
      lore:
        - "&cWoaaaaaaaw..."
    required_amount: 1
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using the MILKING quest type
  13:
    name: "&aMiiiiilk."
    menu_item: MILK_BUCKET
    description:
      - ""
      - "&bGet 2 milk buckets."
      - "&bWin &c15 XP BattlePass&b."
    quest_type: MILKING
    required_amount: 2
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using the EXP_POINTS quest type
  14:
    name: "&2Get 500 EXP points."
    menu_item: EXPERIENCE_BOTTLE
    description:
      - ""
      - "&6Reward:"
      - "&bWin &c15 XP BattlePass&b."
    quest_type: EXP_POINTS
    required_amount: 500
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"
        -
  # example quest that is using the EXP_LEVELS quest type
  15:
    name: "&2Get 5 EXP levels."
    menu_item: EXPERIENCE_BOTTLE
    description:
      - ""
      - "&6Reward:"
      - "&bWin &c15 XP BattlePass&b."
    quest_type: EXP_LEVELS
    required_amount: 5
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using the CARVE quest type
  16:
    name: "&2Carve 5 pumpkins."
    menu_item: PUMPKIN
    description:
      - ""
      - "&6Reward:"
      - "&bWin &c15 XP BattlePass&b."
    quest_type: CARVE
    required_amount: 5
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using the SHEAR quest type
  17:
    name: "&2Shear 3 sheeps."
    menu_item: WHITE_WOOL
    description:
      - ""
      - "&6Reward:"
      - "&bWin &c15 XP BattlePass&b."
    quest_type: SHEAR
    required_entity: SHEEP
    required_amount: 3
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using the SHEAR quest type with a specific color
  18:
    name: "&2Shear 3 purple sheeps."
    menu_item: PURPLE_WOOL
    description:
      - ""
      - "&6Reward:"
      - "&bWin &c15 XP BattlePass&b."
    quest_type: SHEAR
    required_entity: SHEEP
    sheep_color: PURPLE
    required_amount: 3
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using the PLAYER_DEATH quest type
  19:
    name: "&cImmortal"
    menu_item: SKELETON_SKULL
    description:
      - ""
      - "&cDie five times."
      - ""
      - "&6Reward:"
      - "&bWin &c15 XP BattlePass&b."
    quest_type: PLAYER_DEATH
    required_amount: 5
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using the LOCATION quest type
  20:
    name: "&aExplorer"
    menu_item: SKELETON_SKULL
    description:
      - ""
      - "&cGo to the following coordinates:"
      - "&cWorld: &bSpawn"
      - "&cX: &b-4"
      - "&cY: &b103"
      - "&cZ: &b45"
      - ""
      - "&6Reward:"
      - "&bWin &c15 XP BattlePass&b."
    quest_type: LOCATION
    location:
      world: Spawn
      x: -4
      y: 103
      z: 45
      radius: 3
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using the FARMING quest type
  21:
    name: "&aFarmer"
    menu_item: CARROT
    description:
      - ""
      - "&eHarvest 10 fully grown carrots."
      - "&bWin &c15 XP BattlePass&b."
    quest_type: FARMING
    required_item: CARROT
    required_amount: 10
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using an upgraded potion
  22:
    name: "&aSpeeeed..."
    menu_item: POTION
    description:
      - ""
      - "&eGet a speed potion level 1."
      - "&bWin &c15 XP BattlePass&b."
    quest_type: GET
    required_item: POTION
    potion:
      type: SPEED
      upgraded: true
      extended: false
    required_amount: 1
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using an extended potion
  23:
    name: "&cSpeeeed..."
    menu_item: POTION
    description:
      - ""
      - "&eGet a speed potion level 2."
      - "&bWin &c15 XP BattlePass&b."
    quest_type: GET
    required_item:
      - POTION
      - SPLASH_POTION
      - LINGERING_POTION
    potion:
      type: SPEED
      upgraded: false
      extended: true
    required_amount: 1
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using the required_worlds parameter
  24:
    name: "Original habitat"
    menu_item: WITHER_SKELETON_SKULL
    description:
      - ""
      - "&cKill a Wither in the Nether."
      - "&bWin &c15 XP BattlePass&b."
    quest_type: KILL
    required_entity: WITHER
    required_amount: 1
    required_worlds:
        - world_nether
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using Vault placeholders
  25:
    name: "Be rich"
    menu_item: PAPER
    description:
      - ""
      - "&cGet more than 1,000,000$."
      - "&bWin &c15 XP BattlePass&b."
    quest_type: PLACEHOLDER
    placeholder:
      value: "%vault_eco_balance%"
      operator: GREATER_THAN
      expected: 1000000
      error_message: "&cYou need more than 1,000,000$ to complete this quest."
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using LuckPerms placeholders
  26:
    name: "Be a VIP"
    menu_item: GOLD_INGOT
    description:
      - ""
      - "&6Become a VIP and..."
      - "&6show it to the world."
    quest_type: PLACEHOLDER
    placeholder:
      value: "%luckperms_in_group_vip%"
      operator: EQUALS
      expected: "true"
      error_message: "&cYou are not a VIP!"
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using ItemsAdder
  27:
    name: "Get some Thanos dust"
    menu_item: "itemsadder:thanos_namespace:thanos_dust"
    description:
      - ""
      - "&6Get some Thanos dust."
      - "&bWin &c15 XP BattlePass&b."
    quest_type: GET
    required_item: "itemsadder:thanos_namespace:thanos_dust"
    required_amount: 1
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using Oraxen
  28:
    name: "Get some Thanos dust"
    menu_item: "oraxen:thanos_dust"
    description:
      - ""
      - "&6Get some Thanos dust."
      - "&bWin &c15 XP BattlePass&b."
    quest_type: GET
    required_item: "oraxen:thanos_dust"
    required_amount: 1
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using MMOItems
  29:
    name: "Get some Thanos dust"
    menu_item: "mmoitems:thanos_category:thanos_dust"
    description:
      - ""
      - "&6Get some Thanos dust."
      - "&bWin &c15 XP BattlePass&b."
    quest_type: GET
    required_item: "mmoitems:thanos_category:thanos_dust"
    required_amount: 1
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using a custom head
  30:
    name: "Get the Thanos head"
    menu_item: "customhead:8f217869a64e9f215d9cc44f5a8bd7d7ea08cd73d2f95b97dc78e3a38ae2fa23"
    description:
      - ""
      - "&6Get the Thanos head."
      - "&bWin &c15 XP BattlePass&b."
    quest_type: GET
    required_item: "customhead:8f217869a64e9f215d9cc44f5a8bd7d7ea08cd73d2f95b97dc78e3a38ae2fa23"
    required_amount: 1
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using a custom model data
  31:
    name: "Get the Thanos head"
    menu_item: "custommodeldata:player_head:1234"
    description:
      - ""
      - "&6Get the Thanos head."
      - "&bWin &c15 XP BattlePass&b."
    quest_type: GET
    required_item: "custommodeldata:player_head:1234"
    required_amount: 1
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using the achieved_menu_item parameter
  32:
    name: "&aStone"
    menu_item: STONE
    achieved_menu_item: "customhead:b5a3b49beec3ab23ae0b60dab56e9cc8fa16769a25830b5d8d6c46378f54430" # checkmark head
    description:
      - ""
      - "&bMine 32 stones."
      - "&bWin &c15 XP BattlePass&b."
    quest_type: BREAK
    required_item: STONE
    required_amount: 32
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"

  # example quest that is using the CoinsEngine reward type
  33:
    name: "&aStone"
    menu_item: STONE
    achieved_menu_item: "customhead:b5a3b49beec3ab23ae0b60dab56e9cc8fa16769a25830b5d8d6c46378f54430" # checkmark head
    description:
      - ""
      - "&bMine 32 stones."
      - "&bWin &c15 XP BattlePass&b."
    quest_type: BREAK
    required_item: STONE
    required_amount: 32
    reward:
      reward_type: COMMAND
      commands:
        - "msg %player% &aYou have won 15 &bXP&a!"
        - "battlepassadmin set xp <player> 15"
Code (Text):
# =================================================================================================================================
# ✨ BATTLEPASSQUEST FOR REVAMPBATTLEPASS ✨: https://www.spigotmc.org/resources/revampbattlepass-%E2%9C%A8-season-pass-%E2%9C%A8.117343/
# =================================================================================================================================
# Here you can create your own player quests interface.
#
# ⚠️ Never delete a %variable% unless you know what you're doing.
# %achieved% is replaced by the number of completed quests.
# ⏳ %drawIn% is replaced by the time remaining before the next quests draw.
# ======================================================

player_interface:
  size: 27
  inventory_name: "      &3&l &b&lPersonal Quests"
  # disable the status of the quest if you want to handle it manually by placeholders
  disable_status: false
  # the 3 following lines will not be used if disable_status is set to true
  status: "&e&lStatus:"
  progress: "&e IN PROGRESS &f(&a%progress%&f/&c%required%&f)"
  achieved: "&a&l ACHIEVED"
  # if you want to glow the item when the quest is achieved
  glowing_if_achieved: true
  complete_get_type: "&e&l✅ Click to complete this quest!"

  player_head:
    enabled: true
    slot: 5
    item_name: "&b&l Your Quests"
    item_description:
      - ""
      - "&e Completed quests: &b%achieved%&e/&63"
      - "&e⏳ Next draw in: &c%drawIn%"

  # ========================================================
  # Available types: &eFILL, PLAYER_COMMAND, CONSOLE_COMMAND
  # Placeholders: &e%player%
  # More info on Wiki.
  # ========================================================

  quests: # set the position of quests items
    1: 12
    2: 14
    3: 16

  items:
    0:
      type: CLOSE
      item:
        material: REDSTONE_BLOCK
        name: "&c&l❌ Close"
        lore: []
        slot: 27
    1:
      type: PLAYER_COMMAND
      item:
        material: REDSTONE
        name: "&c&l⬅ Back"
        lore:
          - ""
          - "&e Go back to menu."
        slot: 19
      commands:
        - "battlepass"
    2:
      type: FILL
      item:
        material: GRAY_STAINED_GLASS_PANE
        slot: 1
    3:
      type: FILL
      item:
        material: GRAY_STAINED_GLASS_PANE
        slot: 2
    4:
      type: FILL
      item:
        material: GRAY_STAINED_GLASS_PANE
        slot: 3
    5:
      type: FILL
      item:
        material: GRAY_STAINED_GLASS_PANE
        slot: 4
    6:
      type: FILL
      item:
        material: GRAY_STAINED_GLASS_PANE
        slot: 6
    7:
      type: FILL
      item:
        material: GRAY_STAINED_GLASS_PANE
        slot: 7
    8:
      type: FILL
      item:
        material: GRAY_STAINED_GLASS_PANE
        slot: 8
    9:
      type: FILL
      item:
        material: GRAY_STAINED_GLASS_PANE
        slot: 9
    10:
      type: FILL
      item:
        material: GRAY_STAINED_GLASS_PANE
        slot: 10
    11:
      type: FILL
      item:
        material: GRAY_STAINED_GLASS_PANE
        slot: 11
    12:
      type: FILL
      item:
        material: GRAY_STAINED_GLASS_PANE
        slot: 13
    13:
      type: FILL
      item:
        material: GRAY_STAINED_GLASS_PANE
        slot: 15
    14:
      type: FILL
      item:
        material: GRAY_STAINED_GLASS_PANE
        slot: 17
    15:
      type: FILL
      item:
        material: GRAY_STAINED_GLASS_PANE
        slot: 18
    16:
      type: FILL
      item:
        material: GRAY_STAINED_GLASS_PANE
        slot: 20
    17:
      type: FILL
      item:
        material: GRAY_STAINED_GLASS_PANE
        slot: 21
    18:
      type: FILL
      item:
        material: GRAY_STAINED_GLASS_PANE
        slot: 22
    19:
      type: FILL
      item:
        material: GRAY_STAINED_GLASS_PANE
        slot: 23
    20:
      type: FILL
      item:
        material: GRAY_STAINED_GLASS_PANE
        slot: 24
    21:
      type: FILL
      item:
        material: GRAY_STAINED_GLASS_PANE
        slot: 25
    22:
      type: FILL
      item:
        material: GRAY_STAINED_GLASS_PANE
        slot: 26
 

Placeholders

Compatible with PlaceholderAPI.

You can use two placeholders in your scoreboards, tabs, or wherever you want as long as it is compatible with PlaceholderAPI.
  • %battlepassquest_total% ➜ Display the total number of achieved quests of the player.
  • %battlepassquest_drawin% ➜ Display the time remaining before the next quest draw for the player.
  • %battlepassquest_name_<index>% ➜ Display the name of the player's active quest.
  • %battlepassquest_desc_<index>_<line>% ➜ Display the description line of the selected quest.
  • %battlepassquest_progress_<index>% ➜ Display the current progression for a quest.
  • %battlepassquest_progressbar_<index>% ➜ Display the current progress bar for a quest.
  • %battlepassquest_iscompleted_<index>% ➜ Display the status of the selected quest. Returns true or false.
  • %battlepassquest_requiredamount_<index>% ➜ Display the required amount to complete the selected quest.
  • %battlepassquest_<global/easy/medium/hard>_<index>% ➜ Display the name of a quest from all the existing quests or from a category.

VIDEO DEMO

[​IMG]
Resource Information
Author:
----------
Total Downloads: 4
First Release: Nov 9, 2024
Last Update: Dec 18, 2024
Category: ---------------
All-Time Rating:
0 ratings
Version -----
Released: --------------------
Downloads: ------
Version Rating:
----------------------
-- ratings