Chose Origin (Advancement Trigger)

Fires when the player takes a given origin.

Fires when the player takes an origin — picking one in the selection screen, being given one by origins:grant_origin or an orb, swapping to one on a swappable layer, and once per layer when they log in holding one.

Trigger ID: origins:chose_origin

Fields

FieldTypeDefaultPurpose
playerEntity predicateoptionalThe usual vanilla player predicate.
originIdentifieroptionalThe origin that was taken. Omit it to match any origin.
layerIdentifieroptionalThe layer it was taken on. Omit it to match any layer.

Example

{
  "criteria": {
    "became_a_phantom": {
      "trigger": "origins:chose_origin",
      "conditions": {
        "origin": "origins:phantom"
      }
    }
  },
  "requirements": [["became_a_phantom"]]
}

Any origin at all, on one specific layer:

{
  "criteria": {
    "picked_a_class": {
      "trigger": "origins:chose_origin",
      "conditions": {
        "layer": "example:class"
      }
    }
  },
  "requirements": [["picked_a_class"]]
}

Notes

  • Because it also fires on login for the origin a player already holds, an advancement added to an existing world is picked up the next time its players join. That is what makes “has the origin” work as well as “just picked it”.
  • On a swappable layer it reports the origin that is active, so cycling back to the base origin fires for that one too.