Quest

Page is updated to match version 0.6.3

This page describes what is quest, what all its parts do and how to use them.

Quest creation

To create a quest, type /q create <quest name> and replace <quest name> with any name you wish your new quest to have. Spaces are allowed, colors are not.

Quest modification

To further modify quest, it needs to be inactive and selected. To select quest, type /q select <quest ID> and replace <quest ID> with the ID of given quest. Quest IDs are displayed to players with quester.modify permission when they type /quest list. If selected quest is active, it needs to be deactivated using /quest toggle. If deactivated, it will be cancelled for all players that have it assigned.
Quest is inactive by default and selected upon creation.

Quest elemets

Each quest is made of few basic element types. Note that each quest has to contain it's name, the rest is completely optional.

Name (required)

Name defines how a quest is presented to players. They can see its name in quest list, they have to use name when starting quest by command.
To change quest name, type /quest name <new name> and replace <new name> with any name you wish selected quest to have. Spaces are allowed, colors are not.

Description

Description introduces the quest to a player. It is displayed when player uses /quest info. Description is also displayed on quest startup. This behavior can be further modified using flags.
To set description of the quest, type /quest desc set <new desc> and replace <new desc> with any name you wish selected quest to have. If your description is too long to fit into in-game chat field, you can use /quest desc add <desc>. Description is the appended to the description already present. Single space is put between the two descriptions. Colors are supported. To skip to the new line in description, use \n. To use player's name in the description, write %p.
To remove quest description, simply set it to nothing by /quest desc set.

Location

Quest location defines the area, in which the quest is activated for every player with no quest assigned.
To set quest location, type /quest location set {location} <range>. Click {location} for precise instructions on how to correctly specify location. <range> represents radius around the specified location, which defines complete quest area.

Worlds

Quest worlds restrict quest completion to specified worlds. By setting quest worlds, starting, completing or progressing with the quest is prevented. By default, all quests are allowed in all worlds.
To add worlds to the whitelist, type /quest world add <world> and replace <world> with the world you wish to be put in the world list for selected quest. To remove quest from whitelist, simply type /quest world remove <world>, again specifying the world you wish to remove.
World checking is case insensitive. If world list is empty, quest is not affected by world.

Flags

Flags represent additional quest settings and modify its more specific behavior. They can be either present or not.
For example activity state of the quest is represented by the flag ACTIVE. If this flag is present, quest can't be modified, but can be started by players.
Detailed description, usage and complete list of all flags can be found here.

Events

Events are actions run on specified occasions. Supported occasions are: quest startup, quest completion, quest cancellation and specified objective completion. Events support delay and dynamic location. Each quest can hold unlimited amount of events.
Events also serve as rewards at the end of the quest. Just set occasion to -3 (quest completion) and give player whatever you wish. Detailed description, usage and complete list of all events can be found here.

Conditions

Conditions specify under what circumstances can quest be started. They are evaluated every time a player tries to start the quest.
Role of conditions is only to judge, not to otherwise affect player or gameplay. For example item condition will not take any items from the player, it will only check if the player has those items with him. Each quest can hold unlimited amount of conditions. Players with permission quester.admin and OPs have ability to bypass condition checks.
Detailed description, usage and complete list of all conditions can be found here.

Objectives

Objectives define tasks, which have to be completed in order to complete the quest. Objectives are displayed on /quest info and /quest progress by default, but this ca be further modified using flags.
Each quest can hold ulimited amount of different objectives. Objectives can have events bound to them. Additionally, ORDERED flag affects objective completion order.
Detailed description, usage and complete list of all objectives can be found here.

Quest removal

To remove the quest, type /q remove <quest ID> and replace <quest ID> with the ID of given quest. Quest IDs are displayed to players with quester.modify permission when they type /quest list. Quest needs to be inactive to be removed.

Quest example in quests.yml

# key does not really matter, it only needs to be unique
quest name:
  # quest name as is MANDATORY
  name: Quest Name
  # quest description OPTIONAL
  description: This is a quest description, it accepts colors and newlines.
  # quest location OPTIONAL (format X;Y;Z;World Name;Yaw;Pitch -- yaw and pitch are optional)
  location: 100.00;70.00;100.00;world;0.00;0.00;
  # location range OPTIONAL (default is 1)
  range: 5
  # quest worlds OPTIONAL (list)
  worlds:
  - world
  - world_nether
  # quest flags OPTIONAL 
  flags: DEATHCANCEL;ONLYFIRST;
  # objectives OPTIONAL
  # subkeys must start with '0' (string) and must not skip numbers
  # more detailed description can be found on "Objectives" page
  objectives:
    '0':
      type: PLAYERKILL
      description: This is description of the first objective
    '1':
      type: LOCATION
      description: This objective needs to be done after objective 0 is done.
      prerequisites: '0'
      location: 100.00;70.00;100.00;world;0.00;0.00;
  # conditions OPTIONAL
  # subkeys must start with '0' (string) and must not skip numbers
  # more detailed description can be found on "Conditions" page
  conditions:
    '0':
      type: QUEST
      quest: Required quest
  # events OPTIONAL
  # subkeys must start with '0' (string) and must not skip numbers
  # more detailed description can be found on "Events" page
  events:
    '0':
      type: MSG
      occasion: -1
      message: Saple event.
  # MANDATORY, must be unique. If missing, quester will assign number going after highest quest ID already in use on load.
  ID: 0
# mini quest (fully working one, can be activated and completed)
mini:
  name: MINI