Skip to main content

JSON Data Formats

This section describes the JSON formats for each data type in Origins.

Data Types​

Before diving in, here are the basic data types used by Origins:

TypeDescriptionExample
StringA text string"minecraft:zombie"
BooleanTrue or falsetrue / false
IntegerA whole number20
FloatA decimal number1.5
IdentifierA namespaced resource ID"origins:avian"
[List]A list of values["a", "b"]
{Object}A key-value map{"key": "value"}
Text ComponentA Minecraft text component"Hello" or {"text": "Hello"}
Item StackA Minecraft item stack{"id": "minecraft:diamond"}

Condition System​

Origins uses Conditions to determine whether powers are active, actions should execute, etc. Conditions come in several types:

  • Entity Condition: Checks the state of an entity
  • Bi-entity Condition: Checks the relationship between two entities
  • Block Condition: Checks the state of a block
  • Item Condition: Checks the state of an item
  • Biome Condition: Checks biome properties
  • Damage Condition: Checks damage properties
  • Fluid Condition: Checks fluid properties

All conditions support Meta Conditions such as and, or, not, chance, etc.

Action System​

Origins uses Actions to perform various effects:

  • Entity Action: Performs an operation on an entity
  • Bi-entity Action: Performs an operation involving two entities
  • Block Action: Performs an operation on a block
  • Item Action: Performs an operation on an item

All actions support Meta Actions such as and, chance, delay, if_else, etc.