# CobbleSync
Sync your Pokémon between servers!
--- ## 📖 Description CobbleSync is a Fabric mod for [Cobblemon](https://cobblemon.com/) that allows players to sync their Pokémon across different servers. Upload your Pokémon from one server and download them on another! ## ✨ Features - **GUI Interface** - Easy-to-use graphical interface accessible with a keybind - **Command Support** - Full command-line control for advanced users - **Cross-Server Sync** - Transfer Pokémon between different Cobblemon servers - **Safe Transfers** - Loads Pokémon to empty slots without overwriting existing ones ## 🎮 How to Use ### GUI Method (Recommended) 1. Press **U** (default keybind) to open the CobbleSync GUI 2. Click **"⬆ Sync Box 30"** to upload Pokémon from Box 30 3. On another server, click **"⬇ Load Pokémon"** to download your Pokémon to empty slots ### Command Method | Command | Description | |---------|-------------| | `/cobblesync sync` | Upload Pokémon from Box 30 to the cloud | | `/cobblesync load` | Download Pokémon to empty PC slots | ## ⚠️ Important Notes - **Sync (Upload)**: Uses **Box 30** - Maximum of 12 Pokémon - **Load (Download)**: Adds Pokémon to **empty slots** across all PC boxes (won't overwrite existing Pokémon) - The keybind can be changed in Minecraft's Controls settings under "CobbleSync" ## 📦 Installation ### Requirements - Minecraft **1.21.1** - [Fabric Loader](https://fabricmc.net/) **0.16.14+** - [Fabric API](https://modrinth.com/mod/fabric-api) - [Fabric Language Kotlin](https://modrinth.com/mod/fabric-language-kotlin) - [Cobblemon](https://cobblemon.com/) **1.7.2+** ### Steps 1. Download the latest release from the [Releases](https://git.sirblob.co/GMMC/Cobblesync/releases) page 2. Place the `.jar` file in your `mods` folder 3. Make sure all dependencies are installed 4. Launch Minecraft with Fabric ## 🛠️ Building from Source ```bash # Clone the repository git clone https://git.sirblob.co/GMMC/Cobblesync.git cd Cobblesync # Build the mod ./gradlew build # The compiled JAR will be in build/libs/ ``` ## 📁 Project Structure ``` src/ ├── client/kotlin/co/sirblob/ │ ├── CobbleSyncClient.kt # Client entry point │ ├── gui/ │ │ └── CobbleSyncScreen.kt # GUI implementation │ └── network/ │ └── ClientPacketHandler.kt ├── main/kotlin/co/sirblob/ │ ├── CobbleSync.kt # Main mod entry point │ ├── Request.kt # HTTP client │ ├── HTTPException.kt │ └── network/ │ ├── CobbleSyncPackets.kt # Network packet definitions │ └── ServerPacketHandler.kt └── main/resources/ ├── fabric.mod.json └── assets/cobblesync/ ├── icon.png └── lang/en_us.json ``` ## 🔧 Configuration The keybind for opening the GUI can be configured in: **Options → Controls → Key Binds → CobbleSync → Open CobbleSync** Default: `U` ## 📝 License This project is licensed under the [CC0-1.0 License](LICENSE). ## 👤 Author **Sir_Blob_** ---Made with ❤️ for the GMMC