EcoAPI

EcoAPI

Por Zenkun04 18 de enero de 2026
#Desarrollo#EcoAPI#Economía#guía#Hytale#plugins

EcoAPI es una capa de interfaz estandarizada para los sistemas económicos de Hytale.

No se encarga directamente del almacenamiento de dinero o de las transacciones. En su lugar, proporciona un conjunto de métodos e interfaces abstractas que permiten:

  • Plugins de Economía (Proveedores) para implementar su propia lógica bancaria (SQL, JSON, etc.).
  • Plugins de Juego (Consumidores) para interactuar con la economía (tiendas, trabajos, etc.) sin depender de un plugin de economía específico.
  • ❓ ¿Por qué EcoAPI?

    🛠 Para Desarrolladores

    • Desacoplamiento: Escribe tu plugin una vez. Funcionará con cualquier plugin de economía que implemente EcoAPI.
    • Estandarización: Utiliza un conjunto unificado de métodos (getBalance, addBalance, removeBalance, setBalance) independientemente del sistema subyacente.
    • Flexibilidad: Cambia el sistema de economía subyacente sin romper los plugins dependientes.

    🎮 Para Usuarios / Propietarios de Servidores

    • Compatibilidad: Te permite usar un plugin de Tienda del Desarrollador A y un plugin de Banca del Desarrollador B juntos sin problemas.
    • Libertad: No estás atado a un único plugin de economía específico. Puedes cambiar las implementaciones cuando quieras.

    📥 Guía de Instalación (Para Usuarios)

    Nota: EcoAPI no hace nada por sí solo. Necesitas tres cosas para un sistema funcional:

  • EcoAPI (Este plugin).
  • Un Plugin de Implementación (Un plugin que realmente almacena el dinero e “implementa” EcoAPI).
  • Cualquier Plugin Consumidor (Tiendas, Kits, Trabajos, etc.).
  • Pasos:

  • Descarga la última versión desde la página de Releases.
  • Coloca el archivo .jar en la carpeta plugins de tu servidor.
  • Asegúrate de instalar también un plugin de Proveedor de Economía compatible.
  • 💻 Guía de Integración (Para Desarrolladores)

    Dado que EcoAPI aún no está alojado en Maven Central, debes instalarlo en tu repositorio local de Maven para usarlo como dependencia.

    Paso 1: Instalar Localmente

  • Descarga la última versión desde la página de Releases.
  • Publica el artefacto en tu caché local con el siguiente comando (Maven)
  • mvn install:install-file -Dfile=Path/To/EcoAPI.jar -DgroupId=com.dunystudios.hytale.plugins -DartifactId=EcoAPI -Dversion=1.0-SNAPSHOT -Dpackaging=jar
    

    Paso 2: Añadir Dependencia

    Agrega EcoAPI a tu proyecto.

    <dependencies>
        <dependency>
            <groupId>com.dunystudios.hytale.plugins</groupId>
            <artifactId>EcoAPI</artifactId>
            <version>1.0-SNAPSHOT</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>
    

    Paso 3: Ejemplos de Uso

  • Usando la Economía (Consumidor)
    Si estás creando un plugin de Tienda o Trabajo, utiliza la API para modificar los saldos:
  • // Obtener el plugin de economía
    IEcoAPI economy = IEcoAPI.Service.getInstance();
    
    // Obtener el saldo de un jugador
    float balance = economy.getBalance(uuid);
    
    // Añadir 10 al saldo de un jugador
    economy.addBalance(uuid, 10);
    
    // Quitar 10 del saldo de un jugador
    economy.removeBalance(uuid, 10);
    
    // Establecer 10 como saldo de un jugador
    economy.setBalance(uuid, 10);
    
  • Proporcionando la Economía (Implementador)
    Si estás creando un plugin de Economía, debes implementar la interfaz y registrarla.
  • Clase principal:

    
    public class MyEconomyPlugin extends JavaPlugin {
        private final Economy economy;
    
        public MyEconomyPlugin() {
            this.economy = new Economy();
        }
    
        @Override
        protected void setup() {
            IEcoAPI.Service.setInstance(economy);
        }
    
    }
    

    Clase Economy:

    public class Economy implements IEcoAPI {
    
        @Override
        public float getBalance(UUID uuid) {
            // Tu lógica
            return 0;
        }
    
        @Override
        public void addBalance(UUID uuid, float v) {
            // Tu lógica
        }
    
        @Override
        public void removeBalance(UUID uuid, float v) {
            // Tu lógica
        }
    
        @Override
        public void setBalance(UUID uuid, float v) {
            // Tu lógica
        }
    }
    

    Relacionados:

    Laugh Tale

    Laugh Tale

    #Desarrollo#Hytale#Mod

    ¡Un mod de Hytale en desarrollo que busca llevar el mundo de One Piece a Hytale! ¿Qué hay en el mod?: Yoru Griphon Murak...

    Synapse

    Synapse

    #API#Desarrollo#Hytale

    Synapse v1.3.0 — API moderna de marcadores de posición (¡Ahora con soporte para Hytale!) Synapse es un poderoso y modern...

    Mining Drills

    Mining Drills

    #Desarrollo#Hytale#Minería

    ⛏️ Mod de Taladros Este mod introduce un conjunto de taladros de minería diseñados para mejorar enormemente la experienc...

    Lalyan Cosmetic Core

    Lalyan Cosmetic Core

    #Cosméticos#Desarrollo#gaming

    Lalyan Cosmetic Core Una API para registrar y personalizar cosméticos sin utilizar los espacios de armadura. :warning: A...

    AntiWorkbenchDetectChest

    AntiWorkbenchDetectChest

    #AntiWorkbenchDetectChest#Desarrollo#gaming

    Plugin temprano que desactiva los bancos de trabajo para que no tomen materiales de cofres cercanos. ¡Útil al usar plugi...