{ "format_version": "1.21.0", "minecraft:entity": { "description": { "identifier": "silverlabs:spark_dragon", "is_spawnable": true, "is_summonable": true, "is_experimental": false, "properties": { "silverlabs:growth_stage": { "type": "int", "default": 0, "range": [0, 2], "client_sync": true }, "silverlabs:beacon_active": { "type": "bool", "default": false, "client_sync": true }, "silverlabs:mood": { "type": "int", "default": 1, "range": [0, 2], "client_sync": true } } }, "component_groups": { "silverlabs:wild": { "minecraft:behavior.tempt": { "priority": 3, "speed_multiplier": 0.8, "items": ["fish", "salmon"], "can_tempt_vertically": true }, "minecraft:behavior.avoid_mob_type": { "priority": 4, "max_dist": 8, "walk_speed_multiplier": 1.0, "entity_types": [ { "filters": { "test": "is_family", "subject": "other", "value": "monster" }, "max_dist": 8, "walk_speed_multiplier": 1.0 } ] } }, "silverlabs:tamed": { "minecraft:is_tamed": {}, "minecraft:behavior.follow_owner": { "priority": 4, "speed_multiplier": 0.8, "start_distance": 8, "stop_distance": 3 }, "minecraft:behavior.tempt": { "priority": 3, "speed_multiplier": 0.8, "items": ["fish", "salmon"], "can_tempt_vertically": true }, "minecraft:sittable": {}, "minecraft:persistent": {}, "minecraft:behavior.nearest_attackable_target": { "priority": 3, "entity_types": [ { "filters": { "test": "is_family", "subject": "other", "value": "dragon_toy" }, "max_dist": 32 } ], "must_see": false, "reselect_targets": true }, "minecraft:entity_sensor": { "sensor_range": 500, "relative_range": false, "minimum_count": 1, "event_filters": { "test": "is_family", "subject": "other", "value": "whistle_signal" }, "event": "silverlabs:whistle_called" }, "minecraft:behavior.melee_attack": { "priority": 2, "speed_multiplier": 1.0, "reach_multiplier": 1.0, "track_target": true }, "minecraft:attack": { "damage": 1 }, "minecraft:on_target_escape": { "event": "silverlabs:ball_caught", "target": "self" } }, "silverlabs:tamed_following": { "minecraft:is_tamed": {}, "minecraft:behavior.follow_owner": { "priority": 2, "speed_multiplier": 0.8, "start_distance": 8, "stop_distance": 3 }, "minecraft:sittable": {}, "minecraft:persistent": {}, "minecraft:teleport": { "dark_teleport_chance": 0.0, "light_teleport_chance": 0.1, "max_random_teleport_time": 10, "min_random_teleport_time": 5, "random_teleport_cube_size": [10, 5, 10], "target_distance": 64, "target_teleport_chance": 0.3 } }, "silverlabs:returning_fetch": { "minecraft:behavior.follow_owner": { "priority": 1, "speed_multiplier": 1.0, "start_distance": 15, "stop_distance": 2 }, "minecraft:behavior.drop_item_for": { "priority": 0, "seconds_before_pickup": 0, "cooldown": 60, "drop_item_chance": 1.0, "offering_distance": 5.0, "speed_multiplier": 1.0, "search_range": 20, "search_height": 4, "target_range": [5, 5, 5], "time_of_day_range": [0.0, 1.0], "loot_table": "loot_tables/gameplay/toy_return.json", "entity_types": [ { "filters": { "test": "is_family", "subject": "other", "value": "player" }, "max_dist": 20 } ] }, "minecraft:timer": { "time": 5, "looping": false, "time_down_event": { "event": "silverlabs:fetch_complete", "target": "self" } } }, "silverlabs:has_home": { "minecraft:home": { "restriction_radius": 32 }, "minecraft:scheduler": { "min_delay_secs": 0, "max_delay_secs": 0, "scheduled_events": [ { "filters": { "all_of": [ { "test": "hourly_clock_time", "operator": ">=", "value": 0 }, { "test": "hourly_clock_time", "operator": "<", "value": 12000 } ] }, "event": "silverlabs:start_exploring" }, { "filters": { "all_of": [ { "test": "hourly_clock_time", "operator": ">=", "value": 12000 }, { "test": "hourly_clock_time", "operator": "<", "value": 13000 } ] }, "event": "silverlabs:go_home" }, { "filters": { "all_of": [ { "test": "hourly_clock_time", "operator": ">=", "value": 13000 }, { "test": "hourly_clock_time", "operator": "<", "value": 23000 } ] }, "event": "silverlabs:start_sleeping" }, { "filters": { "all_of": [ { "test": "hourly_clock_time", "operator": ">=", "value": 23000 } ] }, "event": "silverlabs:start_exploring" } ] } }, "silverlabs:exploring": { "minecraft:behavior.random_stroll": { "priority": 6, "speed_multiplier": 0.5, "xz_dist": 12, "y_dist": 2 }, "minecraft:behavior.random_look_around": { "priority": 8 } }, "silverlabs:going_home": { "minecraft:behavior.go_home": { "priority": 2, "speed_multiplier": 0.8, "interval": 1, "goal_radius": 2, "on_home": [ { "event": "silverlabs:start_sleeping", "target": "self" } ] } }, "silverlabs:sleeping": { "minecraft:is_sitting": {}, "minecraft:behavior.look_at_player": { "priority": 8, "look_distance": 4.0 } }, "silverlabs:sitting": { "minecraft:is_sitting": {} }, "silverlabs:beacon_on": { "minecraft:timer": { "time": 12, "looping": false, "time_down_event": { "event": "silverlabs:beacon_off", "target": "self" } } }, "silverlabs:tamed_called": { "minecraft:is_tamed": {}, "minecraft:behavior.follow_owner": { "priority": 1, "speed_multiplier": 1.0, "start_distance": 200, "stop_distance": 3 }, "minecraft:sittable": {}, "minecraft:persistent": {}, "minecraft:teleport": { "dark_teleport_chance": 0.0, "light_teleport_chance": 1.0, "max_random_teleport_time": 3, "min_random_teleport_time": 1, "random_teleport_cube_size": [20, 10, 20], "target_distance": 24, "target_teleport_chance": 1.0 } }, "silverlabs:tamed_loot": { "minecraft:loot": { "table": "loot_tables/gameplay/dragon_death.json" } }, "silverlabs:guide_drop": { "minecraft:behavior.drop_item_for": { "priority": 1, "seconds_before_pickup": 0, "cooldown": 99999, "drop_item_chance": 1.0, "offering_distance": 5.0, "speed_multiplier": 1.0, "search_range": 10, "search_height": 4, "target_range": [5, 5, 5], "time_of_day_range": [0.0, 1.0], "loot_table": "loot_tables/gameplay/dragon_guide.json", "entity_types": [ { "filters": { "test": "is_family", "subject": "other", "value": "player" }, "max_dist": 16 } ] }, "minecraft:timer": { "time": 10, "looping": false, "time_down_event": { "event": "silverlabs:guide_dropped", "target": "self" } } }, "silverlabs:mood_happy": { "minecraft:timer": { "time": [480, 720], "looping": false, "time_down_event": { "event": "silverlabs:mood_decay_to_content", "target": "self" } } }, "silverlabs:mood_content": { "minecraft:timer": { "time": [360, 600], "looping": false, "time_down_event": { "event": "silverlabs:mood_decay_to_needy", "target": "self" } } }, "silverlabs:mood_needy": { "minecraft:behavior.look_at_player": { "priority": 3, "look_distance": 10.0, "probability": 0.1 } }, "silverlabs:stage_baby": { "minecraft:is_baby": {}, "minecraft:ageable": { "duration": 1200, "feed_items": ["fish", "salmon"], "grow_up": { "event": "silverlabs:grow_to_juvenile", "target": "self" } }, "minecraft:scale": { "value": 0.4 }, "minecraft:collision_box": { "width": 0.35, "height": 0.3 }, "minecraft:movement": { "value": 0.15 }, "minecraft:health": { "value": 10, "max": 10 }, "minecraft:behavior.drop_item_for": { "priority": 5, "seconds_before_pickup": 0, "cooldown": 600, "drop_item_chance": 0.6, "offering_distance": 5.0, "minimum_teleport_distance": 2.0, "speed_multiplier": 1.0, "search_range": 10, "search_height": 2, "target_range": [5, 5, 5], "teleport_offset": [0, 1, 0], "time_of_day_range": [0.0, 0.5], "loot_table": "loot_tables/gameplay/gift_baby.json", "entity_types": [ { "filters": { "test": "is_family", "subject": "other", "value": "player" }, "max_dist": 16 } ] }, "minecraft:behavior.play": { "priority": 5, "speed_multiplier": 0.7, "friend_types": [ { "filters": { "test": "is_family", "subject": "other", "value": "spark_dragon" } } ] } }, "silverlabs:stage_juvenile": { "minecraft:scale": { "value": 0.7 }, "minecraft:collision_box": { "width": 0.5, "height": 0.4 }, "minecraft:movement": { "value": 0.2 }, "minecraft:health": { "value": 20, "max": 20 }, "minecraft:jump.static": { "jump_power": 0.5 }, "minecraft:timer": { "time": 1200, "looping": false, "time_down_event": { "event": "silverlabs:grow_to_adult", "target": "self" } }, "minecraft:behavior.drop_item_for": { "priority": 5, "seconds_before_pickup": 0, "cooldown": 480, "drop_item_chance": 0.7, "offering_distance": 5.0, "minimum_teleport_distance": 2.0, "speed_multiplier": 1.0, "search_range": 12, "search_height": 2, "target_range": [5, 5, 5], "teleport_offset": [0, 1, 0], "time_of_day_range": [0.0, 0.5], "loot_table": "loot_tables/gameplay/gift_juvenile.json", "entity_types": [ { "filters": { "test": "is_family", "subject": "other", "value": "player" }, "max_dist": 16 } ] }, "minecraft:behavior.play": { "priority": 5, "speed_multiplier": 0.8, "friend_types": [ { "filters": { "test": "is_family", "subject": "other", "value": "spark_dragon" } } ] }, "minecraft:behavior.raid_garden": { "priority": 6, "speed_multiplier": 1.0, "search_range": 12, "search_height": 2, "goal_radius": 1.0, "max_to_eat": 2, "initial_eat_delay": 20 } }, "silverlabs:stage_adult": { "minecraft:scale": { "value": 1.0 }, "minecraft:collision_box": { "width": 0.6, "height": 0.5 }, "minecraft:movement": { "value": 0.25 }, "minecraft:health": { "value": 30, "max": 30 }, "minecraft:can_fly": {}, "minecraft:navigation.fly": { "can_path_over_water": true, "can_path_from_air": true }, "minecraft:movement.fly": {}, "minecraft:flying_speed": { "value": 0.04 }, "minecraft:behavior.drop_item_for": { "priority": 5, "seconds_before_pickup": 0, "cooldown": 300, "drop_item_chance": 0.8, "offering_distance": 5.0, "minimum_teleport_distance": 2.0, "speed_multiplier": 1.0, "search_range": 16, "search_height": 4, "target_range": [5, 5, 5], "teleport_offset": [0, 1, 0], "time_of_day_range": [0.0, 0.5], "loot_table": "loot_tables/gameplay/gift_adult.json", "entity_types": [ { "filters": { "test": "is_family", "subject": "other", "value": "player" }, "max_dist": 16 } ] } } }, "components": { "minecraft:type_family": { "family": ["spark_dragon", "pet", "mob"] }, "minecraft:physics": {}, "minecraft:pushable": { "is_pushable": true, "is_pushable_by_piston": true }, "minecraft:can_climb": {}, "minecraft:navigation.walk": { "can_path_over_water": true, "avoid_water": true, "avoid_damage_blocks": true }, "minecraft:movement.basic": { "max_turn": 20.0 }, "minecraft:jump.static": {}, "minecraft:tameable": { "probability": 0.33, "tame_items": ["fish", "salmon"], "tame_event": { "event": "silverlabs:on_tamed", "target": "self" } }, "minecraft:healable": { "items": [ { "item": "fish", "heal_amount": 4 }, { "item": "salmon", "heal_amount": 6 } ] }, "minecraft:leashable": { "soft_distance": 4.0, "hard_distance": 6.0, "max_distance": 10.0 }, "minecraft:nameable": {}, "minecraft:breathable": { "total_supply": 15, "suffocate_time": 0, "breathes_air": true, "breathes_water": false }, "minecraft:damage_sensor": { "triggers": [ { "cause": "fall", "deals_damage": false } ] }, "minecraft:behavior.float": { "priority": 0 }, "minecraft:behavior.look_at_player": { "priority": 7, "look_distance": 8.0, "probability": 0.02 }, "minecraft:behavior.random_look_around": { "priority": 9 }, "minecraft:behavior.random_stroll": { "priority": 8, "speed_multiplier": 0.4, "xz_dist": 7, "y_dist": 2 }, "minecraft:interact": { "interactions": [ { "on_interact": { "filters": { "all_of": [ { "test": "is_family", "subject": "other", "value": "player" }, { "test": "has_equipment", "subject": "other", "domain": "hand", "value": "fish" }, { "test": "has_component", "value": "minecraft:is_tamed" } ] }, "event": "silverlabs:mood_boost", "target": "self" }, "use_item": false }, { "on_interact": { "filters": { "all_of": [ { "test": "is_family", "subject": "other", "value": "player" }, { "test": "has_equipment", "subject": "other", "domain": "hand", "value": "salmon" }, { "test": "has_component", "value": "minecraft:is_tamed" } ] }, "event": "silverlabs:mood_boost", "target": "self" }, "use_item": false }, { "on_interact": { "filters": { "all_of": [ { "test": "is_family", "subject": "other", "value": "player" }, { "test": "has_equipment", "subject": "other", "domain": "hand", "value": "potion" }, { "test": "has_component", "value": "minecraft:is_tamed" } ] }, "event": "silverlabs:mood_boost", "target": "self" }, "use_item": true, "interact_text": "Give Water" }, { "on_interact": { "filters": { "all_of": [ { "test": "is_family", "subject": "other", "value": "player" }, { "test": "has_equipment", "subject": "other", "domain": "hand", "value": "amethyst_shard" }, { "test": "has_component", "value": "minecraft:is_tamed" } ] }, "event": "silverlabs:request_guide", "target": "self" }, "use_item": true, "interact_text": "Request Guide", "play_sounds": "random.orb" }, { "on_interact": { "filters": { "all_of": [ { "test": "is_family", "subject": "other", "value": "player" }, { "test": "has_equipment", "subject": "other", "domain": "hand", "operator": "not", "value": "name_tag" }, { "test": "is_sneaking", "subject": "other", "value": false }, { "test": "has_component", "value": "minecraft:is_tamed" }, { "test": "has_component", "value": "minecraft:is_sitting" } ] }, "event": "silverlabs:on_stand", "target": "self" }, "use_item": false, "interact_text": "Get Up", "play_sounds": "mob.wolf.bark" }, { "on_interact": { "filters": { "all_of": [ { "test": "is_family", "subject": "other", "value": "player" }, { "test": "has_equipment", "subject": "other", "domain": "hand", "operator": "not", "value": "name_tag" }, { "test": "is_sneaking", "subject": "other", "value": false }, { "test": "has_component", "value": "minecraft:is_tamed" }, { "test": "has_component", "operator": "!=", "value": "minecraft:is_sitting" } ] }, "event": "silverlabs:command_follow", "target": "self" }, "use_item": false, "interact_text": "Follow Me", "play_sounds": "mob.wolf.bark" }, { "on_interact": { "filters": { "all_of": [ { "test": "is_family", "subject": "other", "value": "player" }, { "test": "has_equipment", "subject": "other", "domain": "hand", "value": "bone" }, { "test": "is_sneaking", "subject": "other", "value": true }, { "test": "has_component", "value": "minecraft:is_tamed" }, { "test": "has_component", "operator": "!=", "value": "minecraft:is_sitting" } ] }, "event": "silverlabs:set_home", "target": "self" }, "use_item": false, "interact_text": "Set Home", "play_sounds": "random.levelup" }, { "on_interact": { "filters": { "all_of": [ { "test": "is_family", "subject": "other", "value": "player" }, { "test": "has_equipment", "subject": "other", "domain": "hand", "value": "bone" }, { "test": "is_sneaking", "subject": "other", "value": true }, { "test": "has_component", "value": "minecraft:is_tamed" }, { "test": "has_component", "value": "minecraft:is_sitting" }, { "test": "has_component", "value": "minecraft:home" } ] }, "event": "silverlabs:command_go_home", "target": "self" }, "use_item": false, "interact_text": "Go Home", "play_sounds": "note.pling" }, { "on_interact": { "filters": { "all_of": [ { "test": "is_family", "subject": "other", "value": "player" }, { "test": "has_equipment", "subject": "other", "domain": "hand", "operator": "not", "value": "name_tag" }, { "test": "is_sneaking", "subject": "other", "value": true }, { "test": "has_component", "value": "minecraft:is_tamed" }, { "test": "has_component", "operator": "!=", "value": "minecraft:is_sitting" } ] }, "event": "silverlabs:on_sit", "target": "self" }, "use_item": false, "interact_text": "Stay" }, { "on_interact": { "filters": { "all_of": [ { "test": "is_family", "subject": "other", "value": "player" }, { "test": "has_equipment", "subject": "other", "domain": "hand", "operator": "not", "value": "name_tag" }, { "test": "is_sneaking", "subject": "other", "value": true }, { "test": "has_component", "value": "minecraft:is_tamed" }, { "test": "has_component", "value": "minecraft:is_sitting" } ] }, "event": "silverlabs:on_stand", "target": "self" }, "use_item": false, "interact_text": "Stand" } ] }, "minecraft:spawn_entity": {} }, "events": { "minecraft:entity_spawned": { "add": { "component_groups": ["silverlabs:wild", "silverlabs:stage_baby"] } }, "silverlabs:on_tamed": { "remove": { "component_groups": ["silverlabs:wild"] }, "add": { "component_groups": ["silverlabs:tamed", "silverlabs:tamed_loot", "silverlabs:guide_drop", "silverlabs:mood_happy"] }, "set_property": { "silverlabs:mood": 2 } }, "silverlabs:request_guide": { "add": { "component_groups": ["silverlabs:guide_drop"] } }, "silverlabs:guide_dropped": { "remove": { "component_groups": ["silverlabs:guide_drop"] } }, "silverlabs:mood_boost": { "remove": { "component_groups": ["silverlabs:mood_happy", "silverlabs:mood_content", "silverlabs:mood_needy"] }, "add": { "component_groups": ["silverlabs:mood_happy"] }, "set_property": { "silverlabs:mood": 2 } }, "silverlabs:mood_decay_to_content": { "remove": { "component_groups": ["silverlabs:mood_happy"] }, "add": { "component_groups": ["silverlabs:mood_content"] }, "set_property": { "silverlabs:mood": 1 } }, "silverlabs:mood_decay_to_needy": { "remove": { "component_groups": ["silverlabs:mood_content"] }, "add": { "component_groups": ["silverlabs:mood_needy"] }, "set_property": { "silverlabs:mood": 0 } }, "silverlabs:grow_to_juvenile": { "remove": { "component_groups": ["silverlabs:stage_baby", "silverlabs:mood_happy", "silverlabs:mood_content", "silverlabs:mood_needy"] }, "add": { "component_groups": ["silverlabs:stage_juvenile"] }, "set_property": { "silverlabs:growth_stage": 1, "silverlabs:mood": 1 } }, "silverlabs:grow_to_adult": { "remove": { "component_groups": ["silverlabs:stage_juvenile"] }, "add": { "component_groups": ["silverlabs:stage_adult", "silverlabs:mood_content"] }, "set_property": { "silverlabs:growth_stage": 2, "silverlabs:mood": 1 } }, "silverlabs:ball_caught": { "add": { "component_groups": ["silverlabs:returning_fetch"] } }, "silverlabs:fetch_complete": { "remove": { "component_groups": ["silverlabs:returning_fetch", "silverlabs:mood_happy", "silverlabs:mood_content", "silverlabs:mood_needy"] }, "add": { "component_groups": ["silverlabs:tamed_following", "silverlabs:mood_happy"] }, "set_property": { "silverlabs:mood": 2 } }, "silverlabs:command_follow": { "add": { "component_groups": ["silverlabs:tamed_following", "silverlabs:beacon_on"] }, "remove": { "component_groups": ["silverlabs:exploring", "silverlabs:sleeping", "silverlabs:going_home", "silverlabs:sitting", "silverlabs:returning_fetch", "silverlabs:tamed_called"] }, "set_property": { "silverlabs:beacon_active": true } }, "silverlabs:whistle_called": { "add": { "component_groups": ["silverlabs:tamed_called", "silverlabs:beacon_on"] }, "remove": { "component_groups": ["silverlabs:exploring", "silverlabs:sleeping", "silverlabs:going_home", "silverlabs:sitting", "silverlabs:returning_fetch", "silverlabs:tamed_following"] }, "set_property": { "silverlabs:beacon_active": true } }, "silverlabs:activate_beacon": { "add": { "component_groups": ["silverlabs:beacon_on"] }, "set_property": { "silverlabs:beacon_active": true } }, "silverlabs:beacon_off": { "remove": { "component_groups": ["silverlabs:beacon_on", "silverlabs:tamed_called"] }, "add": { "component_groups": ["silverlabs:tamed_following"] }, "set_property": { "silverlabs:beacon_active": false } }, "silverlabs:command_go_home": { "add": { "component_groups": ["silverlabs:going_home"] }, "remove": { "component_groups": ["silverlabs:exploring", "silverlabs:tamed_following", "silverlabs:sitting", "silverlabs:returning_fetch"] } }, "silverlabs:set_home": { "add": { "component_groups": ["silverlabs:has_home", "silverlabs:exploring"] }, "remove": { "component_groups": ["silverlabs:tamed_following", "silverlabs:sleeping", "silverlabs:going_home", "silverlabs:sitting", "silverlabs:returning_fetch"] } }, "silverlabs:start_exploring": { "add": { "component_groups": ["silverlabs:exploring"] }, "remove": { "component_groups": ["silverlabs:sleeping", "silverlabs:going_home", "silverlabs:sitting", "silverlabs:returning_fetch"] } }, "silverlabs:go_home": { "add": { "component_groups": ["silverlabs:going_home"] }, "remove": { "component_groups": ["silverlabs:exploring", "silverlabs:sleeping", "silverlabs:returning_fetch"] } }, "silverlabs:start_sleeping": { "add": { "component_groups": ["silverlabs:sleeping"] }, "remove": { "component_groups": ["silverlabs:exploring", "silverlabs:going_home", "silverlabs:returning_fetch"] } }, "silverlabs:on_sit": { "add": { "component_groups": ["silverlabs:sitting"] }, "remove": { "component_groups": ["silverlabs:exploring", "silverlabs:going_home", "silverlabs:tamed_following", "silverlabs:returning_fetch"] } }, "silverlabs:on_stand": { "remove": { "component_groups": ["silverlabs:sitting", "silverlabs:sleeping", "silverlabs:returning_fetch"] }, "add": { "component_groups": ["silverlabs:tamed_following"] } } } } }