caduceus

⭐ 0 Stars
šŸ“ 0 Forks
šŸ›  Java
šŸ•’ 1/3/2026

Caduceus is a Minecraft plugin that uses our Hermes backend to communicate

corehttpjavaspigot

I will create a comprehensive README.md file for the Caduceus project, detailing its purpose, architecture (Spigot plugin with an API layer), and key features like dependency injection, HTTP integration, and user management.

# Caduceus

Caduceus is a sophisticated Minecraft Spigot plugin designed with a robust modular architecture. It leverages dependency injection and a dedicated API layer to manage user statistics, synchronization, and remote HTTP interactions efficiently.

## šŸš€ Features

— **Modular Architecture**: Split into `api` and `plugin` modules for better separation of concerns and reusability.
— **Dependency Injection**: Utilizes `unnamed-inject` for clean, maintainable, and testable code.
- **HTTP Integration**: Built-in support for remote API communication, including
  - Authentication via Interceptors.
  - JWT/Security Token management (Creation, Validation, Updating).
  — Retrofit-style request patterns.
- **User Management**:
— Remote user loading and creation.
  – Synchronization between local and remote data.
  – Comprehensive user statistics and economy tracking.
- **Translation System**: Support for localized messages.
- **Configurable**: Easy configuration via YAML files.

## šŸ› ļø Project Structure

- `api/`: Contains the core interfaces, models, and logic for HTTP communication, user data structures, and services.
- `plugin/`: The Spigot implementation, handling Bukkit events, commands, and plugin lifecycle management.

## šŸ“‹ Requirements

— Java 8
— A Spigot/Paper Minecraft server
– Gradle for building the project.

## šŸ”§ Installation & Setup

1. **Clone the repository**:
   ```bash
   git clone https://github.com/alexissdev/caduceus.git
   cd caduceus
  1. Build the project:

    ./gradlew clean shadowJar
    

    The compiled JAR will be located in plugin/build/libs/.

  2. Deploy: Place the generated caduceus-plugin.jar into your server's plugins folder.

  3. Configuration: Upon first run, the plugin will generate a http.yml file. Configure your API credentials and endpoints there.

šŸ’» Technical Details

The project uses several modern libraries and patterns:

  • Injection: team.unnamed:inject
  • Networking: OkHttp / Custom HTTP Layer
  • JSON: Gson
  • Commands: team.unnamed.command

šŸ¤ Contributing

Contributions are welcome! Please feel free to submit a Pull Request or open an issue for any bugs or feature requests.

šŸ“„ License

MIT LICENCES