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)