Ir para o conteúdo

Interaction - Clase Base

La clase Interaction es la base abstracta para todas las interacciones en Hytale.

Ubicación: com.hypixel.hytale.server.core.modules.interaction.interaction.config.Interaction.java

Estructura

public abstract class Interaction implements Operation {
    protected String id;
    protected float runTime;
    protected InteractionEffects effects;
    protected float horizontalSpeedMultiplier = 1.0f;
    protected boolean cancelOnItemChange = true;
    protected Map<GameMode, InteractionSettings> settings;
    protected InteractionRules rules;
    @Nullable
    protected InteractionCameraSettings camera;
}

Métodos Abstractos

tick0

Ejecuta la lógica de la interacción en el servidor.

protected abstract void tick0(
    boolean firstRun,      // ¿Primera ejecución?
    float time,            // Tiempo transcurrido
    InteractionType type,  // Tipo de interacción
    InteractionContext context,  // Contexto
    CooldownHandler cooldownHandler  // Gestor de cooldowns
);

simulateTick0

Versión simulada para predicción del cliente.

protected abstract void simulateTick0(
    boolean firstRun,
    float time,
    InteractionType type,
    InteractionContext context,
    CooldownHandler cooldownHandler
);

Propiedades

runTime

Duración en segundos de la interacción.

interaction.runTime = 2.5f;  // 2.5 segundos

effects

Efectos visuales y de sonido.

interaction.effects = new InteractionEffects();
interaction.effects.itemAnimationId = "swing";
interaction.effects.waitForAnimationToFinish = true;

horizontalSpeedMultiplier

Multiplicador de velocidad horizontal durante la interacción.

interaction.horizontalSpeedMultiplier = 0.5f;  // 50% velocidad

cancelOnItemChange

Si cancelar cuando cambia el item.

interaction.cancelOnItemChange = true;  // Cancelar si cambia

Ver También