Skip to main content

Get 25% OFF on your first order with BisectHosting using code "DAQEM"!

JSON Formats

This page details the specific JSON object structures and Enumeration values used throughout Arc's Action, Condition, and Reward files.

Complex Objects​

ArcBlockState​

Represents a block and its properties. It can be defined as a simple string (Resource Location) if no properties are needed, or as an object for more specific matching.

As a String:

"minecraft:chest"

As an Object:

{
"id": "minecraft:chest", // The block ID
"properties": { // Optional: Simple map for equality checks
"facing": "north",
"waterlogged": "false"
}
}

Advanced Properties: For advanced comparisons (like checking if a property is not a value), properties can be a list of property objects:

{
"id": "minecraft:chest",
"properties": [
{
"name": "facing",
"value": "south",
"comparison_type": "!="
}
]
}

ArcItemStack​

Represents an item stack. Can be a simple string or a full object including counts and components.

As a String:

"minecraft:diamond"

As an Object:

{
"id": "minecraft:diamond_sword",
"count": 1, // Optional, defaults to 1
"components": { // Optional, standard Minecraft Data Components
"minecraft:enchantments": {
"levels": {
"minecraft:sharpness": 5
}
}
}
}

MobEffectInstance​

Represents a potion effect applied to an entity.

As a String:

"minecraft:speed"

As an Object:

{
"id": "minecraft:speed", // The effect ID
"amplifier": 0, // Optional (0 = Level 1), default 0
"duration": 200, // Optional, duration in ticks, default 200
"ambient": false, // Optional, default false
"show_particles": true, // Optional, default true
"show_icon": true // Optional, default true
}

ArcEnchantment​

Represents an enchantment and its level.

{
"id": "minecraft:sharpness",
"level": 3
}

EntityDataProperty​

Used in the arc:entity_data condition to check specific dynamic values on an entity.

{
"id": "arc:health", // The data type ID (see Entity Data Registry below)
"value": "10", // The value to compare against (as a string)
"comparison": ">=" // Optional comparison type, default "=="
}

Enums & Types​

ComparisonType​

Used in various conditions (like health, experience, block properties) to compare numerical values.

SymbolDescription
==Equal to
!=Not equal to
>Greater than
<Less than
>=Greater than or equal to
<=Less than or equal to

InteractionHand​

Specifies which hand is being used or checked.

  • MAIN_HAND (or main)
  • OFF_HAND (or off)

ArcItemTarget​

Specifies which equipment slot to target for rewards like enchant_item or disarm_entity.

  • MAIN_HAND
  • OFF_HAND
  • HEAD
  • CHEST
  • LEGS
  • FEET

ArcPositionTarget​

Specifies the origin position for rewards like spawn_entity, play_sound, or set_block.

  • PLAYER (The player's current position)
  • BLOCK (The position of the block involved in the action)
  • ENTITY (The position of the target entity involved in the action)

ArcWeatherType​

Used in weather conditions and rewards.

  • CLEAR
  • RAIN
  • THUNDER

SoundSource​

Standard Minecraft sound categories.

  • MASTER
  • MUSIC
  • RECORDS
  • WEATHER
  • BLOCKS
  • HOSTILE
  • NEUTRAL
  • PLAYERS
  • AMBIENT
  • VOICE

EffectCategory​

Classifies potion effects.

  • BENEFICIAL
  • HARMFUL
  • NEUTRAL

Entity Data Registry​

These are the valid IDs for EntityDataProperty.

General Entity

  • arc:is_on_fire (Boolean)
  • arc:is_crouching (Boolean)
  • arc:is_sprinting (Boolean)
  • arc:is_swimming (Boolean)
  • arc:is_glowing (Boolean)
  • arc:is_invisible (Boolean)
  • arc:is_on_ground (Boolean)
  • arc:is_in_water (Boolean)
  • arc:is_in_lava (Boolean)
  • arc:is_in_rain (Boolean)
  • arc:air_supply (Integer)
  • arc:fall_distance (Float)
  • arc:ticks_frozen (Integer)
  • arc:has_no_gravity (Boolean)
  • arc:is_silent (Boolean)
  • arc:pose (String)

Living Entity

  • arc:health (Float)
  • arc:max_health (Float)
  • arc:absorption_amount (Float)
  • arc:is_baby (Boolean)
  • arc:is_using_item (Boolean)
  • arc:is_blocking (Boolean)
  • arc:is_sleeping (Boolean)
  • arc:arrow_count (Integer)
  • arc:stinger_count (Integer)
  • arc:main_arm (String)
  • arc:is_fall_flying (Boolean)

Player

  • arc:score (Integer)
  • arc:experience_level (Integer)
  • arc:total_experience (Integer)
  • arc:experience_progress (Float)
  • arc:is_creative (Boolean)
  • arc:is_spectator (Boolean)
  • arc:food_level (Integer)
  • arc:saturation_level (Float)

Mob / Animal / Villager

  • arc:has_no_ai (Boolean)
  • arc:is_left_handed (Boolean)
  • arc:is_aggressive (Boolean)
  • arc:can_pickup_loot (Boolean)
  • arc:is_leashed (Boolean)
  • arc:has_target (Boolean)
  • arc:in_love_time (Integer)
  • arc:is_tame (Boolean)
  • arc:is_sitting (Boolean)
  • arc:has_owner (Boolean)
  • arc:is_trading (Boolean)
  • arc:villager_profession (String)
  • arc:is_casting_spell (Boolean)