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:
2026-03-18 22:02:56 +00:00
parent 4c68cb60bc
commit 389e053dc5
70 changed files with 3725 additions and 50 deletions

114
docker-compose.yml Normal file
View File

@@ -0,0 +1,114 @@
services:
lobby:
image: itzg/minecraft-bedrock-server
container_name: mc-lobby
environment:
EULA: "TRUE"
SERVER_NAME: "SilverLABS Hub"
GAMEMODE: adventure
DIFFICULTY: peaceful
ALLOW_CHEATS: "true"
ONLINE_MODE: "false"
SERVER_PORT: "19132"
LEVEL_NAME: "Hub World"
MAX_PLAYERS: "10"
DEFAULT_PLAYER_PERMISSION_LEVEL: operator
OP_PERMISSION_LEVEL: "4"
ports:
- "${LOBBY_PORT:-19132}:19132/udp"
volumes:
- lobby-data:/data
- ./lobby-addon/lobby_transfer_BP:/data/behavior_packs/lobby_transfer_BP
- ./addon/spark_pet_BP:/data/behavior_packs/spark_pet_BP
- ./addon/spark_pet_RP:/data/resource_packs/spark_pet_RP
restart: unless-stopped
networks:
- mc-network
jamie:
image: itzg/minecraft-bedrock-server
container_name: mc-jamie
environment:
EULA: "TRUE"
SERVER_NAME: "Jamie's World"
GAMEMODE: survival
DIFFICULTY: normal
ALLOW_CHEATS: "true"
ONLINE_MODE: "false"
SERVER_PORT: "19132"
LEVEL_NAME: "Jamie World"
MAX_PLAYERS: "10"
DEFAULT_PLAYER_PERMISSION_LEVEL: operator
OP_PERMISSION_LEVEL: "4"
ports:
- "${JAMIE_PORT:-19133}:19132/udp"
volumes:
- jamie-data:/data
- ./hub-return-addon/hub_return_transfer_BP:/data/behavior_packs/hub_return_transfer_BP
- ./addon/spark_pet_BP:/data/behavior_packs/spark_pet_BP
- ./addon/spark_pet_RP:/data/resource_packs/spark_pet_RP
restart: unless-stopped
networks:
- mc-network
lyla:
image: itzg/minecraft-bedrock-server
container_name: mc-lyla
environment:
EULA: "TRUE"
SERVER_NAME: "Lyla's World"
GAMEMODE: survival
DIFFICULTY: normal
ALLOW_CHEATS: "true"
ONLINE_MODE: "false"
SERVER_PORT: "19132"
LEVEL_NAME: "Lyla World"
MAX_PLAYERS: "10"
DEFAULT_PLAYER_PERMISSION_LEVEL: operator
OP_PERMISSION_LEVEL: "4"
ports:
- "${LYLA_PORT:-19134}:19132/udp"
volumes:
- lyla-data:/data
- ./hub-return-addon/hub_return_transfer_BP:/data/behavior_packs/hub_return_transfer_BP
- ./addon/spark_pet_BP:/data/behavior_packs/spark_pet_BP
- ./addon/spark_pet_RP:/data/resource_packs/spark_pet_RP
restart: unless-stopped
networks:
- mc-network
mya:
image: itzg/minecraft-bedrock-server
container_name: mc-mya
environment:
EULA: "TRUE"
SERVER_NAME: "Mya's World"
GAMEMODE: survival
DIFFICULTY: normal
ALLOW_CHEATS: "true"
ONLINE_MODE: "false"
SERVER_PORT: "19132"
LEVEL_NAME: "Mya World"
MAX_PLAYERS: "10"
DEFAULT_PLAYER_PERMISSION_LEVEL: operator
OP_PERMISSION_LEVEL: "4"
ports:
- "${MYA_PORT:-19135}:19132/udp"
volumes:
- mya-data:/data
- ./hub-return-addon/hub_return_transfer_BP:/data/behavior_packs/hub_return_transfer_BP
- ./addon/spark_pet_BP:/data/behavior_packs/spark_pet_BP
- ./addon/spark_pet_RP:/data/resource_packs/spark_pet_RP
restart: unless-stopped
networks:
- mc-network
volumes:
lobby-data:
jamie-data:
lyla-data:
mya-data:
networks:
mc-network:
driver: bridge