Reward Types

Quest rewards are defined in the rewards property of a quest. They are a list of reward objects, each of which can be one of the following types:

questlog:item

Gives the player an item.

Properties

  • item: Either the item ID string (e.g. "minecraft:diamond") or a full item object containing custom components/enchantments (e.g. {"id": "minecraft:enchanted_book", "components": {"minecraft:stored_enchantments": {"levels": {"minecraft:fortune": 3}}}}).
  • count (optional, default: 1): The amount of the item to give the player. (Can also be defined inside the item object).

questlog:command

Runs a command as the player, at the player's position. If permission_level is specified, the command is run with that permission level.

Properties

  • command: The command to run, must be prefixed with /.
  • permission_level (optional, default: 2): The command's permission level, when ran as the player (player needn't have this permission level). See: Java Edition Commands - minecraft.wiki

questlog:experience

Gives the player experience

Properties

  • experience: The amount of experience to give the player
  • level (optional, default: false): Whether to give the player levels instead of points

questlog:loot_table

Gives the player loot from a loot table. The loot context is set as such:

  • This entity: player
  • Origin: player's position
  • Killer entity: player
  • Level: the world the player is in

Properties

  • loot_table: The loot table to give the player. If the table does not exist, it will log an error in the log.

questlog:choice

Allows the player to choose a subset of rewards from a list of options.

Properties

  • choices: A list of reward objects to choose from.
  • pick_count (optional, default: 1): The number of choices the player is required to select.

Base Reward Properties

All reward types support the following optional properties:

  • auto_claim (optional, default: false): If set to true, the reward will be given to the player automatically once the quest is completed, without them needing to manually click to collect it.
  • claim_sound (optional): The sound to play when the reward is claimed.
  • name (optional): The name of the reward. If omitted, a name will be automatically generated based on the reward type.
  • icon (optional): The icon to display for the reward.
  • translatable (optional, default: false): Whether the name is a translatable string.