orb

json based origins mod datapack defenition file format orb.

note that the program supports C style comments in json files.


root object

fields

field data type optional description
format integer no usual minecraft pack format
namespace string no string to use as a namespace for the datapack. must be a valid namespace
description string no string to use to describe the pack
indent integer no indent level used by the pretty printer
do_powerlist boolean yes, false by default should do a markdown formatted power list for ease of sharing
new do_zip boolean yes, true by default should do zipping
origins array no list of origins to define
powers array no list of powers to define
tags array no list of tags to define

example

// examle
{
    "format": 18,
    "namespace": "testpack",
    "description": "this is a test",
    "indent": 4,
    "do_powerlist": true,
    "do_zip": false,
    "origins": [],
    "powers": [],
    "tags": []
}
        

root object/origins/[...]

array of json objects, containing a usual origin definition (see origins documentation) and a custom id field

fields

field data type optional description
id string no filename without .json
[...] any N/A the rest is usual origin definition

example

// examle
"origins": [
    {
        "id": "elytrian",
        // the rest goes as usual

        "name": "Elytrian",
        "description": "Often flying around in the winds, Elytrians are uncomfortable when they don't have enough space above their head.",
	    "powers": [
		    "origins:elytra",
		    "origins:launch_into_air",
		    "origins:aerial_combatant",
		    "origins:light_armor",
		    "origins:claustrophobia",
		    "origins:more_kinetic_damage"
	    ],
	    "icon": {
		    "item": "minecraft:elytra"
	    },
	    "order": 3,
	    "impact": 1
    },
    {
        // you can add as many origins as you want
    }
]
        

root object/powers/[...]

array of json objects, containing a usual power definition (see origins documentation) and a custom id and category field

fields

field data type optional description
id string no filename without .json
category string yes, ignored if blank subfolder inside powers
[...] any N/A the rest is usual power definition

example

// examle
"powers": [
    {
        "id": "elytrian",
        // "category": "elytrians", // uncomment this line if you want it to take effect, the base mod doesnt use this

        // the rest goes as usual
        "name": "Aerial Combatant",
        "description": "You deal substantially more damage while in Elytra flight.",
        "type": "origins:modify_damage_dealt",
        "modifier": {
            "name": "Extra damage while fall flying",
            "value": 1,
            "operation": "multiply_base"
        },
        "condition": {
            "type": "origins:fall_flying"
        }
    },
    {
        // you can add as many powers as you want
    }
]
        

root object/tags/[...]

array of json objects

fields

field data type optional description
id string no filename without .json
category string no subfolder inside tags
values array no array of namespaced ids, most probably strings

example

// examle
"tags": [
    {
        "id": "natural_stone",
        "category": "blocks",
        "values": [
          "#minecraft:base_stone_overworld",
          "#minecraft:base_stone_nether",
          "minecraft:sandstone",
          "minecraft:smooth_sandstone",
          "minecraft:red_sandstone",
          "minecraft:smooth_red_sandstone"
        ]
    },
    {
        // you can add as many tags as you want
    }
]
        

see also: