Interfaz FeatherElectionAPI

package me.leo_s.featheredelection.api;

import me.leo_s.featheredelection.objects.trigger.Trigger;
import me.leo_s.featheredelection.objects.trigger.TriggerData;
import org.bukkit.entity.Player;

/**
 * La interfaz FeatherElectionAPI proporciona métodos para interactuar con el sistema de efectos y desencadenadores de FeatheredElection.
 */
public interface FeatherElectionAPI {

    /**
     * Fuerza la ejecución de un efecto en un jugador específico.
     *
     * @param effectId Identificador único del efecto que se ejecutará.
     * @param player   El jugador en el que se ejecutará el efecto.
     * @return `true` si la ejecución del efecto fue exitosa, `false` en caso contrario.
     */
    boolean forceExecuteEffect(String effectId, Player player);

    /**
     * Fuerza la ejecución de un efecto en un jugador específico con datos adicionales proporcionados.
     *
     * @param effectId Identificador único del efecto que se ejecutará.
     * @param player   El jugador en el que se ejecutará el efecto.
     * @param data     Datos adicionales que se proporcionarán al ejecutar el efecto.
     * @return `true` si la ejecución del efecto fue exitosa, `false` en caso contrario.
     */
    boolean forceExecuteEffect(String effectId, Player player, TriggerData data);

    /**
     * Registra un nuevo desencadenador de efecto en el sistema.
     *
     * @param trigger El desencadenador de efecto que se registrará.
     * @return `true` si el registro fue exitoso, `false` en caso contrario.
     */
    boolean registerNewTriggerEffect(Trigger trigger);
}

La interfaz FeatherElectionAPI proporciona métodos para interactuar con el sistema de efectos y desencadenadores de FeatheredElection, un plugin de Minecraft. Está diseñada para ofrecer una interfaz clara y consistente para que los desarrolladores integren y utilicen las funciones proporcionadas por FeatheredElection. A continuación, se detalla cada uno de los métodos de la interfaz:

Método forceExecuteEffect(String effectId, Player player)

Este método fuerza la ejecución de un efecto específico en un jugador particular.

  • Parámetros:

    • effectId: Identificador único del efecto que se ejecutará.

    • player: El jugador en el que se ejecutará el efecto.

  • Retorno:

    • true si la ejecución del efecto fue exitosa.

    • false en caso contrario.

Método forceExecuteEffect(String effectId, Player player, TriggerData data)

Este método amplía la funcionalidad de forceExecuteEffect al permitir la provisión de datos adicionales para la ejecución del efecto.

  • Parámetros:

    • effectId: Identificador único del efecto que se ejecutará.

    • player: El jugador en el que se ejecutará el efecto.

    • data: Datos adicionales que se proporcionarán al ejecutar el efecto.

  • Retorno:

    • true si la ejecución del efecto fue exitosa.

    • false en caso contrario.

Método registerNewTriggerEffect(Trigger trigger)

Este método registra un nuevo desencadenador de efecto en el sistema.

  • Parámetros:

    • trigger: El desencadenador de efecto que se registrará.

  • Retorno:

    • true si el registro fue exitoso.

    • false en caso contrario.

Last updated