feat(spark_pet): major overhaul — traits, animations, riding, fire, coloured hatching
All checks were successful
Deploy Addons / deploy (push) Successful in 24s

- Movement: slower follow (speed 0.3, stop_dist 5), near-zero teleport chance
- Scales: baby 0.65, juvenile 0.9, adult 1.3 (up from 0.4/0.7/1.0)
- Personality traits (0–4): set by feeding specific foods while sneaking;
  affects stroll range, follow distance, look-at-player frequency
- Passtime animations driven by pure Molang lifecycle math (no timer components):
  groom, sniff, stretch, happy_bounce cycling ~every 3 min per dragon
- Rideable adults: minecraft:rideable + input_ground_controlled, seat at [0,0.9,-0.3]
- Fire breathing: autonomous vs monsters (radius 16) + player-triggered (sneak + fire_charge)
- New hatching system: 6 nest block variants (oak/spruce/jungle/crimson/warped/obsidian),
  craft nest + dragon_egg → coloured egg item; place egg, bonemeal + blaze powder → hatch;
  dragon colour matches nest type via 6 separate egg entity types + born_color events
- 18 new PNG textures: 6 dragon colours, 6 nest blocks, 6 egg items (HSV hue rotation)
- Render controller updated to use texture array indexed by silverlabs:dragon_color property

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-25 02:12:44 +00:00
parent c32dbf42c4
commit 4bd9efc081
57 changed files with 2162 additions and 320 deletions

View File

@@ -0,0 +1,20 @@
{
"format_version": "1.21.0",
"minecraft:block": {
"description": {
"identifier": "silverlabs:dragon_nest_crimson",
"menu_category": { "category": "items", "group": "itemGroup.name.bed" }
},
"components": {
"minecraft:geometry": "geometry.dragon_basket",
"minecraft:material_instances": {
"*": { "texture": "dragon_nest_crimson", "render_method": "alpha_test" }
},
"minecraft:collision_box": { "origin": [-7, 0, -7], "size": [14, 5, 14] },
"minecraft:selection_box": { "origin": [-7, 0, -7], "size": [14, 5, 14] },
"minecraft:destructible_by_mining": { "seconds_to_destroy": 1.0 },
"minecraft:destructible_by_explosion": { "explosion_resistance": 2.0 },
"minecraft:map_color": "#9B2323"
}
}
}

View File

@@ -0,0 +1,20 @@
{
"format_version": "1.21.0",
"minecraft:block": {
"description": {
"identifier": "silverlabs:dragon_nest_jungle",
"menu_category": { "category": "items", "group": "itemGroup.name.bed" }
},
"components": {
"minecraft:geometry": "geometry.dragon_basket",
"minecraft:material_instances": {
"*": { "texture": "dragon_nest_jungle", "render_method": "alpha_test" }
},
"minecraft:collision_box": { "origin": [-7, 0, -7], "size": [14, 5, 14] },
"minecraft:selection_box": { "origin": [-7, 0, -7], "size": [14, 5, 14] },
"minecraft:destructible_by_mining": { "seconds_to_destroy": 1.0 },
"minecraft:destructible_by_explosion": { "explosion_resistance": 2.0 },
"minecraft:map_color": "#5A8A3C"
}
}
}

View File

@@ -0,0 +1,20 @@
{
"format_version": "1.21.0",
"minecraft:block": {
"description": {
"identifier": "silverlabs:dragon_nest_oak",
"menu_category": { "category": "items", "group": "itemGroup.name.bed" }
},
"components": {
"minecraft:geometry": "geometry.dragon_basket",
"minecraft:material_instances": {
"*": { "texture": "dragon_nest_oak", "render_method": "alpha_test" }
},
"minecraft:collision_box": { "origin": [-7, 0, -7], "size": [14, 5, 14] },
"minecraft:selection_box": { "origin": [-7, 0, -7], "size": [14, 5, 14] },
"minecraft:destructible_by_mining": { "seconds_to_destroy": 1.0 },
"minecraft:destructible_by_explosion": { "explosion_resistance": 2.0 },
"minecraft:map_color": "#C8A87A"
}
}
}

View File

@@ -0,0 +1,20 @@
{
"format_version": "1.21.0",
"minecraft:block": {
"description": {
"identifier": "silverlabs:dragon_nest_obsidian",
"menu_category": { "category": "items", "group": "itemGroup.name.bed" }
},
"components": {
"minecraft:geometry": "geometry.dragon_basket",
"minecraft:material_instances": {
"*": { "texture": "dragon_nest_obsidian", "render_method": "alpha_test" }
},
"minecraft:collision_box": { "origin": [-7, 0, -7], "size": [14, 5, 14] },
"minecraft:selection_box": { "origin": [-7, 0, -7], "size": [14, 5, 14] },
"minecraft:destructible_by_mining": { "seconds_to_destroy": 3.0 },
"minecraft:destructible_by_explosion": { "explosion_resistance": 6.0 },
"minecraft:map_color": "#1A1022"
}
}
}

View File

@@ -0,0 +1,20 @@
{
"format_version": "1.21.0",
"minecraft:block": {
"description": {
"identifier": "silverlabs:dragon_nest_spruce",
"menu_category": { "category": "items", "group": "itemGroup.name.bed" }
},
"components": {
"minecraft:geometry": "geometry.dragon_basket",
"minecraft:material_instances": {
"*": { "texture": "dragon_nest_spruce", "render_method": "alpha_test" }
},
"minecraft:collision_box": { "origin": [-7, 0, -7], "size": [14, 5, 14] },
"minecraft:selection_box": { "origin": [-7, 0, -7], "size": [14, 5, 14] },
"minecraft:destructible_by_mining": { "seconds_to_destroy": 1.0 },
"minecraft:destructible_by_explosion": { "explosion_resistance": 2.0 },
"minecraft:map_color": "#7B5B3A"
}
}
}

View File

@@ -0,0 +1,20 @@
{
"format_version": "1.21.0",
"minecraft:block": {
"description": {
"identifier": "silverlabs:dragon_nest_warped",
"menu_category": { "category": "items", "group": "itemGroup.name.bed" }
},
"components": {
"minecraft:geometry": "geometry.dragon_basket",
"minecraft:material_instances": {
"*": { "texture": "dragon_nest_warped", "render_method": "alpha_test" }
},
"minecraft:collision_box": { "origin": [-7, 0, -7], "size": [14, 5, 14] },
"minecraft:selection_box": { "origin": [-7, 0, -7], "size": [14, 5, 14] },
"minecraft:destructible_by_mining": { "seconds_to_destroy": 1.0 },
"minecraft:destructible_by_explosion": { "explosion_resistance": 2.0 },
"minecraft:map_color": "#2A8A7B"
}
}
}

View File

@@ -10,7 +10,13 @@
"silverlabs:egg_stage": {
"type": "int",
"default": 0,
"range": [0, 3],
"range": [0, 2],
"client_sync": true
},
"silverlabs:egg_color": {
"type": "int",
"default": 0,
"range": [0, 5],
"client_sync": true
}
}
@@ -19,55 +25,18 @@
"silverlabs:egg_cold": {
"minecraft:damage_sensor": {
"triggers": [
{
"cause": "fire",
"deals_damage": false,
"on_damage": {
"event": "silverlabs:advance_to_warming",
"target": "self"
}
},
{
"cause": "fire_tick",
"deals_damage": false,
"on_damage": {
"event": "silverlabs:advance_to_warming",
"target": "self"
}
},
{
"cause": "lava",
"deals_damage": false,
"on_damage": {
"event": "silverlabs:advance_to_warming",
"target": "self"
}
},
{
"cause": "magma",
"deals_damage": false,
"on_damage": {
"event": "silverlabs:advance_to_warming",
"target": "self"
}
},
{
"cause": "entity_attack",
"deals_damage": true
},
{
"cause": "all",
"deals_damage": false
}
{ "cause": "fire", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_warming", "target": "self" } },
{ "cause": "fire_tick", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_warming", "target": "self" } },
{ "cause": "lava", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_warming", "target": "self" } },
{ "cause": "magma", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_warming", "target": "self" } },
{ "cause": "entity_attack", "deals_damage": true },
{ "cause": "all", "deals_damage": false }
]
},
"minecraft:timer": {
"time": 120,
"time": 180,
"looping": false,
"time_down_event": {
"event": "silverlabs:advance_to_warming",
"target": "self"
}
"time_down_event": { "event": "silverlabs:advance_to_warming", "target": "self" }
},
"minecraft:interact": {
"interactions": [
@@ -76,23 +45,19 @@
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "blaze_powder" }
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "bone_meal" }
]
},
"event": "silverlabs:advance_to_warming",
"target": "self"
},
"use_item": true,
"interact_text": "Warm Egg",
"play_sounds": "fire.fire"
"interact_text": "Warm Egg (Bonemeal)",
"play_sounds": "block.bone_block.place"
},
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" }
]
},
"filters": { "all_of": [{ "test": "is_family", "subject": "other", "value": "player" }] },
"event": "",
"target": "self"
},
@@ -106,142 +71,18 @@
"silverlabs:egg_warming": {
"minecraft:damage_sensor": {
"triggers": [
{
"cause": "fire",
"deals_damage": false,
"on_damage": {
"event": "silverlabs:advance_to_hot",
"target": "self"
}
},
{
"cause": "fire_tick",
"deals_damage": false,
"on_damage": {
"event": "silverlabs:advance_to_hot",
"target": "self"
}
},
{
"cause": "lava",
"deals_damage": false,
"on_damage": {
"event": "silverlabs:advance_to_hot",
"target": "self"
}
},
{
"cause": "magma",
"deals_damage": false,
"on_damage": {
"event": "silverlabs:advance_to_hot",
"target": "self"
}
},
{
"cause": "entity_attack",
"deals_damage": true
},
{
"cause": "all",
"deals_damage": false
}
{ "cause": "fire", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_hatching", "target": "self" } },
{ "cause": "fire_tick", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_hatching", "target": "self" } },
{ "cause": "lava", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_hatching", "target": "self" } },
{ "cause": "magma", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_hatching", "target": "self" } },
{ "cause": "entity_attack", "deals_damage": true },
{ "cause": "all", "deals_damage": false }
]
},
"minecraft:timer": {
"time": 120,
"looping": false,
"time_down_event": {
"event": "silverlabs:advance_to_hot",
"target": "self"
}
},
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "blaze_powder" }
]
},
"event": "silverlabs:advance_to_hot",
"target": "self"
},
"use_item": true,
"interact_text": "Heat Egg",
"play_sounds": "fire.fire"
},
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" }
]
},
"event": "",
"target": "self"
},
"use_item": false,
"interact_text": "The egg is getting warmer..."
}
]
}
},
"silverlabs:egg_hot": {
"minecraft:damage_sensor": {
"triggers": [
{
"cause": "fire",
"deals_damage": false,
"on_damage": {
"event": "silverlabs:advance_to_hatching",
"target": "self"
}
},
{
"cause": "fire_tick",
"deals_damage": false,
"on_damage": {
"event": "silverlabs:advance_to_hatching",
"target": "self"
}
},
{
"cause": "lava",
"deals_damage": false,
"on_damage": {
"event": "silverlabs:advance_to_hatching",
"target": "self"
}
},
{
"cause": "magma",
"deals_damage": false,
"on_damage": {
"event": "silverlabs:advance_to_hatching",
"target": "self"
}
},
{
"cause": "entity_attack",
"deals_damage": true
},
{
"cause": "all",
"deals_damage": false
}
]
},
"minecraft:timer": {
"time": 120,
"looping": false,
"time_down_event": {
"event": "silverlabs:advance_to_hatching",
"target": "self"
}
"time_down_event": { "event": "silverlabs:advance_to_hatching", "target": "self" }
},
"minecraft:interact": {
"interactions": [
@@ -257,21 +98,17 @@
"target": "self"
},
"use_item": true,
"interact_text": "Ignite Egg",
"interact_text": "Ignite Egg (Blaze Powder)",
"play_sounds": "fire.fire"
},
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" }
]
},
"filters": { "all_of": [{ "test": "is_family", "subject": "other", "value": "player" }] },
"event": "",
"target": "self"
},
"use_item": false,
"interact_text": "The egg is almost ready!"
"interact_text": "The egg is warming up..."
}
]
}
@@ -279,12 +116,7 @@
"silverlabs:egg_hatching": {
"minecraft:damage_sensor": {
"triggers": [
{
"cause": "all",
"deals_damage": false
}
]
"triggers": [{ "cause": "all", "deals_damage": false }]
},
"minecraft:spawn_entity": {
"entities": [
@@ -293,18 +125,16 @@
"max_wait_time": 1,
"spawn_sound": "mob.enderdragon.growl",
"spawn_entity": "silverlabs:spark_dragon",
"spawn_event": "silverlabs:born_color_0",
"num_to_spawn": 1,
"single_use": true
}
]
},
"minecraft:timer": {
"time": 3,
"time": [60, 90],
"looping": false,
"time_down_event": {
"event": "silverlabs:despawn_egg",
"target": "self"
}
"time_down_event": { "event": "silverlabs:despawn_egg", "target": "self" }
}
},
@@ -349,47 +179,20 @@
"events": {
"minecraft:entity_spawned": {
"add": {
"component_groups": ["silverlabs:egg_cold"]
}
"add": { "component_groups": ["silverlabs:egg_cold"] }
},
"silverlabs:advance_to_warming": {
"remove": {
"component_groups": ["silverlabs:egg_cold"]
},
"add": {
"component_groups": ["silverlabs:egg_warming"]
},
"set_property": {
"silverlabs:egg_stage": 1
}
},
"silverlabs:advance_to_hot": {
"remove": {
"component_groups": ["silverlabs:egg_warming"]
},
"add": {
"component_groups": ["silverlabs:egg_hot"]
},
"set_property": {
"silverlabs:egg_stage": 2
}
"remove": { "component_groups": ["silverlabs:egg_cold"] },
"add": { "component_groups": ["silverlabs:egg_warming"] },
"set_property": { "silverlabs:egg_stage": 1 }
},
"silverlabs:advance_to_hatching": {
"remove": {
"component_groups": ["silverlabs:egg_hot"]
},
"add": {
"component_groups": ["silverlabs:egg_hatching"]
},
"set_property": {
"silverlabs:egg_stage": 3
}
"remove": { "component_groups": ["silverlabs:egg_warming"] },
"add": { "component_groups": ["silverlabs:egg_hatching"] },
"set_property": { "silverlabs:egg_stage": 2 }
},
"silverlabs:despawn_egg": {
"add": {
"component_groups": ["silverlabs:egg_despawning"]
}
"add": { "component_groups": ["silverlabs:egg_despawning"] }
}
}
}

View File

@@ -0,0 +1,127 @@
{
"format_version": "1.21.0",
"minecraft:entity": {
"description": {
"identifier": "silverlabs:dragon_egg_color_0",
"is_spawnable": false,
"is_summonable": true,
"is_experimental": false,
"properties": {
"silverlabs:egg_stage": { "type": "int", "default": 0, "range": [0, 2], "client_sync": true },
"silverlabs:egg_color": { "type": "int", "default": 0, "range": [0, 5], "client_sync": true }
}
},
"component_groups": {
"silverlabs:egg_cold": {
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "bone_meal" }
]
},
"event": "silverlabs:advance_to_warming", "target": "self"
},
"use_item": true, "interact_text": "Warm with Bonemeal", "play_sounds": "block.bone_block.place"
},
{
"on_interact": {
"filters": { "all_of": [{ "test": "is_family", "subject": "other", "value": "player" }] },
"event": "", "target": "self"
},
"use_item": false, "interact_text": "The egg feels cold... (use Bonemeal)"
}
]
},
"minecraft:damage_sensor": {
"triggers": [
{ "cause": "fire", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_warming", "target": "self" } },
{ "cause": "fire_tick", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_warming", "target": "self" } },
{ "cause": "lava", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_warming", "target": "self" } },
{ "cause": "entity_attack", "deals_damage": true },
{ "cause": "all", "deals_damage": false }
]
},
"minecraft:timer": { "time": 180, "looping": false, "time_down_event": { "event": "silverlabs:advance_to_warming", "target": "self" } }
},
"silverlabs:egg_warming": {
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "blaze_powder" }
]
},
"event": "silverlabs:advance_to_hatching", "target": "self"
},
"use_item": true, "interact_text": "Ignite with Blaze Powder", "play_sounds": "fire.fire"
},
{
"on_interact": {
"filters": { "all_of": [{ "test": "is_family", "subject": "other", "value": "player" }] },
"event": "", "target": "self"
},
"use_item": false, "interact_text": "The egg is warming up... (use Blaze Powder)"
}
]
},
"minecraft:damage_sensor": {
"triggers": [
{ "cause": "fire", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_hatching", "target": "self" } },
{ "cause": "fire_tick", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_hatching", "target": "self" } },
{ "cause": "lava", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_hatching", "target": "self" } },
{ "cause": "entity_attack", "deals_damage": true },
{ "cause": "all", "deals_damage": false }
]
},
"minecraft:timer": { "time": 120, "looping": false, "time_down_event": { "event": "silverlabs:advance_to_hatching", "target": "self" } }
},
"silverlabs:egg_hatching": {
"minecraft:damage_sensor": { "triggers": [{ "cause": "all", "deals_damage": false }] },
"minecraft:spawn_entity": {
"entities": [{
"min_wait_time": 0, "max_wait_time": 1,
"spawn_sound": "mob.enderdragon.growl",
"spawn_entity": "silverlabs:spark_dragon",
"spawn_event": "silverlabs:born_color_0",
"num_to_spawn": 1, "single_use": true
}]
},
"minecraft:timer": { "time": [60, 90], "looping": false, "time_down_event": { "event": "silverlabs:despawn_egg", "target": "self" } }
},
"silverlabs:egg_despawning": { "minecraft:instant_despawn": {} }
},
"components": {
"minecraft:type_family": { "family": ["dragon_egg"] },
"minecraft:physics": {},
"minecraft:collision_box": { "width": 0.5, "height": 0.6 },
"minecraft:pushable": { "is_pushable": false, "is_pushable_by_piston": false },
"minecraft:knockback_resistance": { "value": 1.0 },
"minecraft:persistent": {},
"minecraft:scale": { "value": 1.0 },
"minecraft:health": { "value": 4, "max": 4 },
"minecraft:loot": { "table": "loot_tables/gameplay/egg_pickup.json" },
"minecraft:behavior.look_at_player": { "priority": 7, "look_distance": 6.0, "probability": 0.02 }
},
"events": {
"minecraft:entity_spawned": { "add": { "component_groups": ["silverlabs:egg_cold"] } },
"silverlabs:advance_to_warming": {
"remove": { "component_groups": ["silverlabs:egg_cold"] },
"add": { "component_groups": ["silverlabs:egg_warming"] },
"set_property": { "silverlabs:egg_stage": 1 }
},
"silverlabs:advance_to_hatching": {
"remove": { "component_groups": ["silverlabs:egg_warming"] },
"add": { "component_groups": ["silverlabs:egg_hatching"] },
"set_property": { "silverlabs:egg_stage": 2 }
},
"silverlabs:despawn_egg": { "add": { "component_groups": ["silverlabs:egg_despawning"] } }
}
}
}

View File

@@ -0,0 +1,127 @@
{
"format_version": "1.21.0",
"minecraft:entity": {
"description": {
"identifier": "silverlabs:dragon_egg_color_1",
"is_spawnable": false,
"is_summonable": true,
"is_experimental": false,
"properties": {
"silverlabs:egg_stage": { "type": "int", "default": 0, "range": [0, 2], "client_sync": true },
"silverlabs:egg_color": { "type": "int", "default": 1, "range": [0, 5], "client_sync": true }
}
},
"component_groups": {
"silverlabs:egg_cold": {
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "bone_meal" }
]
},
"event": "silverlabs:advance_to_warming", "target": "self"
},
"use_item": true, "interact_text": "Warm with Bonemeal", "play_sounds": "block.bone_block.place"
},
{
"on_interact": {
"filters": { "all_of": [{ "test": "is_family", "subject": "other", "value": "player" }] },
"event": "", "target": "self"
},
"use_item": false, "interact_text": "The egg has a warm brown glow... (use Bonemeal)"
}
]
},
"minecraft:damage_sensor": {
"triggers": [
{ "cause": "fire", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_warming", "target": "self" } },
{ "cause": "fire_tick", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_warming", "target": "self" } },
{ "cause": "lava", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_warming", "target": "self" } },
{ "cause": "entity_attack", "deals_damage": true },
{ "cause": "all", "deals_damage": false }
]
},
"minecraft:timer": { "time": 180, "looping": false, "time_down_event": { "event": "silverlabs:advance_to_warming", "target": "self" } }
},
"silverlabs:egg_warming": {
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "blaze_powder" }
]
},
"event": "silverlabs:advance_to_hatching", "target": "self"
},
"use_item": true, "interact_text": "Ignite with Blaze Powder", "play_sounds": "fire.fire"
},
{
"on_interact": {
"filters": { "all_of": [{ "test": "is_family", "subject": "other", "value": "player" }] },
"event": "", "target": "self"
},
"use_item": false, "interact_text": "The egg is warming to brown... (use Blaze Powder)"
}
]
},
"minecraft:damage_sensor": {
"triggers": [
{ "cause": "fire", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_hatching", "target": "self" } },
{ "cause": "fire_tick", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_hatching", "target": "self" } },
{ "cause": "lava", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_hatching", "target": "self" } },
{ "cause": "entity_attack", "deals_damage": true },
{ "cause": "all", "deals_damage": false }
]
},
"minecraft:timer": { "time": 120, "looping": false, "time_down_event": { "event": "silverlabs:advance_to_hatching", "target": "self" } }
},
"silverlabs:egg_hatching": {
"minecraft:damage_sensor": { "triggers": [{ "cause": "all", "deals_damage": false }] },
"minecraft:spawn_entity": {
"entities": [{
"min_wait_time": 0, "max_wait_time": 1,
"spawn_sound": "mob.enderdragon.growl",
"spawn_entity": "silverlabs:spark_dragon",
"spawn_event": "silverlabs:born_color_1",
"num_to_spawn": 1, "single_use": true
}]
},
"minecraft:timer": { "time": [60, 90], "looping": false, "time_down_event": { "event": "silverlabs:despawn_egg", "target": "self" } }
},
"silverlabs:egg_despawning": { "minecraft:instant_despawn": {} }
},
"components": {
"minecraft:type_family": { "family": ["dragon_egg"] },
"minecraft:physics": {},
"minecraft:collision_box": { "width": 0.5, "height": 0.6 },
"minecraft:pushable": { "is_pushable": false, "is_pushable_by_piston": false },
"minecraft:knockback_resistance": { "value": 1.0 },
"minecraft:persistent": {},
"minecraft:scale": { "value": 1.0 },
"minecraft:health": { "value": 4, "max": 4 },
"minecraft:loot": { "table": "loot_tables/gameplay/egg_pickup.json" },
"minecraft:behavior.look_at_player": { "priority": 7, "look_distance": 6.0, "probability": 0.02 }
},
"events": {
"minecraft:entity_spawned": { "add": { "component_groups": ["silverlabs:egg_cold"] } },
"silverlabs:advance_to_warming": {
"remove": { "component_groups": ["silverlabs:egg_cold"] },
"add": { "component_groups": ["silverlabs:egg_warming"] },
"set_property": { "silverlabs:egg_stage": 1 }
},
"silverlabs:advance_to_hatching": {
"remove": { "component_groups": ["silverlabs:egg_warming"] },
"add": { "component_groups": ["silverlabs:egg_hatching"] },
"set_property": { "silverlabs:egg_stage": 2 }
},
"silverlabs:despawn_egg": { "add": { "component_groups": ["silverlabs:egg_despawning"] } }
}
}
}

View File

@@ -0,0 +1,127 @@
{
"format_version": "1.21.0",
"minecraft:entity": {
"description": {
"identifier": "silverlabs:dragon_egg_color_2",
"is_spawnable": false,
"is_summonable": true,
"is_experimental": false,
"properties": {
"silverlabs:egg_stage": { "type": "int", "default": 0, "range": [0, 2], "client_sync": true },
"silverlabs:egg_color": { "type": "int", "default": 2, "range": [0, 5], "client_sync": true }
}
},
"component_groups": {
"silverlabs:egg_cold": {
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "bone_meal" }
]
},
"event": "silverlabs:advance_to_warming", "target": "self"
},
"use_item": true, "interact_text": "Warm with Bonemeal", "play_sounds": "block.bone_block.place"
},
{
"on_interact": {
"filters": { "all_of": [{ "test": "is_family", "subject": "other", "value": "player" }] },
"event": "", "target": "self"
},
"use_item": false, "interact_text": "The egg glows with forest green... (use Bonemeal)"
}
]
},
"minecraft:damage_sensor": {
"triggers": [
{ "cause": "fire", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_warming", "target": "self" } },
{ "cause": "fire_tick", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_warming", "target": "self" } },
{ "cause": "lava", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_warming", "target": "self" } },
{ "cause": "entity_attack", "deals_damage": true },
{ "cause": "all", "deals_damage": false }
]
},
"minecraft:timer": { "time": 180, "looping": false, "time_down_event": { "event": "silverlabs:advance_to_warming", "target": "self" } }
},
"silverlabs:egg_warming": {
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "blaze_powder" }
]
},
"event": "silverlabs:advance_to_hatching", "target": "self"
},
"use_item": true, "interact_text": "Ignite with Blaze Powder", "play_sounds": "fire.fire"
},
{
"on_interact": {
"filters": { "all_of": [{ "test": "is_family", "subject": "other", "value": "player" }] },
"event": "", "target": "self"
},
"use_item": false, "interact_text": "The egg shimmers greener... (use Blaze Powder)"
}
]
},
"minecraft:damage_sensor": {
"triggers": [
{ "cause": "fire", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_hatching", "target": "self" } },
{ "cause": "fire_tick", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_hatching", "target": "self" } },
{ "cause": "lava", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_hatching", "target": "self" } },
{ "cause": "entity_attack", "deals_damage": true },
{ "cause": "all", "deals_damage": false }
]
},
"minecraft:timer": { "time": 120, "looping": false, "time_down_event": { "event": "silverlabs:advance_to_hatching", "target": "self" } }
},
"silverlabs:egg_hatching": {
"minecraft:damage_sensor": { "triggers": [{ "cause": "all", "deals_damage": false }] },
"minecraft:spawn_entity": {
"entities": [{
"min_wait_time": 0, "max_wait_time": 1,
"spawn_sound": "mob.enderdragon.growl",
"spawn_entity": "silverlabs:spark_dragon",
"spawn_event": "silverlabs:born_color_2",
"num_to_spawn": 1, "single_use": true
}]
},
"minecraft:timer": { "time": [60, 90], "looping": false, "time_down_event": { "event": "silverlabs:despawn_egg", "target": "self" } }
},
"silverlabs:egg_despawning": { "minecraft:instant_despawn": {} }
},
"components": {
"minecraft:type_family": { "family": ["dragon_egg"] },
"minecraft:physics": {},
"minecraft:collision_box": { "width": 0.5, "height": 0.6 },
"minecraft:pushable": { "is_pushable": false, "is_pushable_by_piston": false },
"minecraft:knockback_resistance": { "value": 1.0 },
"minecraft:persistent": {},
"minecraft:scale": { "value": 1.0 },
"minecraft:health": { "value": 4, "max": 4 },
"minecraft:loot": { "table": "loot_tables/gameplay/egg_pickup.json" },
"minecraft:behavior.look_at_player": { "priority": 7, "look_distance": 6.0, "probability": 0.02 }
},
"events": {
"minecraft:entity_spawned": { "add": { "component_groups": ["silverlabs:egg_cold"] } },
"silverlabs:advance_to_warming": {
"remove": { "component_groups": ["silverlabs:egg_cold"] },
"add": { "component_groups": ["silverlabs:egg_warming"] },
"set_property": { "silverlabs:egg_stage": 1 }
},
"silverlabs:advance_to_hatching": {
"remove": { "component_groups": ["silverlabs:egg_warming"] },
"add": { "component_groups": ["silverlabs:egg_hatching"] },
"set_property": { "silverlabs:egg_stage": 2 }
},
"silverlabs:despawn_egg": { "add": { "component_groups": ["silverlabs:egg_despawning"] } }
}
}
}

View File

@@ -0,0 +1,127 @@
{
"format_version": "1.21.0",
"minecraft:entity": {
"description": {
"identifier": "silverlabs:dragon_egg_color_3",
"is_spawnable": false,
"is_summonable": true,
"is_experimental": false,
"properties": {
"silverlabs:egg_stage": { "type": "int", "default": 0, "range": [0, 2], "client_sync": true },
"silverlabs:egg_color": { "type": "int", "default": 3, "range": [0, 5], "client_sync": true }
}
},
"component_groups": {
"silverlabs:egg_cold": {
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "bone_meal" }
]
},
"event": "silverlabs:advance_to_warming", "target": "self"
},
"use_item": true, "interact_text": "Warm with Bonemeal", "play_sounds": "block.bone_block.place"
},
{
"on_interact": {
"filters": { "all_of": [{ "test": "is_family", "subject": "other", "value": "player" }] },
"event": "", "target": "self"
},
"use_item": false, "interact_text": "The egg pulses deep red... (use Bonemeal)"
}
]
},
"minecraft:damage_sensor": {
"triggers": [
{ "cause": "fire", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_warming", "target": "self" } },
{ "cause": "fire_tick", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_warming", "target": "self" } },
{ "cause": "lava", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_warming", "target": "self" } },
{ "cause": "entity_attack", "deals_damage": true },
{ "cause": "all", "deals_damage": false }
]
},
"minecraft:timer": { "time": 180, "looping": false, "time_down_event": { "event": "silverlabs:advance_to_warming", "target": "self" } }
},
"silverlabs:egg_warming": {
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "blaze_powder" }
]
},
"event": "silverlabs:advance_to_hatching", "target": "self"
},
"use_item": true, "interact_text": "Ignite with Blaze Powder", "play_sounds": "fire.fire"
},
{
"on_interact": {
"filters": { "all_of": [{ "test": "is_family", "subject": "other", "value": "player" }] },
"event": "", "target": "self"
},
"use_item": false, "interact_text": "The egg grows hotter red... (use Blaze Powder)"
}
]
},
"minecraft:damage_sensor": {
"triggers": [
{ "cause": "fire", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_hatching", "target": "self" } },
{ "cause": "fire_tick", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_hatching", "target": "self" } },
{ "cause": "lava", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_hatching", "target": "self" } },
{ "cause": "entity_attack", "deals_damage": true },
{ "cause": "all", "deals_damage": false }
]
},
"minecraft:timer": { "time": 120, "looping": false, "time_down_event": { "event": "silverlabs:advance_to_hatching", "target": "self" } }
},
"silverlabs:egg_hatching": {
"minecraft:damage_sensor": { "triggers": [{ "cause": "all", "deals_damage": false }] },
"minecraft:spawn_entity": {
"entities": [{
"min_wait_time": 0, "max_wait_time": 1,
"spawn_sound": "mob.enderdragon.growl",
"spawn_entity": "silverlabs:spark_dragon",
"spawn_event": "silverlabs:born_color_3",
"num_to_spawn": 1, "single_use": true
}]
},
"minecraft:timer": { "time": [60, 90], "looping": false, "time_down_event": { "event": "silverlabs:despawn_egg", "target": "self" } }
},
"silverlabs:egg_despawning": { "minecraft:instant_despawn": {} }
},
"components": {
"minecraft:type_family": { "family": ["dragon_egg"] },
"minecraft:physics": {},
"minecraft:collision_box": { "width": 0.5, "height": 0.6 },
"minecraft:pushable": { "is_pushable": false, "is_pushable_by_piston": false },
"minecraft:knockback_resistance": { "value": 1.0 },
"minecraft:persistent": {},
"minecraft:scale": { "value": 1.0 },
"minecraft:health": { "value": 4, "max": 4 },
"minecraft:loot": { "table": "loot_tables/gameplay/egg_pickup.json" },
"minecraft:behavior.look_at_player": { "priority": 7, "look_distance": 6.0, "probability": 0.02 }
},
"events": {
"minecraft:entity_spawned": { "add": { "component_groups": ["silverlabs:egg_cold"] } },
"silverlabs:advance_to_warming": {
"remove": { "component_groups": ["silverlabs:egg_cold"] },
"add": { "component_groups": ["silverlabs:egg_warming"] },
"set_property": { "silverlabs:egg_stage": 1 }
},
"silverlabs:advance_to_hatching": {
"remove": { "component_groups": ["silverlabs:egg_warming"] },
"add": { "component_groups": ["silverlabs:egg_hatching"] },
"set_property": { "silverlabs:egg_stage": 2 }
},
"silverlabs:despawn_egg": { "add": { "component_groups": ["silverlabs:egg_despawning"] } }
}
}
}

View File

@@ -0,0 +1,127 @@
{
"format_version": "1.21.0",
"minecraft:entity": {
"description": {
"identifier": "silverlabs:dragon_egg_color_4",
"is_spawnable": false,
"is_summonable": true,
"is_experimental": false,
"properties": {
"silverlabs:egg_stage": { "type": "int", "default": 0, "range": [0, 2], "client_sync": true },
"silverlabs:egg_color": { "type": "int", "default": 4, "range": [0, 5], "client_sync": true }
}
},
"component_groups": {
"silverlabs:egg_cold": {
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "bone_meal" }
]
},
"event": "silverlabs:advance_to_warming", "target": "self"
},
"use_item": true, "interact_text": "Warm with Bonemeal", "play_sounds": "block.bone_block.place"
},
{
"on_interact": {
"filters": { "all_of": [{ "test": "is_family", "subject": "other", "value": "player" }] },
"event": "", "target": "self"
},
"use_item": false, "interact_text": "The egg shimmers teal... (use Bonemeal)"
}
]
},
"minecraft:damage_sensor": {
"triggers": [
{ "cause": "fire", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_warming", "target": "self" } },
{ "cause": "fire_tick", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_warming", "target": "self" } },
{ "cause": "lava", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_warming", "target": "self" } },
{ "cause": "entity_attack", "deals_damage": true },
{ "cause": "all", "deals_damage": false }
]
},
"minecraft:timer": { "time": 180, "looping": false, "time_down_event": { "event": "silverlabs:advance_to_warming", "target": "self" } }
},
"silverlabs:egg_warming": {
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "blaze_powder" }
]
},
"event": "silverlabs:advance_to_hatching", "target": "self"
},
"use_item": true, "interact_text": "Ignite with Blaze Powder", "play_sounds": "fire.fire"
},
{
"on_interact": {
"filters": { "all_of": [{ "test": "is_family", "subject": "other", "value": "player" }] },
"event": "", "target": "self"
},
"use_item": false, "interact_text": "The egg glows teal bright... (use Blaze Powder)"
}
]
},
"minecraft:damage_sensor": {
"triggers": [
{ "cause": "fire", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_hatching", "target": "self" } },
{ "cause": "fire_tick", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_hatching", "target": "self" } },
{ "cause": "lava", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_hatching", "target": "self" } },
{ "cause": "entity_attack", "deals_damage": true },
{ "cause": "all", "deals_damage": false }
]
},
"minecraft:timer": { "time": 120, "looping": false, "time_down_event": { "event": "silverlabs:advance_to_hatching", "target": "self" } }
},
"silverlabs:egg_hatching": {
"minecraft:damage_sensor": { "triggers": [{ "cause": "all", "deals_damage": false }] },
"minecraft:spawn_entity": {
"entities": [{
"min_wait_time": 0, "max_wait_time": 1,
"spawn_sound": "mob.enderdragon.growl",
"spawn_entity": "silverlabs:spark_dragon",
"spawn_event": "silverlabs:born_color_4",
"num_to_spawn": 1, "single_use": true
}]
},
"minecraft:timer": { "time": [60, 90], "looping": false, "time_down_event": { "event": "silverlabs:despawn_egg", "target": "self" } }
},
"silverlabs:egg_despawning": { "minecraft:instant_despawn": {} }
},
"components": {
"minecraft:type_family": { "family": ["dragon_egg"] },
"minecraft:physics": {},
"minecraft:collision_box": { "width": 0.5, "height": 0.6 },
"minecraft:pushable": { "is_pushable": false, "is_pushable_by_piston": false },
"minecraft:knockback_resistance": { "value": 1.0 },
"minecraft:persistent": {},
"minecraft:scale": { "value": 1.0 },
"minecraft:health": { "value": 4, "max": 4 },
"minecraft:loot": { "table": "loot_tables/gameplay/egg_pickup.json" },
"minecraft:behavior.look_at_player": { "priority": 7, "look_distance": 6.0, "probability": 0.02 }
},
"events": {
"minecraft:entity_spawned": { "add": { "component_groups": ["silverlabs:egg_cold"] } },
"silverlabs:advance_to_warming": {
"remove": { "component_groups": ["silverlabs:egg_cold"] },
"add": { "component_groups": ["silverlabs:egg_warming"] },
"set_property": { "silverlabs:egg_stage": 1 }
},
"silverlabs:advance_to_hatching": {
"remove": { "component_groups": ["silverlabs:egg_warming"] },
"add": { "component_groups": ["silverlabs:egg_hatching"] },
"set_property": { "silverlabs:egg_stage": 2 }
},
"silverlabs:despawn_egg": { "add": { "component_groups": ["silverlabs:egg_despawning"] } }
}
}
}

View File

@@ -0,0 +1,127 @@
{
"format_version": "1.21.0",
"minecraft:entity": {
"description": {
"identifier": "silverlabs:dragon_egg_color_5",
"is_spawnable": false,
"is_summonable": true,
"is_experimental": false,
"properties": {
"silverlabs:egg_stage": { "type": "int", "default": 0, "range": [0, 2], "client_sync": true },
"silverlabs:egg_color": { "type": "int", "default": 5, "range": [0, 5], "client_sync": true }
}
},
"component_groups": {
"silverlabs:egg_cold": {
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "bone_meal" }
]
},
"event": "silverlabs:advance_to_warming", "target": "self"
},
"use_item": true, "interact_text": "Warm with Bonemeal", "play_sounds": "block.bone_block.place"
},
{
"on_interact": {
"filters": { "all_of": [{ "test": "is_family", "subject": "other", "value": "player" }] },
"event": "", "target": "self"
},
"use_item": false, "interact_text": "The egg radiates dark energy... (use Bonemeal)"
}
]
},
"minecraft:damage_sensor": {
"triggers": [
{ "cause": "fire", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_warming", "target": "self" } },
{ "cause": "fire_tick", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_warming", "target": "self" } },
{ "cause": "lava", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_warming", "target": "self" } },
{ "cause": "entity_attack", "deals_damage": true },
{ "cause": "all", "deals_damage": false }
]
},
"minecraft:timer": { "time": 180, "looping": false, "time_down_event": { "event": "silverlabs:advance_to_warming", "target": "self" } }
},
"silverlabs:egg_warming": {
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "blaze_powder" }
]
},
"event": "silverlabs:advance_to_hatching", "target": "self"
},
"use_item": true, "interact_text": "Ignite with Blaze Powder", "play_sounds": "fire.fire"
},
{
"on_interact": {
"filters": { "all_of": [{ "test": "is_family", "subject": "other", "value": "player" }] },
"event": "", "target": "self"
},
"use_item": false, "interact_text": "The dark egg simmers... (use Blaze Powder)"
}
]
},
"minecraft:damage_sensor": {
"triggers": [
{ "cause": "fire", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_hatching", "target": "self" } },
{ "cause": "fire_tick", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_hatching", "target": "self" } },
{ "cause": "lava", "deals_damage": false, "on_damage": { "event": "silverlabs:advance_to_hatching", "target": "self" } },
{ "cause": "entity_attack", "deals_damage": true },
{ "cause": "all", "deals_damage": false }
]
},
"minecraft:timer": { "time": 120, "looping": false, "time_down_event": { "event": "silverlabs:advance_to_hatching", "target": "self" } }
},
"silverlabs:egg_hatching": {
"minecraft:damage_sensor": { "triggers": [{ "cause": "all", "deals_damage": false }] },
"minecraft:spawn_entity": {
"entities": [{
"min_wait_time": 0, "max_wait_time": 1,
"spawn_sound": "mob.enderdragon.growl",
"spawn_entity": "silverlabs:spark_dragon",
"spawn_event": "silverlabs:born_color_5",
"num_to_spawn": 1, "single_use": true
}]
},
"minecraft:timer": { "time": [60, 90], "looping": false, "time_down_event": { "event": "silverlabs:despawn_egg", "target": "self" } }
},
"silverlabs:egg_despawning": { "minecraft:instant_despawn": {} }
},
"components": {
"minecraft:type_family": { "family": ["dragon_egg"] },
"minecraft:physics": {},
"minecraft:collision_box": { "width": 0.5, "height": 0.6 },
"minecraft:pushable": { "is_pushable": false, "is_pushable_by_piston": false },
"minecraft:knockback_resistance": { "value": 1.0 },
"minecraft:persistent": {},
"minecraft:scale": { "value": 1.0 },
"minecraft:health": { "value": 4, "max": 4 },
"minecraft:loot": { "table": "loot_tables/gameplay/egg_pickup.json" },
"minecraft:behavior.look_at_player": { "priority": 7, "look_distance": 6.0, "probability": 0.02 }
},
"events": {
"minecraft:entity_spawned": { "add": { "component_groups": ["silverlabs:egg_cold"] } },
"silverlabs:advance_to_warming": {
"remove": { "component_groups": ["silverlabs:egg_cold"] },
"add": { "component_groups": ["silverlabs:egg_warming"] },
"set_property": { "silverlabs:egg_stage": 1 }
},
"silverlabs:advance_to_hatching": {
"remove": { "component_groups": ["silverlabs:egg_warming"] },
"add": { "component_groups": ["silverlabs:egg_hatching"] },
"set_property": { "silverlabs:egg_stage": 2 }
},
"silverlabs:despawn_egg": { "add": { "component_groups": ["silverlabs:egg_despawning"] } }
}
}
}

View File

@@ -23,21 +23,39 @@
"default": 1,
"range": [0, 2],
"client_sync": true
},
"silverlabs:trait": {
"type": "int",
"default": 0,
"range": [0, 4],
"client_sync": true
},
"silverlabs:firing": {
"type": "bool",
"default": false,
"client_sync": true
},
"silverlabs:dragon_color": {
"type": "int",
"default": 0,
"range": [0, 5],
"client_sync": true
}
}
},
"component_groups": {
"silverlabs:wild": {
"minecraft:behavior.tempt": {
"priority": 3,
"speed_multiplier": 0.8,
"speed_multiplier": 0.5,
"items": ["fish", "salmon"],
"can_tempt_vertically": true
},
"minecraft:behavior.avoid_mob_type": {
"priority": 4,
"max_dist": 8,
"walk_speed_multiplier": 1.0,
"walk_speed_multiplier": 0.8,
"entity_types": [
{
"filters": {
@@ -46,7 +64,7 @@
"value": "monster"
},
"max_dist": 8,
"walk_speed_multiplier": 1.0
"walk_speed_multiplier": 0.8
}
]
}
@@ -56,13 +74,13 @@
"minecraft:is_tamed": {},
"minecraft:behavior.follow_owner": {
"priority": 4,
"speed_multiplier": 0.8,
"start_distance": 8,
"stop_distance": 3
"speed_multiplier": 0.35,
"start_distance": 6,
"stop_distance": 4
},
"minecraft:behavior.tempt": {
"priority": 3,
"speed_multiplier": 0.8,
"priority": 5,
"speed_multiplier": 0.4,
"items": ["fish", "salmon"],
"can_tempt_vertically": true
},
@@ -96,7 +114,7 @@
},
"minecraft:behavior.melee_attack": {
"priority": 2,
"speed_multiplier": 1.0,
"speed_multiplier": 0.8,
"reach_multiplier": 1.0,
"track_target": true
},
@@ -113,27 +131,27 @@
"minecraft:is_tamed": {},
"minecraft:behavior.follow_owner": {
"priority": 2,
"speed_multiplier": 0.8,
"start_distance": 8,
"stop_distance": 3
"speed_multiplier": 0.3,
"start_distance": 6,
"stop_distance": 5
},
"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],
"light_teleport_chance": 0.01,
"max_random_teleport_time": 60,
"min_random_teleport_time": 30,
"random_teleport_cube_size": [8, 4, 8],
"target_distance": 64,
"target_teleport_chance": 0.3
"target_teleport_chance": 0.04
}
},
"silverlabs:returning_fetch": {
"minecraft:behavior.follow_owner": {
"priority": 1,
"speed_multiplier": 1.0,
"speed_multiplier": 0.7,
"start_distance": 15,
"stop_distance": 2
},
@@ -143,7 +161,7 @@
"cooldown": 60,
"drop_item_chance": 1.0,
"offering_distance": 5.0,
"speed_multiplier": 1.0,
"speed_multiplier": 0.7,
"search_range": 20,
"search_height": 4,
"target_range": [5, 5, 5],
@@ -182,7 +200,7 @@
"filters": {
"all_of": [
{ "test": "hourly_clock_time", "operator": ">=", "value": 0 },
{ "test": "hourly_clock_time", "operator": "<", "value": 12000 }
{ "test": "hourly_clock_time", "operator": "<", "value": 7000 }
]
},
"event": "silverlabs:start_exploring"
@@ -190,8 +208,8 @@
{
"filters": {
"all_of": [
{ "test": "hourly_clock_time", "operator": ">=", "value": 12000 },
{ "test": "hourly_clock_time", "operator": "<", "value": 13000 }
{ "test": "hourly_clock_time", "operator": ">=", "value": 7000 },
{ "test": "hourly_clock_time", "operator": "<", "value": 9000 }
]
},
"event": "silverlabs:go_home"
@@ -199,8 +217,8 @@
{
"filters": {
"all_of": [
{ "test": "hourly_clock_time", "operator": ">=", "value": 13000 },
{ "test": "hourly_clock_time", "operator": "<", "value": 23000 }
{ "test": "hourly_clock_time", "operator": ">=", "value": 9000 },
{ "test": "hourly_clock_time", "operator": "<", "value": 22000 }
]
},
"event": "silverlabs:start_sleeping"
@@ -208,7 +226,7 @@
{
"filters": {
"all_of": [
{ "test": "hourly_clock_time", "operator": ">=", "value": 23000 }
{ "test": "hourly_clock_time", "operator": ">=", "value": 22000 }
]
},
"event": "silverlabs:start_exploring"
@@ -220,8 +238,8 @@
"silverlabs:exploring": {
"minecraft:behavior.random_stroll": {
"priority": 6,
"speed_multiplier": 0.5,
"xz_dist": 12,
"speed_multiplier": 0.3,
"xz_dist": 10,
"y_dist": 2
},
"minecraft:behavior.random_look_around": {
@@ -232,7 +250,7 @@
"silverlabs:going_home": {
"minecraft:behavior.go_home": {
"priority": 2,
"speed_multiplier": 0.8,
"speed_multiplier": 0.5,
"interval": 1,
"goal_radius": 2,
"on_home": [
@@ -271,7 +289,7 @@
"minecraft:is_tamed": {},
"minecraft:behavior.follow_owner": {
"priority": 1,
"speed_multiplier": 1.0,
"speed_multiplier": 0.9,
"start_distance": 200,
"stop_distance": 3
},
@@ -301,7 +319,7 @@
"cooldown": 99999,
"drop_item_chance": 1.0,
"offering_distance": 5.0,
"speed_multiplier": 1.0,
"speed_multiplier": 0.5,
"search_range": 10,
"search_height": 4,
"target_range": [5, 5, 5],
@@ -369,14 +387,14 @@
}
},
"minecraft:scale": {
"value": 0.4
"value": 0.65
},
"minecraft:collision_box": {
"width": 0.35,
"height": 0.3
"width": 0.5,
"height": 0.45
},
"minecraft:movement": {
"value": 0.15
"value": 0.10
},
"minecraft:health": {
"value": 10,
@@ -389,7 +407,7 @@
"drop_item_chance": 0.6,
"offering_distance": 5.0,
"minimum_teleport_distance": 2.0,
"speed_multiplier": 1.0,
"speed_multiplier": 0.5,
"search_range": 10,
"search_height": 2,
"target_range": [5, 5, 5],
@@ -409,7 +427,7 @@
},
"minecraft:behavior.play": {
"priority": 5,
"speed_multiplier": 0.7,
"speed_multiplier": 0.5,
"friend_types": [
{
"filters": {
@@ -424,14 +442,14 @@
"silverlabs:stage_juvenile": {
"minecraft:scale": {
"value": 0.7
"value": 0.9
},
"minecraft:collision_box": {
"width": 0.5,
"height": 0.4
"width": 0.6,
"height": 0.5
},
"minecraft:movement": {
"value": 0.2
"value": 0.14
},
"minecraft:health": {
"value": 20,
@@ -455,7 +473,7 @@
"drop_item_chance": 0.7,
"offering_distance": 5.0,
"minimum_teleport_distance": 2.0,
"speed_multiplier": 1.0,
"speed_multiplier": 0.6,
"search_range": 12,
"search_height": 2,
"target_range": [5, 5, 5],
@@ -475,7 +493,7 @@
},
"minecraft:behavior.play": {
"priority": 5,
"speed_multiplier": 0.8,
"speed_multiplier": 0.6,
"friend_types": [
{
"filters": {
@@ -488,7 +506,7 @@
},
"minecraft:behavior.raid_garden": {
"priority": 6,
"speed_multiplier": 1.0,
"speed_multiplier": 0.5,
"search_range": 12,
"search_height": 2,
"goal_radius": 1.0,
@@ -499,14 +517,14 @@
"silverlabs:stage_adult": {
"minecraft:scale": {
"value": 1.0
"value": 1.3
},
"minecraft:collision_box": {
"width": 0.6,
"height": 0.5
"width": 0.8,
"height": 0.65
},
"minecraft:movement": {
"value": 0.25
"value": 0.18
},
"minecraft:health": {
"value": 30,
@@ -519,7 +537,46 @@
},
"minecraft:movement.fly": {},
"minecraft:flying_speed": {
"value": 0.04
"value": 0.06
},
"minecraft:rideable": {
"seat_count": 1,
"family_types": ["player"],
"interact_text": "action.interact.mount",
"seats": [
{
"position": [0, 0.9, -0.3],
"lock_rider_rotation": 90,
"min_rider_count": 0,
"max_rider_count": 1
}
]
},
"minecraft:input_ground_controlled": {},
"minecraft:behavior.nearest_attackable_target": {
"priority": 5,
"entity_types": [
{
"filters": {
"test": "is_family",
"subject": "other",
"value": "monster"
},
"max_dist": 12
}
],
"must_see": true,
"reselect_targets": true
},
"minecraft:shooter": {
"def": "minecraft:small_fireball"
},
"minecraft:behavior.ranged_attack": {
"priority": 3,
"attack_interval_min": 2.0,
"attack_interval_max": 4.0,
"attack_radius": 12.0,
"speed_multiplier": 0.8
},
"minecraft:behavior.drop_item_for": {
"priority": 5,
@@ -528,7 +585,7 @@
"drop_item_chance": 0.8,
"offering_distance": 5.0,
"minimum_teleport_distance": 2.0,
"speed_multiplier": 1.0,
"speed_multiplier": 0.5,
"search_range": 16,
"search_height": 4,
"target_range": [5, 5, 5],
@@ -546,6 +603,109 @@
}
]
}
},
"silverlabs:fire_breathing": {
"minecraft:behavior.nearest_attackable_target": {
"priority": 2,
"entity_types": [
{
"filters": {
"test": "is_family",
"subject": "other",
"value": "monster"
},
"max_dist": 20
}
],
"must_see": false,
"reselect_targets": true
},
"minecraft:behavior.ranged_attack": {
"priority": 1,
"attack_interval_min": 0.8,
"attack_interval_max": 1.5,
"attack_radius": 18.0,
"speed_multiplier": 0.5
},
"minecraft:timer": {
"time": [4, 6],
"looping": false,
"time_down_event": {
"event": "silverlabs:fire_breath_end",
"target": "self"
}
}
},
"silverlabs:trait_relaxed": {
"minecraft:behavior.random_stroll": {
"priority": 8,
"speed_multiplier": 0.12,
"xz_dist": 3,
"y_dist": 1
},
"minecraft:behavior.look_at_player": {
"priority": 7,
"look_distance": 7.0,
"probability": 0.03
}
},
"silverlabs:trait_explorer": {
"minecraft:behavior.random_stroll": {
"priority": 8,
"speed_multiplier": 0.22,
"xz_dist": 14,
"y_dist": 3
},
"minecraft:behavior.look_at_player": {
"priority": 7,
"look_distance": 8.0,
"probability": 0.01
}
},
"silverlabs:trait_affectionate": {
"minecraft:behavior.random_stroll": {
"priority": 8,
"speed_multiplier": 0.14,
"xz_dist": 4,
"y_dist": 1
},
"minecraft:behavior.look_at_player": {
"priority": 7,
"look_distance": 14.0,
"probability": 0.10
}
},
"silverlabs:trait_playful": {
"minecraft:behavior.random_stroll": {
"priority": 8,
"speed_multiplier": 0.20,
"xz_dist": 8,
"y_dist": 2
},
"minecraft:behavior.look_at_player": {
"priority": 7,
"look_distance": 9.0,
"probability": 0.05
}
},
"silverlabs:trait_independent": {
"minecraft:behavior.random_stroll": {
"priority": 8,
"speed_multiplier": 0.18,
"xz_dist": 12,
"y_dist": 3
},
"minecraft:behavior.look_at_player": {
"priority": 7,
"look_distance": 5.0,
"probability": 0.005
}
}
},
@@ -565,7 +725,7 @@
"avoid_damage_blocks": true
},
"minecraft:movement.basic": {
"max_turn": 20.0
"max_turn": 12.0
},
"minecraft:jump.static": {},
"minecraft:tameable": {
@@ -599,6 +759,14 @@
{
"cause": "fall",
"deals_damage": false
},
{
"cause": "fire",
"deals_damage": false
},
{
"cause": "fire_tick",
"deals_damage": false
}
]
},
@@ -615,8 +783,8 @@
},
"minecraft:behavior.random_stroll": {
"priority": 8,
"speed_multiplier": 0.4,
"xz_dist": 7,
"speed_multiplier": 0.2,
"xz_dist": 5,
"y_dist": 2
},
"minecraft:interact": {
@@ -680,6 +848,109 @@
"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", "value": "chicken" },
{ "test": "is_sneaking", "subject": "other", "value": true },
{ "test": "has_component", "value": "minecraft:is_tamed" }
]
},
"event": "silverlabs:set_trait_relaxed",
"target": "self"
},
"use_item": true,
"interact_text": "Teach: Relaxed",
"play_sounds": "random.eat"
},
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "beef" },
{ "test": "is_sneaking", "subject": "other", "value": true },
{ "test": "has_component", "value": "minecraft:is_tamed" }
]
},
"event": "silverlabs:set_trait_explorer",
"target": "self"
},
"use_item": true,
"interact_text": "Teach: Explorer",
"play_sounds": "random.eat"
},
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "cooked_salmon" },
{ "test": "is_sneaking", "subject": "other", "value": true },
{ "test": "has_component", "value": "minecraft:is_tamed" }
]
},
"event": "silverlabs:set_trait_affectionate",
"target": "self"
},
"use_item": true,
"interact_text": "Teach: Affectionate",
"play_sounds": "random.eat"
},
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "melon_slice" },
{ "test": "is_sneaking", "subject": "other", "value": true },
{ "test": "has_component", "value": "minecraft:is_tamed" }
]
},
"event": "silverlabs:set_trait_playful",
"target": "self"
},
"use_item": true,
"interact_text": "Teach: Playful",
"play_sounds": "random.eat"
},
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "bamboo" },
{ "test": "is_sneaking", "subject": "other", "value": true },
{ "test": "has_component", "value": "minecraft:is_tamed" }
]
},
"event": "silverlabs:set_trait_independent",
"target": "self"
},
"use_item": true,
"interact_text": "Teach: Independent",
"play_sounds": "random.eat"
},
{
"on_interact": {
"filters": {
"all_of": [
{ "test": "is_family", "subject": "other", "value": "player" },
{ "test": "has_equipment", "subject": "other", "domain": "hand", "value": "fire_charge" },
{ "test": "is_sneaking", "subject": "other", "value": true },
{ "test": "has_component", "value": "minecraft:is_tamed" },
{ "test": "has_component", "value": "minecraft:can_fly" }
]
},
"event": "silverlabs:fire_breath_start",
"target": "self"
},
"use_item": true,
"interact_text": "Breathe Fire",
"play_sounds": "fire.fire"
},
{
"on_interact": {
"filters": {
@@ -798,25 +1069,36 @@
"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"]
"component_groups": [
"silverlabs:tamed",
"silverlabs:tamed_loot",
"silverlabs:guide_drop",
"silverlabs:mood_happy",
"silverlabs:trait_relaxed"
]
},
"set_property": {
"silverlabs:mood": 2
"silverlabs:mood": 2,
"silverlabs:trait": 0
}
},
"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"]
@@ -828,6 +1110,7 @@
"silverlabs:mood": 2
}
},
"silverlabs:mood_decay_to_content": {
"remove": {
"component_groups": ["silverlabs:mood_happy"]
@@ -839,6 +1122,7 @@
"silverlabs:mood": 1
}
},
"silverlabs:mood_decay_to_needy": {
"remove": {
"component_groups": ["silverlabs:mood_content"]
@@ -850,9 +1134,13 @@
"silverlabs:mood": 0
}
},
"silverlabs:grow_to_juvenile": {
"remove": {
"component_groups": ["silverlabs:stage_baby", "silverlabs:mood_happy", "silverlabs:mood_content", "silverlabs:mood_needy"]
"component_groups": [
"silverlabs:stage_baby",
"silverlabs:mood_happy", "silverlabs:mood_content", "silverlabs:mood_needy"
]
},
"add": {
"component_groups": ["silverlabs:stage_juvenile"]
@@ -862,6 +1150,7 @@
"silverlabs:mood": 1
}
},
"silverlabs:grow_to_adult": {
"remove": {
"component_groups": ["silverlabs:stage_juvenile"]
@@ -874,14 +1163,19 @@
"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"]
"component_groups": [
"silverlabs:returning_fetch",
"silverlabs:mood_happy", "silverlabs:mood_content", "silverlabs:mood_needy"
]
},
"add": {
"component_groups": ["silverlabs:tamed_following", "silverlabs:mood_happy"]
@@ -890,28 +1184,37 @@
"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"]
"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"]
"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"]
@@ -920,6 +1223,7 @@
"silverlabs:beacon_active": true
}
},
"silverlabs:beacon_off": {
"remove": {
"component_groups": ["silverlabs:beacon_on", "silverlabs:tamed_called"]
@@ -931,54 +1235,77 @@
"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"]
"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"]
"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"]
"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"]
"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"]
"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"]
"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"]
@@ -986,6 +1313,95 @@
"add": {
"component_groups": ["silverlabs:tamed_following"]
}
},
"silverlabs:set_trait_relaxed": {
"remove": {
"component_groups": [
"silverlabs:trait_relaxed", "silverlabs:trait_explorer",
"silverlabs:trait_affectionate", "silverlabs:trait_playful",
"silverlabs:trait_independent"
]
},
"add": { "component_groups": ["silverlabs:trait_relaxed"] },
"set_property": { "silverlabs:trait": 0 }
},
"silverlabs:set_trait_explorer": {
"remove": {
"component_groups": [
"silverlabs:trait_relaxed", "silverlabs:trait_explorer",
"silverlabs:trait_affectionate", "silverlabs:trait_playful",
"silverlabs:trait_independent"
]
},
"add": { "component_groups": ["silverlabs:trait_explorer"] },
"set_property": { "silverlabs:trait": 1 }
},
"silverlabs:set_trait_affectionate": {
"remove": {
"component_groups": [
"silverlabs:trait_relaxed", "silverlabs:trait_explorer",
"silverlabs:trait_affectionate", "silverlabs:trait_playful",
"silverlabs:trait_independent"
]
},
"add": { "component_groups": ["silverlabs:trait_affectionate"] },
"set_property": { "silverlabs:trait": 2 }
},
"silverlabs:set_trait_playful": {
"remove": {
"component_groups": [
"silverlabs:trait_relaxed", "silverlabs:trait_explorer",
"silverlabs:trait_affectionate", "silverlabs:trait_playful",
"silverlabs:trait_independent"
]
},
"add": { "component_groups": ["silverlabs:trait_playful"] },
"set_property": { "silverlabs:trait": 3 }
},
"silverlabs:set_trait_independent": {
"remove": {
"component_groups": [
"silverlabs:trait_relaxed", "silverlabs:trait_explorer",
"silverlabs:trait_affectionate", "silverlabs:trait_playful",
"silverlabs:trait_independent"
]
},
"add": { "component_groups": ["silverlabs:trait_independent"] },
"set_property": { "silverlabs:trait": 4 }
},
"silverlabs:fire_breath_start": {
"add": { "component_groups": ["silverlabs:fire_breathing"] },
"set_property": { "silverlabs:firing": true }
},
"silverlabs:fire_breath_end": {
"remove": { "component_groups": ["silverlabs:fire_breathing"] },
"set_property": { "silverlabs:firing": false }
},
"silverlabs:born_color_0": {
"set_property": { "silverlabs:dragon_color": 0 }
},
"silverlabs:born_color_1": {
"set_property": { "silverlabs:dragon_color": 1 }
},
"silverlabs:born_color_2": {
"set_property": { "silverlabs:dragon_color": 2 }
},
"silverlabs:born_color_3": {
"set_property": { "silverlabs:dragon_color": 3 }
},
"silverlabs:born_color_4": {
"set_property": { "silverlabs:dragon_color": 4 }
},
"silverlabs:born_color_5": {
"set_property": { "silverlabs:dragon_color": 5 }
}
}
}

View File

@@ -0,0 +1,16 @@
{
"format_version": "1.21.120",
"minecraft:item": {
"description": {
"identifier": "silverlabs:dragon_egg_crimson",
"menu_category": { "category": "items" }
},
"components": {
"minecraft:icon": "dragon_egg_crimson",
"minecraft:display_name": { "value": "item.silverlabs:dragon_egg_crimson.name" },
"minecraft:max_stack_size": 1,
"minecraft:glint": true,
"minecraft:entity_placer": { "entity": "silverlabs:dragon_egg_color_3" }
}
}
}

View File

@@ -0,0 +1,16 @@
{
"format_version": "1.21.120",
"minecraft:item": {
"description": {
"identifier": "silverlabs:dragon_egg_jungle",
"menu_category": { "category": "items" }
},
"components": {
"minecraft:icon": "dragon_egg_jungle",
"minecraft:display_name": { "value": "item.silverlabs:dragon_egg_jungle.name" },
"minecraft:max_stack_size": 1,
"minecraft:glint": true,
"minecraft:entity_placer": { "entity": "silverlabs:dragon_egg_color_2" }
}
}
}

View File

@@ -0,0 +1,16 @@
{
"format_version": "1.21.120",
"minecraft:item": {
"description": {
"identifier": "silverlabs:dragon_egg_oak",
"menu_category": { "category": "items" }
},
"components": {
"minecraft:icon": "dragon_egg_oak",
"minecraft:display_name": { "value": "item.silverlabs:dragon_egg_oak.name" },
"minecraft:max_stack_size": 1,
"minecraft:glint": true,
"minecraft:entity_placer": { "entity": "silverlabs:dragon_egg_color_0" }
}
}
}

View File

@@ -0,0 +1,16 @@
{
"format_version": "1.21.120",
"minecraft:item": {
"description": {
"identifier": "silverlabs:dragon_egg_obsidian",
"menu_category": { "category": "items" }
},
"components": {
"minecraft:icon": "dragon_egg_obsidian",
"minecraft:display_name": { "value": "item.silverlabs:dragon_egg_obsidian.name" },
"minecraft:max_stack_size": 1,
"minecraft:glint": true,
"minecraft:entity_placer": { "entity": "silverlabs:dragon_egg_color_5" }
}
}
}

View File

@@ -0,0 +1,16 @@
{
"format_version": "1.21.120",
"minecraft:item": {
"description": {
"identifier": "silverlabs:dragon_egg_spruce",
"menu_category": { "category": "items" }
},
"components": {
"minecraft:icon": "dragon_egg_spruce",
"minecraft:display_name": { "value": "item.silverlabs:dragon_egg_spruce.name" },
"minecraft:max_stack_size": 1,
"minecraft:glint": true,
"minecraft:entity_placer": { "entity": "silverlabs:dragon_egg_color_1" }
}
}
}

View File

@@ -0,0 +1,16 @@
{
"format_version": "1.21.120",
"minecraft:item": {
"description": {
"identifier": "silverlabs:dragon_egg_warped",
"menu_category": { "category": "items" }
},
"components": {
"minecraft:icon": "dragon_egg_warped",
"minecraft:display_name": { "value": "item.silverlabs:dragon_egg_warped.name" },
"minecraft:max_stack_size": 1,
"minecraft:glint": true,
"minecraft:entity_placer": { "entity": "silverlabs:dragon_egg_color_4" }
}
}
}

View File

@@ -0,0 +1,12 @@
{
"format_version": "1.21.0",
"minecraft:recipe_shapeless": {
"description": { "identifier": "silverlabs:dragon_egg_crimson_recipe" },
"tags": ["crafting_table"],
"ingredients": [
{ "item": "silverlabs:dragon_egg" },
{ "item": "silverlabs:dragon_nest_crimson" }
],
"result": { "item": "silverlabs:dragon_egg_crimson" }
}
}

View File

@@ -0,0 +1,12 @@
{
"format_version": "1.21.0",
"minecraft:recipe_shapeless": {
"description": { "identifier": "silverlabs:dragon_egg_jungle_recipe" },
"tags": ["crafting_table"],
"ingredients": [
{ "item": "silverlabs:dragon_egg" },
{ "item": "silverlabs:dragon_nest_jungle" }
],
"result": { "item": "silverlabs:dragon_egg_jungle" }
}
}

View File

@@ -0,0 +1,12 @@
{
"format_version": "1.21.0",
"minecraft:recipe_shapeless": {
"description": { "identifier": "silverlabs:dragon_egg_oak_recipe" },
"tags": ["crafting_table"],
"ingredients": [
{ "item": "silverlabs:dragon_egg" },
{ "item": "silverlabs:dragon_nest_oak" }
],
"result": { "item": "silverlabs:dragon_egg_oak" }
}
}

View File

@@ -0,0 +1,12 @@
{
"format_version": "1.21.0",
"minecraft:recipe_shapeless": {
"description": { "identifier": "silverlabs:dragon_egg_obsidian_recipe" },
"tags": ["crafting_table"],
"ingredients": [
{ "item": "silverlabs:dragon_egg" },
{ "item": "silverlabs:dragon_nest_obsidian" }
],
"result": { "item": "silverlabs:dragon_egg_obsidian" }
}
}

View File

@@ -0,0 +1,12 @@
{
"format_version": "1.21.0",
"minecraft:recipe_shapeless": {
"description": { "identifier": "silverlabs:dragon_egg_spruce_recipe" },
"tags": ["crafting_table"],
"ingredients": [
{ "item": "silverlabs:dragon_egg" },
{ "item": "silverlabs:dragon_nest_spruce" }
],
"result": { "item": "silverlabs:dragon_egg_spruce" }
}
}

View File

@@ -0,0 +1,12 @@
{
"format_version": "1.21.0",
"minecraft:recipe_shapeless": {
"description": { "identifier": "silverlabs:dragon_egg_warped_recipe" },
"tags": ["crafting_table"],
"ingredients": [
{ "item": "silverlabs:dragon_egg" },
{ "item": "silverlabs:dragon_nest_warped" }
],
"result": { "item": "silverlabs:dragon_egg_warped" }
}
}

View File

@@ -0,0 +1,19 @@
{
"format_version": "1.21.0",
"minecraft:recipe_shaped": {
"description": { "identifier": "silverlabs:dragon_nest_crimson_recipe" },
"tags": ["crafting_table"],
"pattern": [
"S S",
"WLW",
"PPP"
],
"key": {
"S": { "item": "minecraft:stick" },
"W": { "item": "minecraft:red_wool" },
"L": { "item": "minecraft:leather" },
"P": { "item": "minecraft:crimson_planks" }
},
"result": { "item": "silverlabs:dragon_nest_crimson" }
}
}

View File

@@ -0,0 +1,19 @@
{
"format_version": "1.21.0",
"minecraft:recipe_shaped": {
"description": { "identifier": "silverlabs:dragon_nest_jungle_recipe" },
"tags": ["crafting_table"],
"pattern": [
"S S",
"WLW",
"PPP"
],
"key": {
"S": { "item": "minecraft:stick" },
"W": { "item": "minecraft:lime_wool" },
"L": { "item": "minecraft:leather" },
"P": { "item": "minecraft:jungle_planks" }
},
"result": { "item": "silverlabs:dragon_nest_jungle" }
}
}

View File

@@ -0,0 +1,19 @@
{
"format_version": "1.21.0",
"minecraft:recipe_shaped": {
"description": { "identifier": "silverlabs:dragon_nest_oak_recipe" },
"tags": ["crafting_table"],
"pattern": [
"S S",
"WLW",
"PPP"
],
"key": {
"S": { "item": "minecraft:stick" },
"W": { "item": "minecraft:white_wool" },
"L": { "item": "minecraft:leather" },
"P": { "item": "minecraft:oak_planks" }
},
"result": { "item": "silverlabs:dragon_nest_oak" }
}
}

View File

@@ -0,0 +1,18 @@
{
"format_version": "1.21.0",
"minecraft:recipe_shaped": {
"description": { "identifier": "silverlabs:dragon_nest_obsidian_recipe" },
"tags": ["crafting_table"],
"pattern": [
"O O",
"WLW",
"OOO"
],
"key": {
"O": { "item": "minecraft:obsidian" },
"W": { "item": "minecraft:black_wool" },
"L": { "item": "minecraft:leather" }
},
"result": { "item": "silverlabs:dragon_nest_obsidian" }
}
}

View File

@@ -0,0 +1,19 @@
{
"format_version": "1.21.0",
"minecraft:recipe_shaped": {
"description": { "identifier": "silverlabs:dragon_nest_spruce_recipe" },
"tags": ["crafting_table"],
"pattern": [
"S S",
"WLW",
"PPP"
],
"key": {
"S": { "item": "minecraft:stick" },
"W": { "item": "minecraft:brown_wool" },
"L": { "item": "minecraft:leather" },
"P": { "item": "minecraft:spruce_planks" }
},
"result": { "item": "silverlabs:dragon_nest_spruce" }
}
}

View File

@@ -0,0 +1,19 @@
{
"format_version": "1.21.0",
"minecraft:recipe_shaped": {
"description": { "identifier": "silverlabs:dragon_nest_warped_recipe" },
"tags": ["crafting_table"],
"pattern": [
"S S",
"WLW",
"PPP"
],
"key": {
"S": { "item": "minecraft:stick" },
"W": { "item": "minecraft:cyan_wool" },
"L": { "item": "minecraft:leather" },
"P": { "item": "minecraft:warped_planks" }
},
"result": { "item": "silverlabs:dragon_nest_warped" }
}
}

View File

@@ -1,6 +1,7 @@
{
"format_version": "1.10.0",
"animation_controllers": {
"controller.animation.spark_dragon.beacon": {
"initial_state": "inactive",
"states": {
@@ -19,22 +20,30 @@
}
}
},
"controller.animation.spark_dragon": {
"initial_state": "idle",
"states": {
"idle": {
"animations": ["idle"],
"transitions": [
{ "fire_breathing": "query.property('silverlabs:firing')" },
{ "flying": "!query.is_on_ground && query.property('silverlabs:growth_stage') == 2" },
{ "walking": "query.modified_move_speed > 0.1" },
{ "sleeping": "query.is_sitting && (query.day_light_level < 4)" },
{ "sitting": "query.is_sitting" }
{ "sitting": "query.is_sitting" },
{ "grooming": "query.is_on_ground && query.modified_move_speed <= 0.05 && math.mod(math.floor((query.life_time + math.mod(math.abs(math.floor(query.position(0) + query.position(2))), 5) * 36.0) / 36.0), 5) == 1" },
{ "sniffing": "query.is_on_ground && query.modified_move_speed <= 0.15 && math.mod(math.floor((query.life_time + math.mod(math.abs(math.floor(query.position(0) + query.position(2))), 5) * 36.0) / 36.0), 5) == 2" },
{ "happy_bounce": "query.is_on_ground && query.modified_move_speed <= 0.05 && query.property('silverlabs:mood') == 2 && math.mod(math.floor((query.life_time + math.mod(math.abs(math.floor(query.position(0) + query.position(2))), 5) * 36.0) / 36.0), 5) == 3" },
{ "stretching": "query.is_on_ground && query.modified_move_speed <= 0.05 && math.mod(math.floor((query.life_time + math.mod(math.abs(math.floor(query.position(0) + query.position(2))), 5) * 36.0) / 36.0), 5) == 4" }
]
},
"walking": {
"animations": ["walk"],
"transitions": [
{ "fire_breathing": "query.property('silverlabs:firing')" },
{ "flying": "!query.is_on_ground && query.property('silverlabs:growth_stage') == 2" },
{ "sniffing": "query.is_on_ground && query.modified_move_speed <= 0.15 && math.mod(math.floor((query.life_time + math.mod(math.abs(math.floor(query.position(0) + query.position(2))), 5) * 36.0) / 36.0), 5) == 2" },
{ "idle": "query.modified_move_speed <= 0.1" },
{ "sitting": "query.is_sitting" }
]
@@ -56,12 +65,51 @@
"flying": {
"animations": ["fly"],
"transitions": [
{ "fire_breathing": "query.property('silverlabs:firing')" },
{ "idle": "query.is_on_ground && query.modified_move_speed <= 0.1" },
{ "walking": "query.is_on_ground && query.modified_move_speed > 0.1" }
]
},
"grooming": {
"animations": ["groom"],
"transitions": [
{ "fire_breathing": "query.property('silverlabs:firing')" },
{ "idle": "query.modified_move_speed > 0.05 || query.is_sitting || math.mod(math.floor((query.life_time + math.mod(math.abs(math.floor(query.position(0) + query.position(2))), 5) * 36.0) / 36.0), 5) != 1" }
]
},
"sniffing": {
"animations": ["sniff"],
"transitions": [
{ "fire_breathing": "query.property('silverlabs:firing')" },
{ "idle": "query.modified_move_speed > 0.15 || query.is_sitting || math.mod(math.floor((query.life_time + math.mod(math.abs(math.floor(query.position(0) + query.position(2))), 5) * 36.0) / 36.0), 5) != 2" },
{ "walking": "query.modified_move_speed > 0.1 && math.mod(math.floor((query.life_time + math.mod(math.abs(math.floor(query.position(0) + query.position(2))), 5) * 36.0) / 36.0), 5) == 2" }
]
},
"happy_bounce": {
"animations": ["happy_bounce"],
"transitions": [
{ "fire_breathing": "query.property('silverlabs:firing')" },
{ "idle": "query.modified_move_speed > 0.05 || query.is_sitting || query.property('silverlabs:mood') != 2 || math.mod(math.floor((query.life_time + math.mod(math.abs(math.floor(query.position(0) + query.position(2))), 5) * 36.0) / 36.0), 5) != 3" }
]
},
"stretching": {
"animations": ["stretch"],
"transitions": [
{ "fire_breathing": "query.property('silverlabs:firing')" },
{ "idle": "query.modified_move_speed > 0.05 || query.is_sitting || math.mod(math.floor((query.life_time + math.mod(math.abs(math.floor(query.position(0) + query.position(2))), 5) * 36.0) / 36.0), 5) != 4" }
]
},
"fire_breathing": {
"animations": ["fire_breath"],
"transitions": [
{ "flying": "!query.property('silverlabs:firing') && !query.is_on_ground && query.property('silverlabs:growth_stage') == 2" },
{ "idle": "!query.property('silverlabs:firing') && query.is_on_ground" },
{ "walking": "!query.property('silverlabs:firing') && query.modified_move_speed > 0.1" }
]
}
}
},
"controller.animation.spark_dragon.mood": {
"initial_state": "content",
"states": {
@@ -91,5 +139,6 @@
}
}
}
}
}

View File

@@ -32,9 +32,17 @@
"1.0": [0, 5, 0],
"2.0": [0, -5, 0]
}
},
"head": {
"rotation": {
"0.0": [0, 0, 0],
"1.0": [3, 2, 0],
"2.0": [0, 0, 0]
}
}
}
},
"animation.spark_dragon.walk": {
"loop": true,
"animation_length": 0.8,
@@ -77,20 +85,16 @@
},
"wing_left": {
"rotation": {
"0.0": [0, 0, -10],
"0.2": [0, 0, -30],
"0.4": [0, 0, -10],
"0.6": [0, 0, -30],
"0.8": [0, 0, -10]
"0.0": [0, 0, -8],
"0.4": [0, 0, -18],
"0.8": [0, 0, -8]
}
},
"wing_right": {
"rotation": {
"0.0": [0, 0, 10],
"0.2": [0, 0, 30],
"0.4": [0, 0, 10],
"0.6": [0, 0, 30],
"0.8": [0, 0, 10]
"0.0": [0, 0, 8],
"0.4": [0, 0, 18],
"0.8": [0, 0, 8]
}
},
"tail": {
@@ -103,14 +107,15 @@
"body": {
"position": {
"0.0": [0, 0, 0],
"0.2": [0, 0.5, 0],
"0.2": [0, 0.4, 0],
"0.4": [0, 0, 0],
"0.6": [0, 0.5, 0],
"0.6": [0, 0.4, 0],
"0.8": [0, 0, 0]
}
}
}
},
"animation.spark_dragon.sit": {
"loop": true,
"animation_length": 2.0,
@@ -147,6 +152,7 @@
}
}
},
"animation.spark_dragon.sleep": {
"loop": true,
"animation_length": 4.0,
@@ -188,6 +194,7 @@
}
}
},
"animation.spark_dragon.fly": {
"loop": true,
"animation_length": 0.6,
@@ -241,6 +248,315 @@
"rotation": [10, 0, 0]
}
}
},
"animation.spark_dragon.groom": {
"loop": true,
"animation_length": 3.0,
"bones": {
"body": {
"position": [0, -1.5, 0]
},
"head": {
"rotation": {
"0.0": [0, 20, 5],
"0.5": [5, 30, 8],
"1.0": [0, 22, 5],
"1.5": [8, 28, 5],
"2.0": [0, 20, 5],
"2.5": [5, 32, 8],
"3.0": [0, 20, 5]
}
},
"leg_front_left": {
"rotation": {
"0.0": [-60, 0, 0],
"0.4": [-30, 15, 20],
"0.8": [-50, 5, 10],
"1.2": [-30, 15, 20],
"1.6": [-50, 5, 10],
"2.0": [-30, 15, 20],
"2.4": [-50, 5, 10],
"3.0": [-60, 0, 0]
}
},
"leg_front_right": {
"rotation": [-60, 0, 0]
},
"leg_back_left": {
"rotation": [-90, 20, 0]
},
"leg_back_right": {
"rotation": [-90, -20, 0]
},
"wing_left": {
"rotation": [0, 0, 5],
"position": [0, 0, 1]
},
"wing_right": {
"rotation": [0, 0, -5],
"position": [0, 0, 1]
},
"tail": {
"rotation": {
"0.0": [5, -35, 0],
"1.5": [5, -20, 0],
"3.0": [5, -35, 0]
}
}
}
},
"animation.spark_dragon.sniff": {
"loop": true,
"animation_length": 2.4,
"bones": {
"head": {
"rotation": {
"0.0": [0, 0, 0],
"0.4": [30, 5, 0],
"0.8": [25, -5, 0],
"1.2": [32, 3, 0],
"1.6": [20, 0, 0],
"2.0": [28, -4, 0],
"2.4": [0, 0, 0]
},
"position": {
"0.0": [0, 0, 0],
"0.4": [0, -0.8, 1],
"1.2": [0, -0.6, 1],
"2.4": [0, 0, 0]
}
},
"body": {
"rotation": {
"0.0": [0, 0, 0],
"0.6": [5, 0, 0],
"1.8": [5, 0, 0],
"2.4": [0, 0, 0]
}
},
"tail": {
"rotation": {
"0.0": [0, -8, 0],
"0.6": [-10, 0, 0],
"1.2": [-15, 5, 0],
"1.8": [-10, -3, 0],
"2.4": [0, -8, 0]
}
},
"wing_left": {
"rotation": {
"0.0": [0, 0, -5],
"1.2": [0, 0, -8],
"2.4": [0, 0, -5]
}
},
"wing_right": {
"rotation": {
"0.0": [0, 0, 5],
"1.2": [0, 0, 8],
"2.4": [0, 0, 5]
}
}
}
},
"animation.spark_dragon.stretch": {
"loop": false,
"animation_length": 3.0,
"bones": {
"body": {
"position": {
"0.0": [0, 0, 0],
"0.4": [0, -0.5, 0],
"1.2": [0, -0.8, 0],
"2.0": [0, -0.3, 0],
"3.0": [0, 0, 0]
},
"rotation": {
"0.0": [0, 0, 0],
"0.6": [8, 0, 0],
"1.5": [5, 0, 0],
"3.0": [0, 0, 0]
}
},
"head": {
"rotation": {
"0.0": [0, 0, 0],
"0.6": [-5, 0, 0],
"1.2": [-15, 0, 0],
"2.0": [-20, 0, 0],
"2.6": [-5, 0, 3],
"3.0": [0, 0, 0]
}
},
"leg_front_left": {
"rotation": {
"0.0": [0, 0, 0],
"0.5": [30, 0, 0],
"1.2": [45, 0, 0],
"2.2": [20, 0, 0],
"3.0": [0, 0, 0]
}
},
"leg_front_right": {
"rotation": {
"0.0": [0, 0, 0],
"0.5": [30, 0, 0],
"1.2": [45, 0, 0],
"2.2": [20, 0, 0],
"3.0": [0, 0, 0]
}
},
"leg_back_left": {
"rotation": {
"0.0": [0, 0, 0],
"0.8": [-15, 10, 0],
"1.5": [-25, 15, 0],
"2.5": [-10, 5, 0],
"3.0": [0, 0, 0]
}
},
"leg_back_right": {
"rotation": {
"0.0": [0, 0, 0],
"0.8": [-15, -10, 0],
"1.5": [-25, -15, 0],
"2.5": [-10, -5, 0],
"3.0": [0, 0, 0]
}
},
"wing_left": {
"rotation": {
"0.0": [0, 0, -5],
"1.0": [5, 0, -25],
"1.8": [10, 0, -40],
"2.4": [5, 0, -20],
"3.0": [0, 0, -5]
}
},
"wing_right": {
"rotation": {
"0.0": [0, 0, 5],
"1.0": [5, 0, 25],
"1.8": [10, 0, 40],
"2.4": [5, 0, 20],
"3.0": [0, 0, 5]
}
},
"tail": {
"rotation": {
"0.0": [0, -5, 0],
"0.8": [-5, 0, 0],
"1.5": [-15, 0, 0],
"2.5": [-20, 10, 0],
"3.0": [0, -5, 0]
}
}
}
},
"animation.spark_dragon.happy_bounce": {
"loop": true,
"animation_length": 0.7,
"bones": {
"body": {
"position": {
"0.0": [0, 0, 0],
"0.175": [0, 0.7, 0],
"0.35": [0, 0, 0],
"0.525": [0, 0.7, 0],
"0.7": [0, 0, 0]
}
},
"tail": {
"rotation": {
"0.0": [0, -20, 0],
"0.175": [0, 20, 0],
"0.35": [0, -20, 0],
"0.525": [0, 20, 0],
"0.7": [0, -20, 0]
}
},
"wing_left": {
"rotation": {
"0.0": [0, 0, -10],
"0.175": [0, 0, -30],
"0.35": [0, 0, -10],
"0.525": [0, 0, -30],
"0.7": [0, 0, -10]
}
},
"wing_right": {
"rotation": {
"0.0": [0, 0, 10],
"0.175": [0, 0, 30],
"0.35": [0, 0, 10],
"0.525": [0, 0, 30],
"0.7": [0, 0, 10]
}
},
"head": {
"rotation": {
"0.0": [0, 0, 0],
"0.175": [-5, 0, 0],
"0.35": [0, 0, 0],
"0.525": [-5, 0, 0],
"0.7": [0, 0, 0]
}
}
}
},
"animation.spark_dragon.fire_breath": {
"loop": false,
"animation_length": 1.2,
"bones": {
"body": {
"rotation": {
"0.0": [0, 0, 0],
"0.3": [-8, 0, 0],
"0.7": [-10, 0, 0],
"1.0": [-5, 0, 0],
"1.2": [0, 0, 0]
}
},
"head": {
"rotation": {
"0.0": [0, 0, 0],
"0.2": [10, 0, 0],
"0.4": [-5, 0, 0],
"0.8": [-8, 0, 0],
"1.0": [5, 0, 0],
"1.2": [0, 0, 0]
}
},
"wing_left": {
"rotation": {
"0.0": [0, 0, -5],
"0.4": [15, 0, -50],
"0.8": [15, 0, -50],
"1.2": [0, 0, -5]
}
},
"wing_right": {
"rotation": {
"0.0": [0, 0, 5],
"0.4": [15, 0, 50],
"0.8": [15, 0, 50],
"1.2": [0, 0, 5]
}
},
"tail": {
"rotation": {
"0.0": [0, -5, 0],
"0.5": [-20, 0, 0],
"1.0": [-25, 0, 0],
"1.2": [0, -5, 0]
}
}
}
}
}
}

View File

@@ -7,7 +7,12 @@
"default": "entity_alphatest"
},
"textures": {
"default": "textures/entity/spark_dragon"
"color_0": "textures/entity/spark_dragon_white",
"color_1": "textures/entity/spark_dragon_brown",
"color_2": "textures/entity/spark_dragon_green",
"color_3": "textures/entity/spark_dragon_red",
"color_4": "textures/entity/spark_dragon_teal",
"color_5": "textures/entity/spark_dragon_black"
},
"geometry": {
"default": "geometry.spark_dragon"
@@ -21,6 +26,11 @@
"sit": "animation.spark_dragon.sit",
"sleep": "animation.spark_dragon.sleep",
"fly": "animation.spark_dragon.fly",
"groom": "animation.spark_dragon.groom",
"sniff": "animation.spark_dragon.sniff",
"stretch": "animation.spark_dragon.stretch",
"happy_bounce": "animation.spark_dragon.happy_bounce",
"fire_breath": "animation.spark_dragon.fire_breath",
"controller": "controller.animation.spark_dragon",
"beacon_controller": "controller.animation.spark_dragon.beacon",
"mood_controller": "controller.animation.spark_dragon.mood"

View File

@@ -4,11 +4,23 @@
"controller.render.spark_dragon": {
"geometry": "Geometry.default",
"materials": [
{
"*": "Material.default"
}
{ "*": "Material.default" }
],
"textures": ["Texture.default"]
"textures": [
"Array.textures[query.property('silverlabs:dragon_color')]"
],
"arrays": {
"textures": {
"Array.textures": [
"Texture.color_0",
"Texture.color_1",
"Texture.color_2",
"Texture.color_3",
"Texture.color_4",
"Texture.color_5"
]
}
}
}
}
}

View File

@@ -2,11 +2,48 @@ entity.silverlabs:spark_dragon.name=Spark Dragon
item.spawn_egg.entity.silverlabs:spark_dragon.name=Spawn Spark Dragon
item.silverlabs:dragon_whistle.name=Dragon Whistle
tile.silverlabs:dragon_basket.name=Dragon Basket
## Dragon Nests
tile.silverlabs:dragon_nest_oak.name=Oak Dragon Nest
tile.silverlabs:dragon_nest_spruce.name=Spruce Dragon Nest
tile.silverlabs:dragon_nest_jungle.name=Jungle Dragon Nest
tile.silverlabs:dragon_nest_crimson.name=Crimson Dragon Nest
tile.silverlabs:dragon_nest_warped.name=Warped Dragon Nest
tile.silverlabs:dragon_nest_obsidian.name=Obsidian Dragon Nest
## Dragon Eggs
item.silverlabs:dragon_egg.name=Spark Dragon Egg
entity.silverlabs:dragon_egg.name=Spark Dragon Egg
item.silverlabs:dragon_egg_oak.name=Oak Nest Egg (White Dragon)
item.silverlabs:dragon_egg_spruce.name=Spruce Nest Egg (Brown Dragon)
item.silverlabs:dragon_egg_jungle.name=Jungle Nest Egg (Green Dragon)
item.silverlabs:dragon_egg_crimson.name=Crimson Nest Egg (Red Dragon)
item.silverlabs:dragon_egg_warped.name=Warped Nest Egg (Teal Dragon)
item.silverlabs:dragon_egg_obsidian.name=Obsidian Nest Egg (Black Dragon)
entity.silverlabs:dragon_egg_color_0.name=Spark Dragon Egg (White)
entity.silverlabs:dragon_egg_color_1.name=Spark Dragon Egg (Brown)
entity.silverlabs:dragon_egg_color_2.name=Spark Dragon Egg (Green)
entity.silverlabs:dragon_egg_color_3.name=Spark Dragon Egg (Red)
entity.silverlabs:dragon_egg_color_4.name=Spark Dragon Egg (Teal)
entity.silverlabs:dragon_egg_color_5.name=Spark Dragon Egg (Black)
## Dragon Items
item.silverlabs:dragon_bones.name=Dragon Bones
item.silverlabs:dragon_gravestone.name=Dragon Gravestone
entity.silverlabs:dragon_gravestone.name=Dragon Gravestone
item.silverlabs:dragon_toy.name=Spark Ball
entity.silverlabs:dragon_toy.name=Spark Ball
entity.silverlabs:whistle_signal.name=Whistle Signal
## Dragon Interactions — Traits
action.interact.silverlabs.teach_relaxed=Teach: Relaxed (Raw Chicken + Sneak)
action.interact.silverlabs.teach_explorer=Teach: Explorer (Raw Beef + Sneak)
action.interact.silverlabs.teach_affectionate=Teach: Affectionate (Cooked Salmon + Sneak)
action.interact.silverlabs.teach_playful=Teach: Playful (Melon Slice + Sneak)
action.interact.silverlabs.teach_independent=Teach: Independent (Bamboo + Sneak)
## Dragon Interactions — Fire
action.interact.silverlabs.breathe_fire=Breathe Fire (Fire Charge + Sneak)
## Riding
action.interact.mount=Ride Dragon

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 150 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 148 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 159 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 155 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 410 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 411 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 400 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 403 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 394 B

View File

@@ -8,6 +8,24 @@
"dragon_egg": {
"textures": "textures/items/dragon_egg"
},
"dragon_egg_oak": {
"textures": "textures/items/dragon_egg_oak"
},
"dragon_egg_spruce": {
"textures": "textures/items/dragon_egg_spruce"
},
"dragon_egg_jungle": {
"textures": "textures/items/dragon_egg_jungle"
},
"dragon_egg_crimson": {
"textures": "textures/items/dragon_egg_crimson"
},
"dragon_egg_warped": {
"textures": "textures/items/dragon_egg_warped"
},
"dragon_egg_obsidian": {
"textures": "textures/items/dragon_egg_obsidian"
},
"dragon_toy": {
"textures": "textures/items/dragon_toy"
},

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 211 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 220 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 221 B

View File

@@ -6,6 +6,24 @@
"texture_data": {
"dragon_basket": {
"textures": "textures/blocks/dragon_basket"
},
"dragon_nest_oak": {
"textures": "textures/blocks/dragon_nest_oak"
},
"dragon_nest_spruce": {
"textures": "textures/blocks/dragon_nest_spruce"
},
"dragon_nest_jungle": {
"textures": "textures/blocks/dragon_nest_jungle"
},
"dragon_nest_crimson": {
"textures": "textures/blocks/dragon_nest_crimson"
},
"dragon_nest_warped": {
"textures": "textures/blocks/dragon_nest_warped"
},
"dragon_nest_obsidian": {
"textures": "textures/blocks/dragon_nest_obsidian"
}
}
}