feat: add multi-world hub system with lobby portals and hub-return addon
Lobby addon detects players in portal zones at X: -15/0/15 and transfers them to Jamie/Lyla/Mya survival worlds. Hub-return addon gives players a recovery compass and chat commands (!hub, !lobby) to return to the lobby. Includes docker-compose.yml for 4 Bedrock servers (lobby + 3 child worlds), spark pet behavior/resource packs, and updated .gitignore. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
58
addon/spark_pet_RP/animations/dragon_egg.animation.json
Normal file
58
addon/spark_pet_RP/animations/dragon_egg.animation.json
Normal file
@@ -0,0 +1,58 @@
|
||||
{
|
||||
"format_version": "1.8.0",
|
||||
"animations": {
|
||||
"animation.dragon_egg.idle": {
|
||||
"loop": true,
|
||||
"animation_length": 4.0,
|
||||
"bones": {
|
||||
"egg": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"2.0": [0, 0.3, 0],
|
||||
"4.0": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.dragon_egg.wobble": {
|
||||
"loop": true,
|
||||
"animation_length": 2.0,
|
||||
"bones": {
|
||||
"egg": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.5": [0, 0, 5],
|
||||
"1.0": [0, 0, 0],
|
||||
"1.5": [0, 0, -5],
|
||||
"2.0": [0, 0, 0]
|
||||
},
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"1.0": [0, 0.2, 0],
|
||||
"2.0": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.dragon_egg.shake": {
|
||||
"loop": true,
|
||||
"animation_length": 0.4,
|
||||
"bones": {
|
||||
"egg": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, -10],
|
||||
"0.1": [0, 0, 10],
|
||||
"0.2": [0, 0, -10],
|
||||
"0.3": [0, 0, 10],
|
||||
"0.4": [0, 0, -10]
|
||||
},
|
||||
"position": {
|
||||
"0.0": [0, 0.5, 0],
|
||||
"0.2": [0, 0, 0],
|
||||
"0.4": [0, 0.5, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
{
|
||||
"format_version": "1.8.0",
|
||||
"animations": {
|
||||
"animation.dragon_gravestone.idle": {
|
||||
"loop": true,
|
||||
"animation_length": 4.0,
|
||||
"bones": {
|
||||
"stone": {
|
||||
"scale": {
|
||||
"0.0": [1, 1, 1],
|
||||
"2.0": [1, 1.02, 1],
|
||||
"4.0": [1, 1, 1]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
246
addon/spark_pet_RP/animations/spark_dragon.animation.json
Normal file
246
addon/spark_pet_RP/animations/spark_dragon.animation.json
Normal file
@@ -0,0 +1,246 @@
|
||||
{
|
||||
"format_version": "1.8.0",
|
||||
"animations": {
|
||||
"animation.spark_dragon.idle": {
|
||||
"loop": true,
|
||||
"animation_length": 2.0,
|
||||
"bones": {
|
||||
"wing_left": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, -5],
|
||||
"1.0": [0, 0, -15],
|
||||
"2.0": [0, 0, -5]
|
||||
}
|
||||
},
|
||||
"wing_right": {
|
||||
"rotation": {
|
||||
"0.0": [0, 0, 5],
|
||||
"1.0": [0, 0, 15],
|
||||
"2.0": [0, 0, 5]
|
||||
}
|
||||
},
|
||||
"body": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"1.0": [0, 0.3, 0],
|
||||
"2.0": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"tail": {
|
||||
"rotation": {
|
||||
"0.0": [0, -5, 0],
|
||||
"1.0": [0, 5, 0],
|
||||
"2.0": [0, -5, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.spark_dragon.walk": {
|
||||
"loop": true,
|
||||
"animation_length": 0.8,
|
||||
"bones": {
|
||||
"leg_front_left": {
|
||||
"rotation": {
|
||||
"0.0": [20, 0, 0],
|
||||
"0.2": [0, 0, 0],
|
||||
"0.4": [-20, 0, 0],
|
||||
"0.6": [0, 0, 0],
|
||||
"0.8": [20, 0, 0]
|
||||
}
|
||||
},
|
||||
"leg_front_right": {
|
||||
"rotation": {
|
||||
"0.0": [-20, 0, 0],
|
||||
"0.2": [0, 0, 0],
|
||||
"0.4": [20, 0, 0],
|
||||
"0.6": [0, 0, 0],
|
||||
"0.8": [-20, 0, 0]
|
||||
}
|
||||
},
|
||||
"leg_back_left": {
|
||||
"rotation": {
|
||||
"0.0": [-20, 0, 0],
|
||||
"0.2": [0, 0, 0],
|
||||
"0.4": [20, 0, 0],
|
||||
"0.6": [0, 0, 0],
|
||||
"0.8": [-20, 0, 0]
|
||||
}
|
||||
},
|
||||
"leg_back_right": {
|
||||
"rotation": {
|
||||
"0.0": [20, 0, 0],
|
||||
"0.2": [0, 0, 0],
|
||||
"0.4": [-20, 0, 0],
|
||||
"0.6": [0, 0, 0],
|
||||
"0.8": [20, 0, 0]
|
||||
}
|
||||
},
|
||||
"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]
|
||||
}
|
||||
},
|
||||
"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]
|
||||
}
|
||||
},
|
||||
"tail": {
|
||||
"rotation": {
|
||||
"0.0": [0, -10, 0],
|
||||
"0.4": [0, 10, 0],
|
||||
"0.8": [0, -10, 0]
|
||||
}
|
||||
},
|
||||
"body": {
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.2": [0, 0.5, 0],
|
||||
"0.4": [0, 0, 0],
|
||||
"0.6": [0, 0.5, 0],
|
||||
"0.8": [0, 0, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.spark_dragon.sit": {
|
||||
"loop": true,
|
||||
"animation_length": 2.0,
|
||||
"bones": {
|
||||
"body": {
|
||||
"position": [0, -1.5, 0]
|
||||
},
|
||||
"leg_front_left": {
|
||||
"rotation": [-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": [10, -30, 0],
|
||||
"1.0": [10, -25, 0],
|
||||
"2.0": [10, -30, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.spark_dragon.sleep": {
|
||||
"loop": true,
|
||||
"animation_length": 4.0,
|
||||
"bones": {
|
||||
"body": {
|
||||
"position": [0, -2, 0],
|
||||
"scale": {
|
||||
"0.0": [1, 1, 1],
|
||||
"2.0": [1, 1.04, 1],
|
||||
"4.0": [1, 1, 1]
|
||||
}
|
||||
},
|
||||
"head": {
|
||||
"rotation": [20, 40, 10],
|
||||
"position": [0, -1, 2]
|
||||
},
|
||||
"leg_front_left": {
|
||||
"rotation": [-90, 0, 0]
|
||||
},
|
||||
"leg_front_right": {
|
||||
"rotation": [-90, 0, 0]
|
||||
},
|
||||
"leg_back_left": {
|
||||
"rotation": [-90, 30, 0]
|
||||
},
|
||||
"leg_back_right": {
|
||||
"rotation": [-90, -30, 0]
|
||||
},
|
||||
"wing_left": {
|
||||
"rotation": [30, 0, 10],
|
||||
"position": [0, -1, 1]
|
||||
},
|
||||
"wing_right": {
|
||||
"rotation": [30, 0, -10],
|
||||
"position": [0, -1, 1]
|
||||
},
|
||||
"tail": {
|
||||
"rotation": [20, -60, 0]
|
||||
}
|
||||
}
|
||||
},
|
||||
"animation.spark_dragon.fly": {
|
||||
"loop": true,
|
||||
"animation_length": 0.6,
|
||||
"bones": {
|
||||
"body": {
|
||||
"rotation": [-15, 0, 0],
|
||||
"position": {
|
||||
"0.0": [0, 0, 0],
|
||||
"0.3": [0, 0.4, 0],
|
||||
"0.6": [0, 0, 0]
|
||||
}
|
||||
},
|
||||
"wing_left": {
|
||||
"rotation": {
|
||||
"0.0": [-10, 0, -60],
|
||||
"0.15": [10, 0, -10],
|
||||
"0.3": [-10, 0, -60],
|
||||
"0.45": [10, 0, -10],
|
||||
"0.6": [-10, 0, -60]
|
||||
}
|
||||
},
|
||||
"wing_right": {
|
||||
"rotation": {
|
||||
"0.0": [-10, 0, 60],
|
||||
"0.15": [10, 0, 10],
|
||||
"0.3": [-10, 0, 60],
|
||||
"0.45": [10, 0, 10],
|
||||
"0.6": [-10, 0, 60]
|
||||
}
|
||||
},
|
||||
"leg_front_left": {
|
||||
"rotation": [-45, 0, 0]
|
||||
},
|
||||
"leg_front_right": {
|
||||
"rotation": [-45, 0, 0]
|
||||
},
|
||||
"leg_back_left": {
|
||||
"rotation": [-60, 10, 0]
|
||||
},
|
||||
"leg_back_right": {
|
||||
"rotation": [-60, -10, 0]
|
||||
},
|
||||
"tail": {
|
||||
"rotation": {
|
||||
"0.0": [15, -3, 0],
|
||||
"0.3": [15, 3, 0],
|
||||
"0.6": [15, -3, 0]
|
||||
}
|
||||
},
|
||||
"head": {
|
||||
"rotation": [10, 0, 0]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user