Objective Actions
This page explains every quest.objectives.type supported by FioCommunityQuests when creating a new community quest.
Use these action types inside a quest file:
quest:
objectives:
duration: "1d"
type: "BLOCK_BREAK"
goal: 1000
required:
- "STONE"
Shared format
Most objective actions use the same target list format:
required:
- "TARGET"
- "TARGET:POINTS"
- "*"
| Format | Meaning |
|---|---|
TARGET | Matching action gives 1 contribution point. |
TARGET:POINTS | Matching action gives custom contribution points. |
* | Any target for that objective type can count. |
The goal is the total community progress required to complete the quest.
BLOCK_BREAK
Adds progress when a player breaks a matching block.
quest:
objectives:
type: "BLOCK_BREAK"
goal: 120000
required:
- "STONE"
- "DEEPSLATE:2"
Notes:
- Targets are Bukkit block material names.
settings.naturalBlocks: trueprevents progress from blocks placed by players and then broken.- If a broken block is a fully grown crop,
FARMINGcan also be checked separately.
BLOCK_PLACE
Adds progress when a player places a matching block.
quest:
objectives:
type: "BLOCK_PLACE"
goal: 50000
required:
- "OAK_PLANKS"
- "STONE_BRICKS"
Notes:
- Targets are Bukkit block material names.
- Placed egg blocks are also tracked for
HATCHINGwhen they later hatch.
BLOCK_FERTILIZE
Adds progress when a player uses bone meal on a matching block or crop.
quest:
objectives:
type: "BLOCK_FERTILIZE"
goal: 25000
required:
- "WHEAT"
- "CARROTS"
- "POTATOES"
Notes:
- Targets are Bukkit block material names.
settings.naturalCrops: trueblocks progress from crops that were placed by a player and immediately fertilized.
BUCKET_EMPTY
Adds progress when a player empties a matching bucket into the world.
quest:
objectives:
type: "BUCKET_EMPTY"
goal: 8000
required:
- "WATER_BUCKET"
- "LAVA_BUCKET"
- "POWDER_SNOW_BUCKET"
Legacy alias:
EMPTY_BUCKET
FARMING
Adds progress when a player breaks a fully grown crop.
quest:
objectives:
type: "FARMING"
goal: 40000
required:
- "WHEAT"
- "CARROTS"
- "POTATOES"
Notes:
- The block must use ageable crop data and be fully grown.
settings.naturalCrops: truecan prevent planted-and-farmed exploit progress.
HATCHING
Adds progress when a player hatches a matching egg.
quest:
objectives:
type: "HATCHING"
goal: 3000
required:
- "EGG"
- "TURTLE_EGG"
- "SNIFFER_EGG"
Supported hatching materials from source:
EGGTURTLE_EGGSNIFFER_EGGBROWN_EGGBLUE_EGG
Legacy alias:
HATCH_EGG
ENTITY_BRED
Adds progress when a player breeds a matching entity.
quest:
objectives:
type: "ENTITY_BRED"
goal: 10000
required:
- "COW"
- "SHEEP"
- "PIG"
Targets are Bukkit entity type names.
Legacy aliases:
BREEDBREED_ENTITY
ENTITY_DEAL_DAMAGE
Adds progress when a player deals damage to a matching entity.
quest:
objectives:
type: "ENTITY_DEAL_DAMAGE"
goal: 1000
required:
- "IRON_GOLEM;1000"
- "ZOMBIE;200"
Format:
<ENTITY>;<TOTAL_DAMAGE>
Notes:
- Damage progress uses the final damage rounded up.
- Players can count as targets too, but same-IP player kill protection is handled elsewhere for kills.
*;1000can be used to allow any damaged entity.
Legacy aliases:
DEAL_DAMAGEENTITY_DAMAGEDAMAGE_ENTITY
HUNT
Adds progress when a player kills a matching entity.
quest:
objectives:
type: "HUNT"
goal: 30000
required:
- "ZOMBIE"
- "SKELETON"
- "CREEPER"
Notes:
- Targets are Bukkit entity type names.
settings.naturalMobSpawns: trueblocks mobs spawned from spawn eggs.settings.SpawnerNotCount: trueblocks mobs spawned by spawners.settings.blockSameIP: trueblocks same-IP player kill progress.
Legacy aliases:
KILL_ENTITYENTITY_KILL
FISHING
Adds progress when a player catches a matching item from fishing.
quest:
objectives:
type: "FISHING"
goal: 12000
required:
- "COD"
- "SALMON"
- "PUFFERFISH"
Notes:
- If the caught result is an item, its Bukkit material name is used.
- If the caught result is not an item,
*is used as the target.
Legacy aliases:
FISHFISH_CAUGHT
BREWING_INGREDIENTS
Adds progress when a player brews using a matching ingredient.
quest:
objectives:
type: "BREWING_INGREDIENTS"
goal: 12000
required:
- "NETHER_WART"
- "MAGMA_CREAM"
- "GHAST_TEAR"
Notes:
- Targets are raw ingredient material names.
- The plugin tracks the player who last placed the brewing ingredient.
- Completed potions can also be counted by
BREWING_POTIONS.
Legacy aliases:
BREWINGBREW_INGREDIENT
BREWING_POTIONS
Adds progress when a brewed potion result matches a potion effect and tier.
quest:
objectives:
type: "BREWING_POTIONS"
goal: 6000
required:
- "SPEED;1"
- "STRENGTH;2"
Format:
<POTION_TYPE>;<MIN_TIER>
<POTION_TYPE>;<MIN_TIER>:<POINTS>
Notes:
- Tier
1is normal. - Tier
2is upgraded. - Potion type names come from Bukkit potion data, for example
SPEED.
Legacy aliases:
BREW_POTIONBREWING_POTION
CRAFTING
Adds progress when a player crafts a matching item.
quest:
objectives:
type: "CRAFTING"
goal: 60000
required:
- "STICK"
- "DIAMOND_PICKAXE"
Notes:
- Targets are crafted result material names.
- Progress amount is multiplied by the recipe result amount.
Legacy aliases:
CRAFTITEM_CRAFT
SMELTING
Adds progress when a furnace smelts a matching input material.
quest:
objectives:
type: "SMELTING"
goal: 45000
required:
- "RAW_IRON"
- "IRON_ORE"
- "GOLD_ORE"
Notes:
- Targets are the input/source material, not the output item.
- The plugin tracks which player interacted with the furnace input.
Legacy alias:
SMELT
SMITHING
Adds progress when a player uses a smithing table to create a matching result item.
quest:
objectives:
type: "SMITHING"
goal: 1000
required:
- "NETHERITE_SWORD"
- "NETHERITE_PICKAXE"
Notes:
- Targets are smithing result material names.
- Progress amount is multiplied by the result amount.
Legacy aliases:
SMITHSMITH_ITEM
COMPOSTING
Adds progress when a player uses a matching item on a composter.
quest:
objectives:
type: "COMPOSTING"
goal: 10000
required:
- "WHEAT_SEEDS"
- "CARROT:2"
Notes:
- Targets are the item material used on the composter.
- The action is detected from right-clicking a composter with an item.
Legacy aliases:
COMPOSTCOMPOST_ITEM
TRADING
Adds progress when a player receives a matching trade result from a villager, wandering trader, or merchant inventory.
quest:
objectives:
type: "TRADING"
goal: 20000
required:
- "EMERALD;ANY"
- "ARROW;FLETCHER"
- "GOLDEN_CARROT;FARMER:2"
Format:
<MATERIAL_TO_GET>;<VILLAGER_JOB>
<MATERIAL_TO_GET>;<VILLAGER_JOB>:<POINTS>
Notes:
- Use
ANYor*for every villager job. - Wandering traders use
WANDERING_TRADER. - Progress amount is multiplied by the result item amount.
Legacy aliases:
TRADEVILLAGER_TRADEMERCHANT_TRADE
MILKING
Adds progress when a player successfully milks a matching entity.
quest:
objectives:
type: "MILKING"
goal: 5000
required:
- "COW"
- "MOOSHROOM_COW"
- "GOAT"
Notes:
- The player must use a bucket and receive a milk bucket.
MUSHROOM_COWis also mapped toMOOSHROOM_COWcompatibility.
Legacy aliases:
MILKMILK_ENTITY
BARTERING
Adds progress when a player barters with a Piglin and receives a matching item.
quest:
objectives:
type: "BARTERING"
goal: 10000
required:
- "GRAVEL"
- "ENDER_PEARL"
Notes:
- Targets are Piglin barter outcome material names.
- Progress amount is multiplied by the outcome item amount.
Legacy aliases:
BARTERPIGLIN_BARTER
CURING
Adds progress when a player cures a matching entity.
quest:
objectives:
type: "CURING"
goal: 100
required:
- "ZOMBIE_VILLAGER"
Notes:
- Current source detects
ZOMBIE_VILLAGERtransforming intoVILLAGER. - The player is tracked from Bukkit conversion player data or earlier golden apple interaction.
Legacy aliases:
CURECURE_ENTITYZOMBIE_VILLAGER_CURE
PLAYTIME
Adds progress every second while a player is online and allowed to progress.
quest:
objectives:
type: "PLAYTIME"
goal: 3600
required:
- "1h"
Notes:
- Required values can be raw seconds or duration strings.
- Supported duration units:
y,mo,w,d,h,m,s. - If no valid required duration is provided, the plugin uses
goal.
Legacy aliases:
TIME_PLAYEDPLAY_TIMEONLINE_TIME
PLACEHOLDERAPI
Adds progress when a PlaceholderAPI comparison passes for a player.
quest:
objectives:
type: "PLACEHOLDERAPI"
goal: 1
value: "%vault_eco_balance%"
operator: ">="
endValue: "10000"
required:
- "*"
Notes:
- PlaceholderAPI must be installed.
- The plugin checks placeholder quests every 5 seconds.
- When the comparison passes, the player receives 1 progress.
- Numeric comparisons ignore commas.
Supported operators:
>>=<<===!==as alias for===<as alias for<=
Legacy aliases:
PLACEHOLDERPAPI
EXP_POINTS
Adds progress when a player gains raw experience points.
quest:
objectives:
type: "EXP_POINTS"
goal: 250000
required:
- "250000"
Notes:
- Only positive experience changes count.
- If
requiredcontains a positive number, that number is treated as the goal helper. - If
requiredcontains*or no valid number,goalis used.
Legacy alias:
EXP
EXP_LEVELS
Adds progress when a player gains Minecraft experience levels.
quest:
objectives:
type: "EXP_LEVELS"
goal: 1000
required:
- "1000"
Notes:
- Only level increases count.
- Losing levels does not add progress.
- If
requiredcontains a positive number, that number is treated as the goal helper.
Legacy aliases:
LEVELSEXP_LEVEL
PROJECTILE_LAUNCH
Adds progress when a player launches a matching projectile.
quest:
objectives:
type: "PROJECTILE_LAUNCH"
goal: 20000
required:
- "ARROW"
- "SNOWBALL"
- "ENDER_PEARL"
- "TRIDENT"
Targets are Bukkit projectile entity type names.
Legacy aliases:
LAUNCH_PROJECTILEPROJECTILE
SHEARING
Adds progress when a player shears a matching entity or wool color.
quest:
objectives:
type: "SHEARING"
goal: 15000
required:
- "WOOL"
- "WHITE_WOOL"
- "BLACK_WOOL"
Notes:
- Sheep return their wool material name, such as
WHITE_WOOL. WOOLmatches any sheep wool color.- Non-sheep entities use the entity type as the target.
Legacy aliases:
SHEARSHEAR_ENTITY
RESSURECTION
Adds progress when a player is saved by a totem of undying.
quest:
objectives:
type: "RESSURECTION"
goal: 10
required:
- "TOTEM_OF_UNDYING"
Notes:
- The source spelling is
RESSURECTION. - The player must be holding a totem in main hand or off hand when the resurrect event fires.
Legacy aliases:
RESURRECTIONTOTEM_POPTOTEM_OF_UNDYING
ITEM_ENCHANT
Adds progress when a player enchants a matching item material.
quest:
objectives:
type: "ITEM_ENCHANT"
goal: 100
required:
- "DIAMOND_SWORD"
Notes:
- Targets are enchanted item material names.
- Use
ENCHANTINGwhen you want to match the enchantment name and level instead of the item material.
Legacy alias:
ENCHANT_ITEM
ENCHANTING
Adds progress when a player enchants an item with a matching enchantment and minimum level.
quest:
objectives:
type: "ENCHANTING"
goal: 800
required:
- "SHARPNESS:1"
- "UNBREAKING:3:2"
tools:
- "*_SWORD"
- "DIAMOND_PICKAXE"
Required format:
<ENCHANT>
<ENCHANT>:<MIN_LEVEL>
<ENCHANT>:<MIN_LEVEL>:<POINTS>
Tool filter format:
tools: "ANY"
or:
tools:
- "*_SWORD"
- "*_PICKAXE"
- "DIAMOND_AXE"
Notes:
toolscan beANY,*, exact material names, or wildcard patterns.- Enchant names are normalized and support namespaced keys.
Legacy alias:
ENCHANT
CONSUME
Adds progress when a player consumes a matching item.
quest:
objectives:
type: "CONSUME"
goal: 10000
required:
- "GOLDEN_APPLE"
- "POTION"
Targets are consumed item material names.
Legacy alias:
ITEM_CONSUME
MANUAL
Does not listen to gameplay automatically. Progress must be added by command/API or custom integration.
quest:
objectives:
type: "MANUAL"
goal: 100
required:
- "*"
Useful API method:
api.addProgress(player.getUniqueId(), player.getName(), "quest_id", 1);
Manual quests are useful for:
- custom scripts
- admin-controlled events
- external plugin integrations
- special quests that should only progress from API calls
Legacy aliases summary
| Alias | Normalized action |
|---|---|
BREAK_BLOCK | BLOCK_BREAK |
PLACE_BLOCK | BLOCK_PLACE |
HATCH_EGG | HATCHING |
EMPTY_BUCKET | BUCKET_EMPTY |
KILL_ENTITY, ENTITY_KILL | HUNT |
BREED, BREED_ENTITY | ENTITY_BRED |
DEAL_DAMAGE, ENTITY_DAMAGE, DAMAGE_ENTITY | ENTITY_DEAL_DAMAGE |
FISH, FISH_CAUGHT | FISHING |
BREWING, BREW_INGREDIENT | BREWING_INGREDIENTS |
BREW_POTION, BREWING_POTION | BREWING_POTIONS |
CRAFT, ITEM_CRAFT | CRAFTING |
SMELT | SMELTING |
SMITH, SMITH_ITEM | SMITHING |
COMPOST, COMPOST_ITEM | COMPOSTING |
TRADE, VILLAGER_TRADE, MERCHANT_TRADE | TRADING |
MILK, MILK_ENTITY | MILKING |
BARTER, PIGLIN_BARTER | BARTERING |
CURE, CURE_ENTITY, ZOMBIE_VILLAGER_CURE | CURING |
TIME_PLAYED, PLAY_TIME, ONLINE_TIME | PLAYTIME |
PLACEHOLDER, PAPI | PLACEHOLDERAPI |
EXP | EXP_POINTS |
LEVELS, EXP_LEVEL | EXP_LEVELS |
LAUNCH_PROJECTILE, PROJECTILE | PROJECTILE_LAUNCH |
SHEAR, SHEAR_ENTITY | SHEARING |
RESURRECTION, TOTEM_POP, TOTEM_OF_UNDYING | RESSURECTION |
ENCHANT_ITEM | ITEM_ENCHANT |
ENCHANT | ENCHANTING |
ITEM_CONSUME | CONSUME |
This page is source-backed from QuestActionType.java, QuestProgressListener.java, and Quest.java.