> ## Documentation Index
> Fetch the complete documentation index at: https://ember.carr.sh/llms.txt
> Use this file to discover all available pages before exploring further.

# Ember

> The Ember interface, the API entry point.

**Since** `v0.1.0-alpha.1`

```kotlin theme={null}
package sh.carr.ember

interface Ember {
    val version: Version

    companion object {
        @JvmStatic
        val instance: Ember
    }
}
```

`Ember` is the entry point to the API. It's registered as a Bukkit service by the plugin at startup, so any plugin loaded after Ember can resolve it.

## Members

### `version: Version`

The running plugin version, as a [`Version`](/developers/api-reference/version).

```kotlin theme={null}
val running = Ember.instance.version
```

### `Ember.instance` (companion)

A convenience accessor that resolves the registered service.

<CodeGroup>
  ```kotlin Kotlin theme={null}
  val ember = Ember.instance
  ```

  ```java Java theme={null}
  Ember ember = Ember.getInstance();
  ```
</CodeGroup>

Internally, this calls `Bukkit.getServer().getServicesManager().getRegistration(Ember.class).getProvider()`. It throws if Ember isn't loaded. Declare Ember as a [required dependency](/developers/quickstart#declare-ember-as-a-dependency) of your plugin so the lookup is always safe.

## Example: log the running version

```kotlin theme={null}
import sh.carr.ember.Ember
import org.bukkit.plugin.java.JavaPlugin

class MyPlugin : JavaPlugin() {
    override fun onEnable() {
        logger.info("Integrating with Ember ${Ember.instance.version}")
    }
}
```
