package com.openosrs.client.plugins;

/**
 * Plugin interface.
 */
public interface Plugin {
    /**
     * Called when the plugin is enabled.
     */
    void onEnable(PluginContext context);
    
    /**
     * Called when the plugin is disabled.
     */
    void onDisable();
    
    /**
     * Called when an event occurs.
     */
    default void onEvent(String eventType, Object eventData) {
        // Default implementation does nothing
    }
    
    /**
     * Get plugin metadata.
     */
    PluginMetadata getMetadata();
}