feat(addons): hemp plant, wild cherry tree, naturalist-lite

New addons:
- hemp-addon: silverlabs:hemp_crop (5 ages, indoor sun-lamp grown vs
  outdoor sky-lit), shears harvest, cauldron tincture, brownie food,
  bonemeal, sun-lamp redstone-lit block (light_dampening: 0 so crops
  beneath stay lit), grass-seed bootstrap, wandering-trader buyback,
  pillager raid stealing.
- trees-features-addon: ods_orch wild cherry tree — log/leaves/planks/
  stripped/sapling/fruit blocks with seasonal fruit states, structure-
  spawn worldgen.
- naturalist-lite-addon: 13-mob subset of Naturalist (deer, fox, owl,
  skunk, snake, hedgehog, red panda, capybara, elephant, kangaroo,
  moose, tiger, firefly), trimmed for Switch joinability.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-27 22:00:06 +01:00
parent b9e3380f6c
commit 7c8cd5b075
984 changed files with 192691 additions and 0 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,495 @@
{
"format_version": "1.21.50",
"minecraft:entity": {
"description": {
"identifier": "silverlabs_nat:firefly",
"is_spawnable": true,
"is_summonable": true,
"is_experimental": false,
"properties": {
"silverlabs_nat:can_glow": {
"type": "bool",
"default": false,
"client_sync": true
},
"silverlabs_nat:on_hide": {
"type": "bool",
"default": false,
"client_sync": true
}
}
},
"component_groups": {
"silverlabs_nat:baby": {
"minecraft:is_baby": {},
"minecraft:physics": {
"has_gravity": true
},
"minecraft:movement.basic": {},
"minecraft:navigation.walk": {
"can_path_over_water": false,
"avoid_damage_blocks": true
},
"minecraft:behavior.random_stroll": {
"priority": 3,
"xz_dist": 8,
"y_dist": 0
},
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "has_equipment",
"subject": "other",
"domain": "hand",
"value": "silverlabs_nat:empty_knapsack"
}
]
},
"event": "silverlabs_nat:knapsack_swing"
},
"swing": true
}
]
}
},
"silverlabs_nat:adult": {
"minecraft:flying_speed": {
"value": 0.15
},
"minecraft:navigation.hover": {
"can_path_over_water": true,
"can_sink": false,
"can_pass_doors": true,
"can_path_from_air": true,
"avoid_water": true,
"avoid_damage_blocks": true,
"avoid_sun": false
},
"minecraft:movement.hover": {},
"minecraft:jump.static": {},
"minecraft:can_fly": {},
"minecraft:behavior.random_hover": {
"priority": 2,
"xz_dist": 8,
"y_dist": 8,
"y_offset": -1,
"interval": 1,
"hover_height": [
1,
4
]
},
"minecraft:behavior.float": {
"priority": 3
}
},
"silverlabs_nat:look_for_hide": {
"minecraft:behavior.move_to_block": {
"priority": 1,
"tick_interval": 1,
"start_chance": 0.5,
"search_range": 10,
"search_height": 4,
"speed_modifier": 1.2,
"goal_radius": 0.5,
"target_selection_method": "random",
"target_offset": [
0,
0,
0
],
"target_block_filters": {
"test": "is_waterlogged",
"subject": "block",
"operator": "==",
"value": false
},
"target_blocks": [
"tallgrass:0",
"tallgrass:1",
"double_plant:2",
"double_plant:3"
],
"on_reach": {
"event": "silverlabs_nat:find_hide_event",
"target": "self"
}
},
"minecraft:timer": {
"looping": false,
"time": 30,
"time_down_event": {
"event": "silverlabs_nat:perish"
}
}
},
"silverlabs_nat:perish": {
"minecraft:out_of_control": {},
"minecraft:timer": {
"looping": false,
"time": 0.1,
"time_down_event": {
"event": "silverlabs_nat:despawn"
}
}
},
"silverlabs_nat:despawn": {
"minecraft:instant_despawn": {}
},
"silverlabs_nat:natural_despawn": {
"minecraft:despawn": {
"despawn_from_distance": {},
"remove_child_entities": true
}
},
"silverlabs_nat:persistent": {
"minecraft:persistent": {}
}
},
"components": {
"minecraft:is_hidden_when_invisible": {},
"minecraft:type_family": {
"family": [
"silverlabs_nat:firefly",
"silverlabs_nat:capturable_entity",
"mob",
"arthropod"
]
},
"minecraft:experience_reward": {
"on_death": "query.last_hit_by_player ? Math.Random(1,3): 0"
},
"minecraft:loot": {
"table": "loot_tables/sf/nba/entities/firefly.loot.json"
},
"minecraft:breathable": {
"totalSupply": 15,
"suffocateTime": 0
},
"minecraft:collision_box": {
"width": 0.3,
"height": 0.3
},
"minecraft:nameable": {},
"minecraft:health": {
"value": 6,
"max": 6
},
"minecraft:healable": {
"items": [
{
"item": "double_plant:4",
"heal_amount": 2
},
{
"item": "double_plant:5",
"heal_amount": 2
}
]
},
"minecraft:damage_sensor": {
"triggers": {
"cause": "fall",
"deals_damage": "no"
}
},
"minecraft:hurt_on_condition": {
"damage_conditions": [
{
"filters": {
"test": "in_lava",
"subject": "self",
"operator": "==",
"value": true
},
"cause": "lava",
"damage_per_tick": 4
}
]
},
"minecraft:movement": {
"value": 0.3
},
"minecraft:leashable": {
"soft_distance": 4,
"hard_distance": 6,
"max_distance": 10
},
"minecraft:balloonable": {
"mass": 0.5
},
"minecraft:physics": {},
"minecraft:pushable": {
"is_pushable": true,
"is_pushable_by_piston": true
},
"minecraft:conditional_bandwidth_optimization": {},
"minecraft:game_event_movement_tracking": {
"emit_flap": true
},
"minecraft:scheduler": {
"min_delay_secs": 0,
"max_delay_secs": 0,
"scheduled_events": [
{
"filters": {
"any_of": [
{
"test": "is_daytime",
"value": false
},
{
"test": "light_level",
"operator": "<",
"value": 8
}
]
},
"event": "silverlabs_nat:can_glow"
},
{
"filters": {
"none_of": [
{
"test": "is_daytime",
"value": false
},
{
"test": "light_level",
"operator": "<",
"value": 8
}
]
},
"event": "silverlabs_nat:cannot_glow"
}
]
},
"minecraft:environment_sensor": {
"triggers": [
{
"filters": {
"all_of": {
"test": "has_component",
"value": "minecraft:behavior.move_to_block"
},
"any_of": [
{
"test": "is_brightness",
"operator": "<=",
"value": 0.5
},
{
"test": "is_daytime",
"value": false
}
]
},
"event": "silverlabs_nat:fly_around_aimlessly"
},
{
"filters": [
{
"test": "has_component",
"operator": "!=",
"value": "minecraft:behavior.move_to_block"
},
{
"test": "has_component",
"operator": "!=",
"value": "minecraft:out_of_control"
},
{
"test": "is_brightness",
"operator": ">",
"value": 0.5
},
{
"test": "is_daytime",
"value": true
}
],
"event": "silverlabs_nat:look_for_hide"
}
]
},
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "is_baby",
"subject": "self",
"value": true
},
{
"test": "has_equipment",
"subject": "other",
"domain": "hand",
"value": "silverlabs_nat:empty_knapsack"
}
]
},
"event": "silverlabs_nat:knapsack_swing"
},
"swing": true
},
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "has_equipment",
"subject": "other",
"domain": "hand",
"value": "silverlabs_nat:empty_knapsack"
}
]
},
"event": "silverlabs_nat:knapsack_no_capture"
},
"swing": false
},
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "is_baby",
"subject": "self",
"value": false
},
{
"test": "has_equipment",
"subject": "other",
"domain": "hand",
"value": "silverlabs_nat:pacifier"
}
]
},
"event": "silverlabs_nat:revert_to_baby"
},
"use_item": false,
"swing": true
},
{
"on_interact": {
"filters": {
"test": "has_equipment",
"subject": "other",
"domain": "hand",
"value": "silverlabs_nat:capture_net"
}
},
"swing": true,
"hurt_item": 1,
"interact_text": "action.interact.silverlabs_nat.capture_net.use",
"play_sounds": "pop"
}
]
}
},
"events": {
"minecraft:entity_spawned": {
"add": {
"component_groups": [
"silverlabs_nat:adult"
]
}
},
"silverlabs_nat:can_glow": {
"set_property": {
"silverlabs_nat:can_glow": true
}
},
"silverlabs_nat:cannot_glow": {
"set_property": {
"silverlabs_nat:can_glow": false
}
},
"silverlabs_nat:fly_around_aimlessly": {
"remove": {
"component_groups": [
"silverlabs_nat:look_for_hide"
]
}
},
"silverlabs_nat:look_for_hide": {
"add": {
"component_groups": [
"silverlabs_nat:look_for_hide"
]
}
},
"silverlabs_nat:find_hide_event": {
"trigger": "silverlabs_nat:perish",
"set_property": {
"silverlabs_nat:on_hide": true
}
},
"silverlabs_nat:perish": {
"remove": {
"component_groups": [
"silverlabs_nat:look_for_hide"
]
},
"add": {
"component_groups": [
"silverlabs_nat:perish"
]
}
},
"silverlabs_nat:despawn": {
"add": {
"component_groups": [
"silverlabs_nat:despawn"
]
}
},
"silverlabs_nat:natural_despawn": {
"add": {
"component_groups": [
"silverlabs_nat:natural_despawn"
]
}
},
"silverlabs_nat:become_persistent": {
"add": {
"component_groups": [
"silverlabs_nat:persistent"
]
},
"remove": {
"component_groups": [
"silverlabs_nat:natural_despawn"
]
}
},
"silverlabs_nat:revert_to_baby": {
"trigger": "silverlabs_nat:become_persistent",
"queue_command": {
"command": [
"playsound silverlabs_nat.pacifier.interact @a[r=10] ~~~"
]
},
"remove": {
"component_groups": [
"silverlabs_nat:adult"
]
},
"add": {
"component_groups": [
"silverlabs_nat:baby"
]
}
},
"silverlabs_nat:knapsack_no_capture": {}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,914 @@
{
"format_version": "1.21.50",
"minecraft:entity": {
"description": {
"name": "Kangaroo",
"identifier": "silverlabs_nat:kangaroo",
"is_spawnable": true,
"is_summonable": true,
"is_experimental": false,
"properties": {
"silverlabs_nat:has_baby_in_pouch": {
"type": "bool",
"default": false,
"client_sync": true
},
"silverlabs_nat:is_following_owner": {
"type": "bool",
"default": true,
"client_sync": false
}
}
},
"component_groups": {
"silverlabs_nat:despawn": {
"minecraft:instant_despawn": {}
},
"silverlabs_nat:baby_hitbox": {
"minecraft:collision_box": {
"width": 0.5,
"height": 1.05
}
},
"silverlabs_nat:baby": {
"minecraft:type_family": {
"family": [
"silverlabs_nat:baby_kangaroo_untamed",
"silverlabs_nat:baby",
"mob"
]
},
"minecraft:is_baby": {},
"minecraft:collision_box": {
"width": 0.5,
"height": 1.05
},
"minecraft:tameable": {
"probability": 1,
"tame_items": [
"wheat"
],
"tame_event": {
"event": "silverlabs_nat:kangaroo_tamed",
"target": "self"
}
},
"minecraft:ageable": {
"duration": 1200,
"feed_items": [
"wheat"
],
"grow_up": {
"filters": {
"test": "is_riding",
"value": false
},
"event": "silverlabs_nat:kangaroo_grow_up",
"target": "self"
}
},
"minecraft:behavior.follow_parent": {
"priority": 6,
"speed_multiplier": 1.1
},
"minecraft:environment_sensor": {
"triggers": [
{
"filters": {
"test": "is_riding"
},
"event": "silverlabs_nat:kangaroo_baby_on_pouch",
"target": "self"
},
{
"filters": {
"operator": "!=",
"test": "is_riding"
},
"event": "silverlabs_nat:kangaroo_baby_out_of_pouch",
"target": "self"
}
]
},
"minecraft:behavior.move_to_block": {
"priority": 8,
"start_chance": 0.2,
"search_range": 32,
"goal_radius": 0.25,
"stay_duration": 3,
"target_selection_method": "random",
"on_reach": {
"event": "silverlabs_nat:start_sniff",
"target": "self"
},
"target_blocks": [
"minecraft:poppy",
"minecraft:dandelion",
"minecraft:blue_orchid",
"minecraft:allium",
"minecraft:azure_bluet",
"minecraft:orange_tulip",
"minecraft:pink_tulip",
"minecraft:red_tulip",
"minecraft:white_tulip",
"minecraft:oxeye_daisy",
"minecraft:cornflower",
"minecraft:lily_of_the_valley",
"minecraft:sunflower",
"minecraft:lilac",
"minecraft:rose_bush",
"minecraft:peony",
"minecraft:pitcher_plant",
"minecraft:pink_petals",
"minecraft:wildflowers",
"minecraft:torchflower",
"minecraft:closed_eyeblossom",
"minecraft:open_eyeblossom"
]
},
"minecraft:behavior.follow_mob": {
"priority": 6,
"search_range": 16,
"stop_distance": 5,
"speed_multiplier": 1.1,
"use_home_position_restriction": true,
"filters": {
"all_of": [
{
"test": "is_underwater",
"subject": "other",
"value": false
},
{
"test": "is_baby",
"subject": "other",
"value": false
},
{
"any_of": [
{
"test": "is_family",
"subject": "other",
"value": "silverlabs_nat:butterfly"
},
{
"test": "is_family",
"subject": "other",
"value": "butterfly"
}
]
}
]
}
},
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "is_baby",
"subject": "self",
"value": false
},
{
"test": "has_equipment",
"subject": "other",
"domain": "hand",
"value": "silverlabs_nat:pacifier"
}
]
},
"event": "silverlabs_nat:revert_to_baby"
},
"use_item": false,
"swing": true
},
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "has_equipment",
"subject": "other",
"domain": "hand",
"value": "silverlabs_nat:empty_knapsack"
}
]
},
"event": "silverlabs_nat:knapsack_swing"
},
"swing": true
},
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "has_component",
"value": "minecraft:is_tamed"
},
{
"test": "is_sitting",
"operator": "!="
},
{
"test": "is_sneaking",
"subject": "other",
"operator": "!="
}
],
"any_of": [
{
"test": "has_equipment",
"value": "silverlabs_nat:whistle",
"subject": "other"
},
{
"test": "has_equipment",
"value": "sf_hba:whistle",
"subject": "other"
}
]
}
},
"swing": true
}
]
}
},
"silverlabs_nat:adult_hitbox": {
"minecraft:collision_box": {
"width": 1,
"height": 2.1
}
},
"silverlabs_nat:adult": {
"minecraft:type_family": {
"family": [
"silverlabs_nat:kangaroo"
]
},
"minecraft:rideable": {
"family_types": [
"silverlabs_nat:baby_kangaroo_untamed"
],
"pull_in_entities": true,
"rider_can_interact": false,
"seat_count": 1,
"seats": [
{
"lock_rider_rotation": 0,
"position": [
0,
0.3,
0
]
}
]
},
"minecraft:entity_sensor": {
"relative_range": true,
"subsensors": [
{
"cooldown": 1,
"range": [
1,
1
],
"event_filters": [
{
"test": "rider_count",
"value": 0
},
{
"test": "has_component",
"value": "minecraft:is_baby",
"subject": "other"
},
{
"test": "is_family",
"value": "silverlabs_nat:kangaroo",
"subject": "other"
},
{
"test": "has_component",
"value": "minecraft:is_tamed",
"subject": "other",
"operator": "!="
},
{
"test": "is_riding",
"subject": "other",
"operator": "!="
}
],
"event": "silverlabs_nat:scoop_up_baby"
}
]
},
"minecraft:experience_reward": {
"on_death": "q.last_hit_by_player ? 3: 0",
"on_bred": "Math.random(1,7)"
},
"minecraft:loot": {
"table": "loot_tables/sf/nba/entities/kangaroo.loot.json"
},
"minecraft:behavior.breed": {
"priority": 1,
"speed_multiplier": 1
},
"minecraft:breedable": {
"require_tame": false,
"inherit_tamed": true,
"breeds_with": {
"mate_type": "silverlabs_nat:kangaroo",
"baby_type": "silverlabs_nat:kangaroo",
"breed_event": {
"event": "silverlabs_nat:baby",
"target": "baby"
}
},
"breed_items": [
"wheat"
]
},
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "is_baby",
"subject": "self",
"value": false
},
{
"test": "has_equipment",
"subject": "other",
"domain": "hand",
"value": "silverlabs_nat:pacifier"
}
]
},
"event": "silverlabs_nat:revert_to_baby"
},
"use_item": false,
"swing": true
},
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "has_component",
"value": "minecraft:is_tamed"
},
{
"test": "is_sitting",
"operator": "!="
},
{
"test": "is_sneaking",
"subject": "other",
"operator": "!="
}
],
"any_of": [
{
"test": "has_equipment",
"value": "silverlabs_nat:whistle",
"subject": "other"
},
{
"test": "has_equipment",
"value": "sf_hba:whistle",
"subject": "other"
}
]
}
},
"swing": true
}
]
}
},
"silverlabs_nat:with_boxing_gloves": {
"minecraft:mark_variant": {
"value": 1
}
},
"silverlabs_nat:with_baby_in_pouch": {
"minecraft:addrider": {
"entity_type": "silverlabs_nat:kangaroo",
"spawn_event": "silverlabs_nat:baby"
}
},
"silverlabs_nat:with_baby_in_pouch_with_boxing_gloves": {
"minecraft:addrider": {
"entity_type": "silverlabs_nat:kangaroo",
"spawn_event": "silverlabs_nat:kangaroo_as_baby_with_boxing_gloves"
}
},
"silverlabs_nat:natural_despawn": {
"minecraft:despawn": {
"despawn_from_distance": {},
"remove_child_entities": true
}
},
"silverlabs_nat:persistent": {
"minecraft:persistent": {}
},
"silverlabs_nat:follow_owner": {
"minecraft:behavior.follow_owner": {
"priority": 7,
"speed_multiplier": 1.2,
"start_distance": 10,
"stop_distance": 3
},
"minecraft:behavior.random_stroll": {
"priority": 8
}
},
"silverlabs_nat:wander_around": {
"minecraft:behavior.random_stroll": {
"priority": 8
}
},
"silverlabs_nat:kangaroo_tamed": {
"minecraft:is_tamed": {},
"minecraft:healable": {
"items": [
{
"item": "wheat",
"heal_amount": 2
}
]
}
},
"silverlabs_nat:baby_kangaroo_tamed": {
"minecraft:sittable": {},
"minecraft:behavior.stay_while_sitting": {
"priority": 0
},
"minecraft:type_family": {
"family": [
"silverlabs_nat:baby_kangaroo_tamed",
"silverlabs_nat:kangaroo",
"mob"
]
}
}
},
"components": {
"minecraft:nameable": {},
"minecraft:is_hidden_when_invisible": {},
"minecraft:behavior.tempt": {
"priority": 3,
"speed_multiplier": 1.2,
"items": [
"wheat"
]
},
"minecraft:collision_box": {
"width": 1,
"height": 2.1
},
"minecraft:movement.basic": {},
"minecraft:movement": {
"value": 0.25
},
"minecraft:behavior.float": {
"priority": 0
},
"minecraft:behavior.nearest_attackable_target": {
"priority": 2,
"reselect_targets": true,
"must_see": true,
"entity_types": [
{
"filters": {
"all_of": [
{
"any_of": [
{
"test": "is_family",
"subject": "other",
"value": "player"
},
{
"test": "is_family",
"subject": "other",
"value": "monster"
}
]
},
{
"test": "rider_count",
"value": 1
}
]
},
"max_dist": 16,
"must_see": true
},
{
"filters": {
"all_of": [
{
"test": "is_family",
"subject": "other",
"value": "player"
},
{
"test": "is_mark_variant",
"value": 1
}
]
},
"max_dist": 20,
"walk_speed_multiplier": 1.5,
"must_see": true
}
]
},
"minecraft:behavior.delayed_attack": {
"priority": 2,
"attack_duration": 0.5,
"attack_once": false,
"hit_delay_pct": 0.66,
"random_stop_interval": 0,
"reach_multiplier": 1.5,
"cooldown_time": 5,
"require_complete_path": true,
"track_target": true
},
"minecraft:behavior.random_stroll": {
"priority": 4
},
"minecraft:behavior.random_look_around": {
"priority": 5,
"look_distance": 1.5
},
"minecraft:navigation.walk": {
"is_amphibious": false,
"avoid_sun": false,
"avoid_water": true,
"can_path_over_water": false
},
"minecraft:jump.static": {},
"minecraft:can_climb": {},
"minecraft:health": {
"value": 12,
"max": 12
},
"minecraft:healable": {
"items": [
{
"item": "wheat",
"heal_amount": 2
}
]
},
"minecraft:leashable": {
"soft_distance": 4,
"hard_distance": 6,
"max_distance": 10
},
"minecraft:physics": {},
"minecraft:pushable": {
"is_pushable": true,
"is_pushable_by_piston": true
},
"minecraft:attack": {
"damage": 4
},
"minecraft:conditional_bandwidth_optimization": {},
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "is_baby",
"subject": "self",
"value": true
},
{
"test": "has_equipment",
"subject": "other",
"domain": "hand",
"value": "silverlabs_nat:empty_knapsack"
}
]
},
"event": "silverlabs_nat:knapsack_swing"
},
"swing": true
},
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "has_equipment",
"subject": "other",
"domain": "hand",
"value": "silverlabs_nat:pacifier"
}
]
},
"event": "silverlabs_nat:revert_to_baby"
},
"use_item": false,
"swing": true
},
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "has_equipment",
"subject": "other",
"domain": "hand",
"value": "silverlabs_nat:empty_knapsack"
}
]
},
"event": "silverlabs_nat:knapsack_no_capture"
},
"swing": false
},
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "has_component",
"value": "minecraft:is_tamed"
},
{
"test": "is_sitting",
"operator": "!="
},
{
"test": "is_sneaking",
"subject": "other",
"operator": "!="
}
],
"any_of": [
{
"test": "has_equipment",
"value": "silverlabs_nat:whistle",
"subject": "other"
},
{
"test": "has_equipment",
"value": "sf_hba:whistle",
"subject": "other"
}
]
}
},
"swing": true
}
]
}
},
"events": {
"minecraft:entity_spawned": {
"randomize": [
{
"add": {
"component_groups": [
"silverlabs_nat:adult"
]
},
"weight": 80
},
{
"add": {
"component_groups": [
"silverlabs_nat:adult",
"silverlabs_nat:with_baby_in_pouch"
]
},
"weight": 8
},
{
"add": {
"component_groups": [
"silverlabs_nat:baby"
]
},
"weight": 7
},
{
"add": {
"component_groups": [
"silverlabs_nat:adult",
"silverlabs_nat:with_boxing_gloves"
]
},
"weight": 4
},
{
"add": {
"component_groups": [
"silverlabs_nat:adult",
"silverlabs_nat:with_baby_in_pouch_with_boxing_gloves"
]
},
"weight": 1
}
]
},
"silverlabs_nat:despawn": {
"add": {
"component_groups": [
"silverlabs_nat:despawn"
]
}
},
"silverlabs_nat:baby": {
"add": {
"component_groups": [
"silverlabs_nat:baby"
]
},
"remove": {
"component_groups": [
"silverlabs_nat:adult"
]
}
},
"silverlabs_nat:kangaroo_as_baby_with_boxing_gloves": {
"trigger": "silverlabs_nat:baby",
"add": {
"component_groups": [
"silverlabs_nat:with_boxing_gloves"
]
}
},
"silverlabs_nat:adult": {
"add": {
"component_groups": [
"silverlabs_nat:adult"
]
}
},
"silverlabs_nat:kangaroo_grow_up": {
"remove": {
"component_groups": [
"silverlabs_nat:baby",
"silverlabs_nat:baby_kangaroo_tamed"
]
},
"add": {
"component_groups": [
"silverlabs_nat:adult",
"silverlabs_nat:adult_hitbox"
]
},
"queue_command": {
"command": [
"ride @s stop_riding"
]
}
},
"silverlabs_nat:kangaroo_baby_on_pouch": {
"remove": {
"component_groups": [
"silverlabs_nat:baby_hitbox"
]
},
"queue_command": {
"command": [
"effect @s invisibility infinite 1 true"
]
}
},
"silverlabs_nat:kangaroo_baby_out_of_pouch": {
"add": {
"component_groups": [
"silverlabs_nat:baby_hitbox"
]
},
"queue_command": {
"command": [
"effect @s clear"
]
}
},
"silverlabs_nat:natural_despawn": {
"add": {
"component_groups": [
"silverlabs_nat:natural_despawn"
]
}
},
"silverlabs_nat:become_persistent": {
"add": {
"component_groups": [
"silverlabs_nat:persistent"
]
},
"remove": {
"component_groups": [
"silverlabs_nat:natural_despawn"
]
}
},
"silverlabs_nat:set_permanent_baby": {
"add": {
"component_groups": [
"silverlabs_nat:permanent_baby"
]
},
"queue_command": {
"command": [
"particle minecraft:villager_angry ~ ~2 ~",
"playsound random.eat @p ~ ~ ~ 0.8 1.2"
]
}
},
"silverlabs_nat:kangaroo_tamed": {
"add": {
"component_groups": [
"silverlabs_nat:kangaroo_tamed",
"silverlabs_nat:baby_kangaroo_tamed",
"silverlabs_nat:follow_owner"
]
}
},
"silverlabs_nat:start_sniff": {
"queue_command": {
"command": [
"playsound silverlabs_nat.flower_obsession.baby_sniff_medium @a[r=6]"
]
}
},
"silverlabs_nat:revert_to_baby": {
"add": {
"component_groups": [
"silverlabs_nat:baby"
]
},
"remove": {
"component_groups": [
"silverlabs_nat:adult"
]
}
},
"silverlabs_nat:follow_owner": {
"remove": {
"component_groups": [
"silverlabs_nat:wander_around"
]
},
"add": {
"component_groups": [
"silverlabs_nat:follow_owner"
]
},
"set_property": {
"silverlabs_nat:is_following_owner": true
},
"queue_command": {
"command": [
"title @s actionbar Following",
"playsound silverlabs_nat.whistle.whistle @a[r=8] ~~~"
],
"target": "other"
}
},
"silverlabs_nat:wander_around": {
"remove": {
"component_groups": [
"silverlabs_nat:follow_owner"
]
},
"add": {
"component_groups": [
"silverlabs_nat:wander_around"
]
},
"set_property": {
"silverlabs_nat:is_following_owner": false
},
"queue_command": {
"command": [
"title @s actionbar Wandering",
"playsound silverlabs_nat.whistle.whistle @a[r=8] ~~~"
],
"target": "other"
}
},
"silverlabs_nat:knapsack_no_capture": {}
}
}
}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,840 @@
{
"format_version": "1.21.50",
"minecraft:entity": {
"description": {
"identifier": "silverlabs_nat:owl",
"is_spawnable": true,
"is_summonable": true,
"is_experimental": false,
"properties": {
"silverlabs_nat:is_following_owner": {
"type": "bool",
"default": true,
"client_sync": false
},
"silverlabs_nat:movement_mode": {
"type": "enum",
"values": [
"walk",
"fly"
],
"default": "walk"
},
"silverlabs_nat:is_tempted": {
"type": "bool",
"default": false
},
"silverlabs_nat:variant": {
"type": "int",
"default": "q.had_component_group('silverlabs_nat:spawn_snowy') ? 1: 0",
"range": [
0,
1
],
"client_sync": true
}
},
"scripts": {
"animate": [
"landing_check",
"tempt_check",
"smooth_landing"
]
},
"animations": {
"landing_check": "controller.animation.silverlabs_nat.bird.landing_check",
"tempt_check": "controller.animation.silverlabs_nat.bird.tempt_check",
"smooth_landing": "controller.animation.silverlabs_nat.bird.smooth_landing"
}
},
"component_groups": {
"silverlabs_nat:baby": {
"minecraft:is_baby": {},
"minecraft:behavior.hurt_by_target": {
"priority": 1
},
"minecraft:behavior.panic": {
"priority": 2,
"speed_multiplier": 1.2
},
"minecraft:movement": {
"value": 0.12
},
"minecraft:collision_box": {
"width": 0.4,
"height": 0.4
},
"minecraft:ageable": {
"duration": 1200,
"feed_items": [
"rabbit",
"cooked_rabbit",
"silverlabs_nat:frog_leg",
"silverlabs_nat:cooked_frog_leg"
],
"grow_up": {
"event": "silverlabs_nat:ageable_grow_up",
"target": "self"
}
}
},
"silverlabs_nat:adult": {},
"silverlabs_nat:adult_hitbox": {
"minecraft:collision_box": {
"width": 0.5,
"height": 0.6
}
},
"silverlabs_nat:owl_untamed": {
"minecraft:tameable": {
"probability": 1,
"tame_items": [
"rabbit",
"cooked_rabbit",
"silverlabs_nat:frog_leg",
"silverlabs_nat:cooked_frog_leg"
],
"tame_event": {
"event": "silverlabs_nat:owl_tamed",
"target": "self"
}
}
},
"silverlabs_nat:owl_tamed": {
"minecraft:is_tamed": {},
"minecraft:healable": {
"items": [
{
"item": "rabbit",
"heal_amount": 2
},
{
"item": "cooked_rabbit",
"heal_amount": 3
},
{
"item": "silverlabs_nat:frog_leg",
"heal_amount": 2
},
{
"item": "silverlabs_nat:cooked_frog_leg",
"heal_amount": 3
}
]
},
"minecraft:sittable": {},
"minecraft:behavior.stay_while_sitting": {
"priority": 0
}
},
"silverlabs_nat:bird_flying_mode": {
"minecraft:physics": {
"has_gravity": false
},
"minecraft:can_fly": {},
"minecraft:movement.hover": {},
"minecraft:navigation.hover": {
"can_path_over_water": true,
"can_sink": false,
"can_pass_doors": false,
"can_path_from_air": true,
"avoid_water": true,
"avoid_damage_blocks": true,
"avoid_sun": false
}
},
"silverlabs_nat:bird_walking_mode": {
"minecraft:physics": {
"has_gravity": true
},
"minecraft:navigation.walk": {
"can_path_over_water": true,
"avoid_water": true,
"avoid_damage_blocks": true
},
"minecraft:movement.basic": {},
"minecraft:jump.static": {},
"minecraft:behavior.nap": {
"priority": 1,
"cooldown_min": 2,
"cooldown_max": 4,
"can_nap_filters": {
"all_of": [
{
"test": "is_daytime",
"operator": "==",
"value": true
},
{
"test": "in_block",
"operator": "!=",
"value": "water"
},
{
"test": "on_ground",
"operator": "==",
"value": true
}
]
}
}
},
"silverlabs_nat:follow_owner": {
"minecraft:behavior.follow_owner": {
"priority": 1,
"speed_multiplier": 1.6,
"start_distance": 12,
"stop_distance": 4
}
},
"silverlabs_nat:wander_around_walk": {
"minecraft:behavior.random_stroll": {
"priority": 3,
"speed_multiplier": 0,
"interval": 120,
"xz_dist": 10,
"y_dist": 7
}
},
"silverlabs_nat:wander_around_fly": {
"minecraft:behavior.random_hover": {
"priority": 4,
"xz_dist": 10,
"y_dist": 8,
"y_offset": -1,
"interval": 2,
"hover_height": [
1,
5
]
},
"minecraft:behavior.move_to_block": {
"priority": 9,
"tick_interval": 300,
"start_chance": 1,
"search_range": 32,
"goal_radius": 1,
"stay_duration": 2,
"target_blocks": [
"minecraft:leaves",
"minecraft:leaves:1",
"minecraft:leaves:2",
"minecraft:leaves:3",
"minecraft:leaves2",
"minecraft:leaves2:1"
],
"target_selection_method": "random"
}
},
"silverlabs_nat:transition_to_ground": {
"minecraft:behavior.nap": {
"priority": 0,
"cooldown_min": 0,
"cooldown_max": 0
},
"minecraft:timer": {
"looping": false,
"time": 1,
"time_down_event": {
"event": "silverlabs_nat:timer_complete"
}
}
},
"silverlabs_nat:natural_despawn": {
"minecraft:despawn": {
"despawn_from_distance": {},
"remove_child_entities": true
}
},
"silverlabs_nat:persistent": {
"minecraft:persistent": {}
}
},
"components": {
"minecraft:behavior.beg": {
"priority": 9,
"look_distance": 8,
"look_time": 4,
"items": [
"rabbit",
"cooked_rabbit",
"silverlabs_nat:frog_leg",
"silverlabs_nat:cooked_frog_leg"
]
},
"minecraft:type_family": {
"family": [
"silverlabs_nat:owl",
"mob"
]
},
"minecraft:is_hidden_when_invisible": {},
"minecraft:experience_reward": {
"on_death": "query.last_hit_by_player ? Math.Random(1,3): 0"
},
"minecraft:loot": {
"table": "loot_tables/sf/nba/entities/owl.loot.json"
},
"minecraft:breathable": {
"total_supply": 15,
"suffocate_time": 0
},
"minecraft:collision_box": {
"width": 0.5,
"height": 0.6
},
"minecraft:nameable": {},
"minecraft:health": {
"value": 12,
"max": 12
},
"minecraft:healable": {
"force_use": true,
"items": [
{
"item": "rabbit",
"heal_amount": 2
},
{
"item": "cooked_rabbit",
"heal_amount": 3
},
{
"item": "silverlabs_nat:frog_leg",
"heal_amount": 2
},
{
"item": "silverlabs_nat:cooked_frog_leg",
"heal_amount": 3
},
{
"item": "cookie",
"heal_amount": 0,
"effects": [
{
"name": "fatal_poison",
"chance": 1,
"duration": 1000,
"amplifier": 0
}
]
}
]
},
"minecraft:hurt_on_condition": {
"damage_conditions": [
{
"filters": {
"test": "in_lava",
"subject": "self",
"operator": "==",
"value": true
},
"cause": "lava",
"damage_per_tick": 4
}
]
},
"minecraft:flying_speed": {
"value": 0.12
},
"minecraft:movement": {
"value": 0.15
},
"minecraft:damage_sensor": {
"triggers": {
"cause": "fall",
"deals_damage": "no"
}
},
"minecraft:jump.static": {},
"minecraft:physics": {},
"minecraft:pushable": {
"is_pushable": true,
"is_pushable_by_piston": true
},
"minecraft:behavior.float": {
"priority": 0
},
"minecraft:conditional_bandwidth_optimization": {},
"minecraft:game_event_movement_tracking": {
"emit_flap": true
},
"minecraft:leashable": {
"soft_distance": 4,
"hard_distance": 6,
"max_distance": 10
},
"minecraft:balloonable": {},
"minecraft:behavior.tempt": {
"priority": 1,
"within_radius": 16,
"items": [
"rabbit",
"cooked_rabbit",
"silverlabs_nat:frog_leg",
"silverlabs_nat:cooked_frog_leg"
]
},
"minecraft:environment_sensor": {
"triggers": {
"filters": [
{
"test": "is_variant",
"value": 1
},
{
"test": "int_property",
"domain": "silverlabs_nat:variant",
"operator": "!=",
"value": 1
}
],
"event": "silverlabs_nat:set_variant_1"
}
},
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "is_baby",
"subject": "self",
"value": true
},
{
"test": "has_equipment",
"subject": "other",
"domain": "hand",
"value": "silverlabs_nat:empty_knapsack"
}
]
},
"event": "silverlabs_nat:knapsack_swing"
},
"swing": true
},
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "has_equipment",
"subject": "other",
"domain": "hand",
"value": "silverlabs_nat:empty_knapsack"
}
]
},
"event": "silverlabs_nat:knapsack_no_capture"
},
"swing": false
},
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "has_equipment",
"subject": "other",
"domain": "hand",
"value": "silverlabs_nat:pacifier"
}
]
},
"event": "silverlabs_nat:revert_to_baby"
},
"use_item": false,
"swing": true
},
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "has_component",
"value": "minecraft:is_tamed"
},
{
"test": "is_sitting",
"operator": "!="
},
{
"test": "bool_property",
"domain": "silverlabs_nat:is_following_owner",
"value": false
},
{
"test": "is_sneaking",
"subject": "other",
"operator": "!="
},
{
"any_of": [
{
"test": "has_equipment",
"value": "silverlabs_nat:whistle",
"subject": "other"
},
{
"test": "has_equipment",
"value": "sf_hba:whistle",
"subject": "other"
}
]
}
]
}
},
"swing": true
},
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "has_component",
"value": "minecraft:is_tamed"
},
{
"test": "is_sitting",
"operator": "!="
},
{
"test": "bool_property",
"domain": "silverlabs_nat:is_following_owner",
"value": true
},
{
"test": "is_sneaking",
"subject": "other",
"operator": "!="
},
{
"any_of": [
{
"test": "has_equipment",
"value": "silverlabs_nat:whistle",
"subject": "other"
},
{
"test": "has_equipment",
"value": "sf_hba:whistle",
"subject": "other"
}
]
}
]
}
},
"swing": true
}
]
}
},
"events": {
"silverlabs_nat:owl_tamed": {
"sequence": [
{
"add": {
"component_groups": [
"silverlabs_nat:owl_tamed",
"silverlabs_nat:follow_owner"
]
}
},
{
"remove": {
"component_groups": [
"silverlabs_nat:owl_untamed",
"silverlabs_nat:bird_walking_mode"
]
}
},
{
"filters": {
"test": "is_baby",
"subject": "self",
"operator": "==",
"value": false
},
"add": {
"component_groups": [
"silverlabs_nat:bird_flying_mode"
]
},
"remove": {
"component_groups": [
"silverlabs_nat:wander_around_walk",
"silverlabs_nat:transition_to_ground"
]
},
"set_property": {
"silverlabs_nat:movement_mode": "fly"
}
},
{
"filters": {
"test": "is_baby",
"subject": "self",
"operator": "==",
"value": true
},
"set_property": {
"silverlabs_nat:movement_mode": "walk"
}
}
]
},
"minecraft:entity_spawned": {
"sequence": [
{
"add": {
"component_groups": [
"silverlabs_nat:owl_untamed",
"silverlabs_nat:wander_around_walk",
"silverlabs_nat:adult"
]
}
},
{
"trigger": "silverlabs_nat:set_variant_1",
"filters": {
"any_of": [
{
"test": "has_biome_tag",
"value": "taiga"
},
{
"test": "has_biome_tag",
"value": "forest"
}
]
}
},
{
"trigger": "silverlabs_nat:set_variant_0",
"filters": {
"any_of": [
{
"test": "has_biome_tag",
"value": "snowy_slopes"
}
]
}
},
{
"trigger": "silverlabs_nat:bird_set_walking_mode"
}
]
},
"minecraft:entity_born": {
"add": {
"component_groups": [
"silverlabs_nat:baby"
]
},
"remove": {
"component_groups": [
"silverlabs_nat:adult"
]
},
"trigger": "silverlabs_nat:bird_set_walking_mode"
},
"silverlabs_nat:ageable_grow_up": {
"remove": {
"component_groups": [
"silverlabs_nat:baby"
]
},
"add": {
"component_groups": [
"silverlabs_nat:adult",
"silverlabs_nat:adult_hitbox"
]
}
},
"silverlabs_nat:revert_to_baby": {
"trigger": "silverlabs_nat:become_persistent",
"add": {
"component_groups": [
"silverlabs_nat:baby"
]
},
"remove": {
"component_groups": [
"silverlabs_nat:adult",
"silverlabs_nat:adult_hitbox"
]
}
},
"silverlabs_nat:bird_set_walking_mode": {
"add": {
"component_groups": [
"silverlabs_nat:bird_walking_mode",
"silverlabs_nat:transition_to_ground",
"silverlabs_nat:wander_around_walk"
]
},
"remove": {
"component_groups": [
"silverlabs_nat:bird_flying_mode",
"silverlabs_nat:wander_around_fly"
]
},
"set_property": {
"silverlabs_nat:movement_mode": "walk"
}
},
"silverlabs_nat:bird_set_flying_mode": {
"add": {
"component_groups": [
"silverlabs_nat:bird_flying_mode",
"silverlabs_nat:wander_around_fly"
]
},
"remove": {
"component_groups": [
"silverlabs_nat:bird_walking_mode",
"silverlabs_nat:wander_around_walk"
]
},
"set_property": {
"silverlabs_nat:movement_mode": "fly"
}
},
"silverlabs_nat:follow_owner": {
"sequence": [
{
"filters": {
"test": "is_baby",
"subject": "self",
"operator": "==",
"value": false
},
"add": {
"component_groups": [
"silverlabs_nat:follow_owner",
"silverlabs_nat:bird_flying_mode"
]
},
"set_property": {
"silverlabs_nat:is_following_owner": true,
"silverlabs_nat:movement_mode": "fly"
},
"remove": {
"component_groups": [
"silverlabs_nat:wander_around_walk",
"silverlabs_nat:wander_around_fly",
"silverlabs_nat:bird_walking_mode"
]
},
"queue_command": {
"command": [
"scriptevent silverlabs_nat:whistle_follow"
],
"target": "self"
}
},
{
"filters": {
"test": "is_baby",
"subject": "self",
"operator": "==",
"value": true
},
"add": {
"component_groups": [
"silverlabs_nat:follow_owner",
"silverlabs_nat:bird_walking_mode"
]
},
"set_property": {
"silverlabs_nat:is_following_owner": true,
"silverlabs_nat:movement_mode": "walk"
},
"remove": {
"component_groups": [
"silverlabs_nat:wander_around_fly",
"silverlabs_nat:bird_flying_mode"
]
},
"queue_command": {
"command": [
"scriptevent silverlabs_nat:whistle_follow"
],
"target": "self"
}
}
]
},
"silverlabs_nat:wander_around": {
"sequence": [
{
"add": {
"component_groups": [
"silverlabs_nat:wander_around_fly"
]
}
},
{
"remove": {
"component_groups": [
"silverlabs_nat:follow_owner",
"silverlabs_nat:bird_walking_mode"
]
},
"set_property": {
"silverlabs_nat:is_following_owner": false
},
"queue_command": {
"command": [
"scriptevent silverlabs_nat:whistle_wander"
],
"target": "self"
}
}
]
},
"silverlabs_nat:timer_complete": {
"remove": {
"component_groups": [
"silverlabs_nat:transition_to_ground"
]
}
},
"silverlabs_nat:set_variant_0": {
"set_property": {
"silverlabs_nat:variant": 0
}
},
"silverlabs_nat:set_variant_1": {
"set_property": {
"silverlabs_nat:variant": 1
}
},
"silverlabs_nat:natural_despawn": {
"add": {
"component_groups": [
"silverlabs_nat:natural_despawn"
]
}
},
"silverlabs_nat:become_persistent": {
"add": {
"component_groups": [
"silverlabs_nat:persistent"
]
},
"remove": {
"component_groups": [
"silverlabs_nat:natural_despawn"
]
}
},
"silverlabs_nat:knapsack_no_capture": {}
}
}
}

View File

@@ -0,0 +1,803 @@
{
"format_version": "1.21.50",
"minecraft:entity": {
"description": {
"identifier": "silverlabs_nat:red_panda",
"is_spawnable": true,
"is_summonable": true,
"is_experimental": false,
"animations": {
"duration": "animation.silverlabs_nat.duration_10",
"sleep_stand_controller": "controller.animation.silverlabs_nat.red_panda.sleep_stand"
},
"scripts": {
"animate": [
"sleep_stand_controller"
]
},
"properties": {
"silverlabs_nat:is_following_owner": {
"type": "bool",
"default": true,
"client_sync": false
},
"silverlabs_nat:red_panda_sleep": {
"client_sync": true,
"default": false,
"type": "bool"
},
"silverlabs_nat:red_panda_energy": {
"client_sync": false,
"default": 1080,
"range": [
0,
1080
],
"type": "int"
},
"silverlabs_nat:red_panda_jolt_awake": {
"client_sync": true,
"default": false,
"type": "bool"
},
"silverlabs_nat:red_panda_standing": {
"client_sync": true,
"default": false,
"type": "bool"
}
}
},
"component_groups": {
"silverlabs_nat:red_panda_awake": {
"minecraft:movement": {
"value": 0.2
},
"minecraft:navigation.walk": {
"can_path_over_water": true,
"avoid_water": true,
"avoid_damage_blocks": true
},
"minecraft:movement.basic": {},
"minecraft:jump.static": {},
"minecraft:can_climb": {},
"minecraft:behavior.float": {
"priority": 0
},
"minecraft:behavior.tempt": {
"priority": 2,
"speed_multiplier": 1.2,
"items": [
"bamboo"
]
},
"minecraft:behavior.look_at_player": {
"priority": 8,
"look_distance": 6,
"probability": 0.02
},
"minecraft:behavior.random_look_around": {
"priority": 9
}
},
"silverlabs_nat:red_panda_sleep": {
"minecraft:damage_sensor": {
"triggers": [
{
"on_damage": {
"event": "silverlabs_nat:jolt_awake",
"target": "self"
},
"deals_damage": "yes",
"cause": "all"
}
]
},
"minecraft:environment_sensor": {
"triggers": [
{
"event": "silverlabs_nat:jolt_awake",
"target": "self",
"filters": {
"all_of": [
{
"test": "bool_property",
"domain": "silverlabs_nat:red_panda_jolt_awake",
"subject": "self",
"value": false
},
{
"any_of": [
{
"test": "is_moving",
"subject": "self",
"value": true
},
{
"test": "in_water_or_rain",
"subject": "self",
"value": true
}
]
}
]
}
}
]
}
},
"silverlabs_nat:red_panda_wild": {
"minecraft:tameable": {
"probability": 0.3,
"tame_event": {
"event": "silverlabs_nat:on_tame",
"target": "self"
},
"tame_items": [
"bamboo"
]
},
"minecraft:behavior.avoid_mob_type": {
"priority": 2,
"entity_types": [
{
"filters": [
{
"all_of": [
{
"test": "is_family",
"subject": "other",
"value": "player"
},
{
"test": "has_component",
"value": "minecraft:is_tamed",
"subject": "self",
"operator": "!="
}
]
}
],
"max_dist": 8,
"walk_speed_multiplier": 1,
"sprint_speed_multiplier": 1.5
}
]
}
},
"silverlabs_nat:red_panda_tamed": {
"minecraft:is_tamed": {},
"minecraft:healable": {
"items": [
{
"item": "bamboo",
"heal_amount": 2
}
]
},
"minecraft:behavior.random_stroll": {
"priority": 3,
"speed_multiplier": 1
},
"minecraft:sittable": {},
"minecraft:behavior.stay_while_sitting": {
"priority": 0
}
},
"silverlabs_nat:follow_owner": {
"minecraft:behavior.follow_owner": {
"priority": 7,
"speed_multiplier": 1.2,
"start_distance": 10,
"stop_distance": 3
},
"minecraft:behavior.random_stroll": {
"priority": 8
}
},
"silverlabs_nat:wander_around": {
"minecraft:behavior.random_stroll": {
"priority": 8
}
},
"silverlabs_nat:baby": {
"minecraft:is_baby": {},
"minecraft:scale": {
"value": 0.5
},
"minecraft:ageable": {
"duration": 1200,
"feed_items": [
"bamboo"
],
"grow_up": {
"event": "silverlabs_nat:ageable_grow_up",
"target": "self"
}
},
"minecraft:behavior.panic": {
"priority": 5,
"speed_multiplier": 1.4
},
"minecraft:behavior.follow_parent": {
"priority": 6,
"speed_multiplier": 1.1
},
"minecraft:behavior.move_to_block": {
"priority": 8,
"start_chance": 0.2,
"search_range": 32,
"goal_radius": 0.25,
"stay_duration": 3,
"target_selection_method": "random",
"on_reach": {
"event": "silverlabs_nat:start_sniff",
"target": "self"
},
"target_blocks": [
"minecraft:poppy",
"minecraft:dandelion",
"minecraft:blue_orchid",
"minecraft:allium",
"minecraft:azure_bluet",
"minecraft:orange_tulip",
"minecraft:pink_tulip",
"minecraft:red_tulip",
"minecraft:white_tulip",
"minecraft:oxeye_daisy",
"minecraft:cornflower",
"minecraft:lily_of_the_valley",
"minecraft:sunflower",
"minecraft:lilac",
"minecraft:rose_bush",
"minecraft:peony",
"minecraft:pitcher_plant",
"minecraft:pink_petals",
"minecraft:wildflowers",
"minecraft:torchflower",
"minecraft:closed_eyeblossom",
"minecraft:open_eyeblossom"
]
},
"minecraft:behavior.follow_mob": {
"priority": 6,
"search_range": 16,
"stop_distance": 5,
"speed_multiplier": 1.1,
"use_home_position_restriction": true,
"filters": {
"all_of": [
{
"test": "is_underwater",
"subject": "other",
"value": false
},
{
"test": "is_baby",
"subject": "other",
"value": false
},
{
"any_of": [
{
"test": "is_family",
"subject": "other",
"value": "silverlabs_nat:butterfly"
},
{
"test": "is_family",
"subject": "other",
"value": "butterfly"
}
]
}
]
}
}
},
"silverlabs_nat:adult_hitbox": {
"minecraft:collision_box": {
"width": 0.7,
"height": 0.6
}
},
"silverlabs_nat:adult": {
"minecraft:experience_reward": {
"on_death": "q.last_hit_by_player ? Math.random(1, 3): 0",
"on_bred": "Math.Random(1,7)"
},
"minecraft:loot": {
"table": "loot_tables/sf/nba/entities/red_panda.loot.json"
},
"minecraft:behavior.breed": {
"priority": 1,
"speed_multiplier": 1
},
"minecraft:breedable": {
"require_tame": true,
"inherit_tamed": true,
"breeds_with": {
"mate_type": "silverlabs_nat:red_panda",
"baby_type": "silverlabs_nat:red_panda",
"breed_event": {
"event": "silverlabs_nat:from_breeding",
"target": "baby"
}
},
"breed_items": [
"bamboo"
]
}
},
"silverlabs_nat:natural_despawn": {
"minecraft:despawn": {
"despawn_from_distance": {},
"remove_child_entities": true
}
},
"silverlabs_nat:persistent": {
"minecraft:persistent": {}
}
},
"components": {
"minecraft:behavior.beg": {
"priority": 9,
"look_distance": 8,
"look_time": 4,
"items": [
"bamboo"
]
},
"minecraft:is_hidden_when_invisible": {},
"minecraft:type_family": {
"family": [
"silverlabs_nat:red_panda",
"mob"
]
},
"minecraft:breathable": {
"total_supply": 15,
"suffocate_time": 0
},
"minecraft:nameable": {},
"minecraft:health": {
"value": 12,
"max": 12
},
"minecraft:healable": {
"items": [
{
"item": "bamboo",
"heal_amount": 2
}
]
},
"minecraft:hurt_on_condition": {
"damage_conditions": [
{
"filters": {
"test": "in_lava",
"subject": "self",
"operator": "==",
"value": true
},
"cause": "lava",
"damage_per_tick": 4
}
]
},
"minecraft:collision_box": {
"width": 0.7,
"height": 0.6
},
"minecraft:leashable": {
"soft_distance": 4,
"hard_distance": 6,
"max_distance": 10
},
"minecraft:balloonable": {
"mass": 0.9
},
"minecraft:physics": {},
"minecraft:pushable": {
"is_pushable": true,
"is_pushable_by_piston": true
},
"minecraft:conditional_bandwidth_optimization": {},
"minecraft:interact": {
"interactions": [
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "is_baby",
"subject": "self",
"value": true
},
{
"test": "has_equipment",
"subject": "other",
"domain": "hand",
"value": "silverlabs_nat:empty_knapsack"
}
]
},
"event": "silverlabs_nat:knapsack_swing"
},
"swing": true
},
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "has_equipment",
"subject": "other",
"domain": "hand",
"value": "silverlabs_nat:empty_knapsack"
}
]
},
"event": "silverlabs_nat:knapsack_no_capture"
},
"swing": false
},
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "has_equipment",
"subject": "other",
"domain": "hand",
"value": "silverlabs_nat:pacifier"
}
]
},
"event": "silverlabs_nat:revert_to_baby"
},
"use_item": false,
"swing": true
},
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "has_component",
"value": "minecraft:is_tamed"
},
{
"test": "is_sitting",
"operator": "!="
},
{
"test": "bool_property",
"domain": "silverlabs_nat:is_following_owner",
"value": false
},
{
"test": "is_sneaking",
"subject": "other",
"operator": "!="
},
{
"any_of": [
{
"test": "has_equipment",
"value": "silverlabs_nat:whistle",
"subject": "other"
},
{
"test": "has_equipment",
"value": "sf_hba:whistle",
"subject": "other"
}
]
}
]
}
},
"swing": true
},
{
"on_interact": {
"filters": {
"all_of": [
{
"test": "has_component",
"value": "minecraft:is_tamed"
},
{
"test": "is_sitting",
"operator": "!="
},
{
"test": "bool_property",
"domain": "silverlabs_nat:is_following_owner",
"value": true
},
{
"test": "is_sneaking",
"subject": "other",
"operator": "!="
},
{
"any_of": [
{
"test": "has_equipment",
"value": "silverlabs_nat:whistle",
"subject": "other"
},
{
"test": "has_equipment",
"value": "sf_hba:whistle",
"subject": "other"
}
]
}
]
}
},
"swing": true
}
]
}
},
"events": {
"minecraft:entity_spawned": {
"add": {
"component_groups": [
"silverlabs_nat:red_panda_wild"
]
},
"randomize": [
{
"weight": 9,
"trigger": "silverlabs_nat:adult"
},
{
"weight": 1,
"trigger": "silverlabs_nat:entity_born"
}
],
"set_property": {
"silverlabs_nat:red_panda_energy": "math.random(15, 1080)"
}
},
"silverlabs_nat:force_sleep": {
"set_property": {
"silverlabs_nat:red_panda_energy": 0
}
},
"silverlabs_nat:force_awake": {
"set_property": {
"silverlabs_nat:red_panda_energy": 1080
}
},
"silverlabs_nat:jolt_awake": {
"set_property": {
"silverlabs_nat:red_panda_energy": "query.property('silverlabs_nat:red_panda_energy') + 60",
"silverlabs_nat:red_panda_jolt_awake": true
}
},
"silverlabs_nat:sleeping": {
"set_property": {
"silverlabs_nat:red_panda_sleep": true,
"silverlabs_nat:red_panda_jolt_awake": false
},
"add": {
"component_groups": [
"silverlabs_nat:red_panda_sleep"
]
},
"remove": {
"component_groups": [
"silverlabs_nat:red_panda_awake"
]
}
},
"silverlabs_nat:awake": {
"set_property": {
"silverlabs_nat:red_panda_sleep": false,
"silverlabs_nat:red_panda_jolt_awake": false
},
"add": {
"component_groups": [
"silverlabs_nat:red_panda_awake"
]
},
"remove": {
"component_groups": [
"silverlabs_nat:red_panda_sleep"
]
}
},
"silverlabs_nat:from_breeding": {
"sequence": [
{
"trigger": "silverlabs_nat:entity_born"
},
{
"trigger": "silverlabs_nat:on_tame"
}
]
},
"silverlabs_nat:decrement_energy": {
"set_property": {
"silverlabs_nat:red_panda_energy": "query.property('silverlabs_nat:red_panda_energy') - math.random_integer(0, 3)"
}
},
"silverlabs_nat:increment_energy": {
"set_property": {
"silverlabs_nat:red_panda_energy": "query.property('silverlabs_nat:red_panda_energy') + math.random_integer(1, 5)"
}
},
"silverlabs_nat:start_standing": {
"set_property": {
"silverlabs_nat:red_panda_standing": true
},
"remove": {
"component_groups": [
"silverlabs_nat:red_panda_awake"
]
}
},
"silverlabs_nat:stop_standing": {
"set_property": {
"silverlabs_nat:red_panda_standing": false
},
"add": {
"component_groups": [
"silverlabs_nat:red_panda_awake"
]
}
},
"silverlabs_nat:adult": {
"add": {
"component_groups": [
"silverlabs_nat:adult",
"silverlabs_nat:red_panda_wild",
"silverlabs_nat:wander_around"
]
}
},
"silverlabs_nat:entity_born": {
"add": {
"component_groups": [
"silverlabs_nat:red_panda_wild",
"silverlabs_nat:baby",
"silverlabs_nat:wander_around"
]
}
},
"silverlabs_nat:ageable_grow_up": {
"remove": {
"component_groups": [
"silverlabs_nat:baby"
]
},
"add": {
"component_groups": [
"silverlabs_nat:adult",
"silverlabs_nat:adult_hitbox"
]
}
},
"silverlabs_nat:on_tame": {
"add": {
"component_groups": [
"silverlabs_nat:red_panda_tamed",
"silverlabs_nat:follow_owner"
]
},
"remove": {
"component_groups": [
"silverlabs_nat:red_panda_wild"
]
}
},
"silverlabs_nat:follow_owner": {
"add": {
"component_groups": [
"silverlabs_nat:follow_owner"
]
},
"remove": {
"component_groups": [
"silverlabs_nat:wander_around"
]
},
"set_property": {
"silverlabs_nat:is_following_owner": true
},
"queue_command": {
"command": [
"scriptevent silverlabs_nat:whistle_follow"
],
"target": "self"
}
},
"silverlabs_nat:wander_around": {
"add": {
"component_groups": [
"silverlabs_nat:wander_around"
]
},
"remove": {
"component_groups": [
"silverlabs_nat:follow_owner"
]
},
"set_property": {
"silverlabs_nat:is_following_owner": false
},
"queue_command": {
"command": [
"scriptevent silverlabs_nat:whistle_wander"
],
"target": "self"
}
},
"silverlabs_nat:natural_despawn": {
"add": {
"component_groups": [
"silverlabs_nat:natural_despawn"
]
}
},
"silverlabs_nat:become_persistent": {
"add": {
"component_groups": [
"silverlabs_nat:persistent"
]
},
"remove": {
"component_groups": [
"silverlabs_nat:natural_despawn"
]
}
},
"silverlabs_nat:set_permanent_baby": {
"add": {
"component_groups": [
"silverlabs_nat:permanent_baby"
]
},
"queue_command": {
"command": [
"particle minecraft:villager_angry ~ ~2 ~",
"playsound random.eat @p ~ ~ ~ 0.8 1.2"
]
}
},
"silverlabs_nat:start_sniff": {
"queue_command": {
"command": [
"playsound silverlabs_nat.flower_obsession.baby_sniff_small @a[r=6]"
]
}
},
"silverlabs_nat:revert_to_baby": {
"trigger": "silverlabs_nat:become_persistent",
"queue_command": {
"command": [
"playsound silverlabs_nat.pacifier.interact @a[r=10] ~~~"
]
},
"add": {
"component_groups": [
"silverlabs_nat:baby"
]
},
"remove": {
"component_groups": [
"silverlabs_nat:adult",
"silverlabs_nat:adult_hitbox"
]
}
},
"silverlabs_nat:knapsack_no_capture": {}
}
}
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,166 @@
{
"format_version": "1.21.50",
"minecraft:entity": {
"description": {
"identifier": "silverlabs_nat:snake_egg",
"is_summonable": true
},
"components": {
"minecraft:collision_box": {
"width": 0.2,
"height": 0.2
},
"minecraft:health": {
"value": 1,
"max": 1
},
"minecraft:knockback_resistance": {
"value": 1
},
"minecraft:pushable": {
"is_pushable": false,
"is_pushable_by_piston": false
},
"minecraft:physics": {},
"minecraft:type_family": {
"family": [
"silverlabs_nat:snake_egg",
"inanimate"
]
},
"minecraft:damage_sensor": {
"triggers": [
{
"cause": "entity_attack",
"on_damage": {
"filters": {
"test": "is_family",
"subject": "other",
"value": "player"
},
"event": "silverlabs_nat:drop"
},
"deals_damage": "no"
},
{
"cause": "all",
"deals_damage": "no"
}
]
},
"minecraft:persistent": {}
},
"component_groups": {
"silverlabs_nat:stage_0": {
"minecraft:variant": {
"value": 0
}
},
"silverlabs_nat:stage_1": {
"minecraft:variant": {
"value": 1
}
},
"silverlabs_nat:stage_2": {
"minecraft:variant": {
"value": 2
}
},
"silverlabs_nat:hatch_timer": {
"minecraft:timer": {
"looping": true,
"time": 200,
"time_down_event": {
"event": "silverlabs_nat:next_stage"
}
}
},
"silverlabs_nat:hatch": {
"minecraft:transformation": {
"into": "silverlabs_nat:snake<silverlabs_nat:entity_born>",
"keep_owner": true,
"delay": 0.2
}
},
"silverlabs_nat:drop": {
"minecraft:instant_despawn": {},
"minecraft:spawn_entity": {
"entities": [
{
"min_wait_time": 0,
"max_wait_time": 0,
"spawn_item": "silverlabs_nat:snake_egg"
}
]
}
}
},
"events": {
"minecraft:entity_born": {
"trigger": "minecraft:entity_spawned"
},
"minecraft:entity_spawned": {
"add": {
"component_groups": [
"silverlabs_nat:hatch_timer",
"silverlabs_nat:stage_0"
]
}
},
"silverlabs_nat:next_stage": {
"sequence": [
{
"filters": {
"test": "is_variant",
"value": 2
},
"add": {
"component_groups": [
"silverlabs_nat:hatch"
]
}
},
{
"filters": {
"test": "is_variant",
"value": 1
},
"remove": {
"component_groups": [
"silverlabs_nat:stage_1"
]
},
"add": {
"component_groups": [
"silverlabs_nat:stage_2"
]
}
},
{
"filters": {
"test": "is_variant",
"value": 0
},
"remove": {
"component_groups": [
"silverlabs_nat:stage_0"
]
},
"add": {
"component_groups": [
"silverlabs_nat:stage_1"
]
}
}
]
},
"silverlabs_nat:drop": {
"add": {
"component_groups": [
"silverlabs_nat:drop"
]
}
}
}
}
}

File diff suppressed because it is too large Load Diff