Achievement System

Reward players for completing challenges, milestones, or special actions. Track progress and provide incentives for continued play.

Simple Achievement

Award achievement for first join:

/cmd add first_join execute unless score @s achievements matches 1.. run scoreboard players add @s achievements 1 && tellraw @s {"text":"Achievement Unlocked: Welcome!","color":"gold"} && give @s emerald 5

Progress Tracking

Track mining achievements:

/cmd add mine_check execute store result score @s mined_diamond run clear @s diamond 0 && execute if score @s mined_diamond matches 100.. unless score @s ach_miner achievements matches 1 run scoreboard players add @s ach_miner achievements 1 && tellraw @s {"text":"Achievement: Diamond Miner!","color":"aqua"}

Custom Syntax Achievements

// In syntax.json
{
  "achievement": {
    "pattern": "/achievement ",
    "description": "Award an achievement to a player"
  },
  "achievements": {
    "pattern": "/achievements ",
    "description": "View player's achievements"
  }
}

// In aliases.json
{
  "achievement_name": "scoreboard players add ${achievement_player} ach_${achievement_name} 1 && tellraw ${achievement_player} {\"text\":\"Achievement: ${achievement_name}!\",\"color\":\"gold\"}",
  "achievements_player": "tellraw @s [\"\",{\"text\":\"${achievements_player}'s Achievements: \",\"color\":\"yellow\"},{\"score\":{\"name\":\"${achievements_player}\",\"objective\":\"achievements\"},\"color\":\"green\"}]"
}

Timed Achievements

Achievements that require speed:

/cmd add speedrun execute if score @s playtime matches ..1200 run scoreboard players add @s ach_speedrun achievements 1 && tellraw @s {"text":"Achievement: Speedrunner!","color":"red"} && give @s netherite_ingot 1