{
  "fields": [
    {
      "id": "calculate_new_path_radius",
      "title": "Calculate New Path Radius",
      "description": "Distance in blocks that the mob is considered close enough to the end of the current path. A new path will then be calculated to continue toward home.",
      "defaultValue": 2,
      "dataType": 3
    },
    {
      "id": "goal_radius",
      "title": "Goal Radius",
      "description": "Distance in blocks within the mob considers it has reached the goal. This is the \"wiggle room\" to stop the AI from bouncing back and forth trying to reach a specific spot.",
      "defaultValue": 0.5,
      "dataType": 3,
      "samples": {
        "/vanilla/behavior_pack/entities/bee.json": [
          {
            "path": "/minecraft:entity/component_groups/return_to_home/minecraft:behavior.go_home/",
            "content": 1.2
          }
        ],
        "/vanilla/behavior_pack/entities/piglin_brute.json": [
          {
            "path": "/minecraft:entity/component_groups/go_back_to_spawn/minecraft:behavior.go_home/",
            "content": 4
          }
        ],
        "/vanilla/behavior_pack/entities/turtle.json": [
          {
            "path": "/minecraft:entity/component_groups/minecraft:pregnant/minecraft:behavior.go_home/",
            "content": 4
          }
        ]
      }
    },
    {
      "id": "interval",
      "title": "Interval",
      "description": "A random value to determine when to randomly move somewhere. This has a 1/interval chance to choose this goal.",
      "defaultValue": 120,
      "dataType": 0,
      "samples": {
        "/vanilla/behavior_pack/entities/bee.json": [
          {
            "path": "/minecraft:entity/component_groups/return_to_home/minecraft:behavior.go_home/",
            "content": 1
          }
        ],
        "/vanilla/behavior_pack/entities/piglin_brute.json": [
          {
            "path": "/minecraft:entity/component_groups/go_back_to_spawn/minecraft:behavior.go_home/",
            "content": 200
          }
        ],
        "/vanilla/behavior_pack/entities/turtle.json": [
          {
            "path": "/minecraft:entity/component_groups/minecraft:pregnant/minecraft:behavior.go_home/",
            "content": 700
          }
        ],
        "/samples/addon_starter/2_entities/behavior_packs/aop_mobs/entities/nardolphle.behavior.json": [
          {
            "path": "/minecraft:entity/component_groups/minecraft:pregnant/minecraft:behavior.go_home/",
            "content": 700
          }
        ]
      }
    },
    {
      "id": "on_failed",
      "title": "On Failed",
      "description": "Event(s) to run when this goal fails.",
      "dataType": 17,
      "samples": {
        "/vanilla/behavior_pack/entities/bee.json": [
          {
            "path": "/minecraft:entity/component_groups/return_to_home/minecraft:behavior.go_home/",
            "content": [
              {
                "event": "find_hive_event",
                "target": "self"
              }
            ]
          }
        ],
        "/vanilla/behavior_pack/entities/piglin_brute.json": [
          {
            "path": "/minecraft:entity/component_groups/go_back_to_spawn/minecraft:behavior.go_home/",
            "content": [
              {
                "event": "go_back_to_spawn_failed",
                "target": "self"
              }
            ]
          }
        ]
      }
    },
    {
      "id": "on_home",
      "title": "On Home",
      "description": "Event(s) to run when this mob gets home.",
      "dataType": 17,
      "samples": {
        "/vanilla/behavior_pack/entities/bee.json": [
          {
            "path": "/minecraft:entity/component_groups/return_to_home/minecraft:behavior.go_home/",
            "content": [
              {
                "filters": {
                  "any_of": [
                    {
                      "test": "is_block",
                      "subject": "block",
                      "value": "minecraft:bee_nest"
                    },
                    {
                      "test": "is_block",
                      "subject": "block",
                      "value": "minecraft:beehive"
                    }
                  ]
                },
                "event": "minecraft:bee_returned_to_hive",
                "target": "block"
              },
              {
                "filters": {
                  "all_of": [
                    {
                      "test": "is_block",
                      "subject": "block",
                      "operator": "!=",
                      "value": "minecraft:bee_nest"
                    },
                    {
                      "test": "is_block",
                      "subject": "block",
                      "operator": "!=",
                      "value": "minecraft:beehive"
                    }
                  ]
                },
                "event": "find_hive_event",
                "target": "self"
              }
            ]
          }
        ],
        "/vanilla/behavior_pack/entities/turtle.json": [
          {
            "path": "/minecraft:entity/component_groups/minecraft:pregnant/minecraft:behavior.go_home/",
            "content": [
              {
                "event": "minecraft:go_lay_egg",
                "target": "self"
              }
            ]
          }
        ],
        "/samples/addon_starter/2_entities/behavior_packs/aop_mobs/entities/nardolphle.behavior.json": [
          {
            "path": "/minecraft:entity/component_groups/minecraft:pregnant/minecraft:behavior.go_home/",
            "content": {
              "event": "minecraft:go_lay_egg",
              "target": "self"
            }
          }
        ],
        "/samples/addon_starter/complete/behavior_packs/aop_mobs/entities/nardolphle.behavior.json": [
          {
            "path": "/minecraft:entity/component_groups/minecraft:pregnant/minecraft:behavior.go_home/",
            "content": {
              "event": "minecraft:go_lay_egg",
              "target": "self"
            }
          }
        ]
      }
    },
    {
      "id": "speed_multiplier",
      "title": "Speed Multiplier",
      "description": "Movement speed multiplier of the mob when using this AI Goal.",
      "defaultValue": 1,
      "dataType": 3,
      "samples": {
        "/vanilla/behavior_pack/entities/bee.json": [
          {
            "path": "/minecraft:entity/component_groups/return_to_home/minecraft:behavior.go_home/",
            "content": 1
          }
        ],
        "/vanilla/behavior_pack/entities/piglin_brute.json": [
          {
            "path": "/minecraft:entity/component_groups/go_back_to_spawn/minecraft:behavior.go_home/",
            "content": 0.6
          }
        ],
        "/vanilla/behavior_pack/entities/turtle.json": [
          {
            "path": "/minecraft:entity/component_groups/minecraft:pregnant/minecraft:behavior.go_home/",
            "content": 1
          }
        ]
      }
    },
    {
      "id": "priority",
      "title": "Priority",
      "hideSamples": true,
      "description": "As priority approaches 0, the priority is increased. The higher the priority, the sooner this behavior will be executed as a goal.",
      "dataType": 0,
      "samples": {
        "/vanilla/behavior_pack/entities/bee.json": [
          {
            "path": "/minecraft:entity/component_groups/return_to_home/minecraft:behavior.go_home/",
            "content": 4
          }
        ],
        "/vanilla/behavior_pack/entities/piglin_brute.json": [
          {
            "path": "/minecraft:entity/component_groups/go_back_to_spawn/minecraft:behavior.go_home/",
            "content": 6
          }
        ],
        "/vanilla/behavior_pack/entities/turtle.json": [
          {
            "path": "/minecraft:entity/component_groups/minecraft:pregnant/minecraft:behavior.go_home/",
            "content": 1
          }
        ],
        "/samples/addon_starter/2_entities/behavior_packs/aop_mobs/entities/nardolphle.behavior.json": [
          {
            "path": "/minecraft:entity/component_groups/minecraft:pregnant/minecraft:behavior.go_home/",
            "content": 1
          }
        ]
      }
    }
  ],
  "description": "Allows the mob to move back to the position they were spawned.",
  "title": "Go Home Behavior",
  "samples": {
    "/vanilla/behavior_pack/entities/bee.json": [
      {
        "path": "/minecraft:entity/component_groups/return_to_home/minecraft:behavior.go_home/",
        "content": {
          "priority": 4,
          "speed_multiplier": 1,
          "interval": 1,
          "goal_radius": 1.2,
          "on_home": [
            {
              "filters": {
                "any_of": [
                  {
                    "test": "is_block",
                    "subject": "block",
                    "value": "minecraft:bee_nest"
                  },
                  {
                    "test": "is_block",
                    "subject": "block",
                    "value": "minecraft:beehive"
                  }
                ]
              },
              "event": "minecraft:bee_returned_to_hive",
              "target": "block"
            },
            {
              "filters": {
                "all_of": [
                  {
                    "test": "is_block",
                    "subject": "block",
                    "operator": "!=",
                    "value": "minecraft:bee_nest"
                  },
                  {
                    "test": "is_block",
                    "subject": "block",
                    "operator": "!=",
                    "value": "minecraft:beehive"
                  }
                ]
              },
              "event": "find_hive_event",
              "target": "self"
            }
          ],
          "on_failed": [
            {
              "event": "find_hive_event",
              "target": "self"
            }
          ]
        }
      }
    ],
    "/vanilla/behavior_pack/entities/piglin_brute.json": [
      {
        "path": "/minecraft:entity/component_groups/go_back_to_spawn/minecraft:behavior.go_home/",
        "content": {
          "priority": 6,
          "interval": 200,
          "speed_multiplier": 0.6,
          "goal_radius": 4,
          "on_failed": [
            {
              "event": "go_back_to_spawn_failed",
              "target": "self"
            }
          ]
        }
      }
    ],
    "/vanilla/behavior_pack/entities/turtle.json": [
      {
        "path": "/minecraft:entity/component_groups/minecraft:pregnant/minecraft:behavior.go_home/",
        "content": {
          "priority": 1,
          "speed_multiplier": 1,
          "interval": 700,
          "goal_radius": 4,
          "on_home": [
            {
              "event": "minecraft:go_lay_egg",
              "target": "self"
            }
          ]
        }
      }
    ],
    "/samples/addon_starter/2_entities/behavior_packs/aop_mobs/entities/nardolphle.behavior.json": [
      {
        "path": "/minecraft:entity/component_groups/minecraft:pregnant/minecraft:behavior.go_home/",
        "content": {
          "priority": 1,
          "speed_multiplier": 1,
          "interval": 700,
          "goal_radius": 4,
          "on_home": {
            "event": "minecraft:go_lay_egg",
            "target": "self"
          }
        }
      }
    ],
    "/samples/addon_starter/complete/behavior_packs/aop_mobs/entities/nardolphle.behavior.json": [
      {
        "path": "/minecraft:entity/component_groups/minecraft:pregnant/minecraft:behavior.go_home/",
        "content": {
          "priority": 1,
          "speed_multiplier": 1,
          "interval": 700,
          "goal_radius": 4,
          "on_home": {
            "event": "minecraft:go_lay_egg",
            "target": "self"
          }
        }
      }
    ]
  },
  "id": "minecraft:behavior.go_home"
}