package com.tiedup.remake.entities.master.components;

/**
 * Host interface for MasterStateManager callbacks.
 * Provides access to entity information needed for state management and distraction mechanics.
 */
public interface IMasterStateHost {
    /**
     * Get the name of this master for logging purposes.
     *
     * @return The master's name
     */
    String getNpcName();

    /**
     * Get the current game tick for timing calculations.
     *
     * @return Current tick count
     */
    long getCurrentTick();

    /**
     * Called when the master becomes distracted.
     */
    void onDistracted();

    /**
     * Called when the master stops being distracted.
     */
    void onDistractionEnd();

    /**
     * Called when the master detects a struggle attempt.
     */
    void onStruggleDetected();
}
