# IObserverAPI
> Main API interface providing access to all Observer managers and game state control.
`gg.lode.observerapi`
---
## Signature
```java
public interface IObserverAPI
```
---
## Methods
### getGameState
```java
GameState getGameState()
```
Returns the current [[GameState]].
**Returns:** `GameState` - the current game state
---
### setGameState (with source)
```java
void setGameState(Player player, GameState gameState)
```
Sets the game state with a source player. This triggers the `PreGameStateChangeEvent` with the player who triggered it.
| Parameter | Type | Description |
|-----------|------|-------------|
| `player` | `Player` | The player who initiated the state change |
| `gameState` | `GameState` | The target game state |
---
### setGameState
```java
void setGameState(GameState gameState)
```
Sets the game state without triggering the `PreGameStateChangeEvent`.
| Parameter | Type | Description |
|-----------|------|-------------|
| `gameState` | `GameState` | The target game state |
---
### getBaseHealth
```java
double getBaseHealth()
```
**Returns:** `double` - the base health points players start with
---
### setBaseHealth
```java
void setBaseHealth(double baseHealth)
```
| Parameter | Type | Description |
|-----------|------|-------------|
| `baseHealth` | `double` | The new base health |
---
### getLobbyWorld
```java
World getLobbyWorld()
```
**Returns:** `World` - the lobby world
---
### getEventWorld
```java
World getEventWorld()
```
**Returns:** `World` - the event world
---
### getCapsuleManager
```java
ICapsuleManager getCapsuleManager()
```
**Returns:** [[ICapsuleManager]]
---
### getCustomRecipesManager
```java
ICustomRecipesManager getCustomRecipesManager()
```
**Returns:** [[ICustomRecipesManager]]
---
### getDecayManager
```java
IDecayManager getDecayManager()
```
**Returns:** [[IDecayManager]]
---
### getEliminationManager
```java
IEliminationManager getEliminationManager()
```
**Returns:** [[IEliminationManager]]
---
### getLateScatterManager
```java
ILateScatterManager getLateScatterManager()
```
**Returns:** [[ILateScatterManager]]
---
### getLifestealManager
```java
ILifestealManager getLifestealManager()
```
**Returns:** [[ILifestealManager]]
---
### getMechanicsManager
```java
IMechanicsManager getMechanicsManager()
```
**Returns:** [[IMechanicsManager]]
---
### getPedestalManager
```java
IPedestalManager getPedestalManager()
```
**Returns:** [[IPedestalManager]]
---
### getPlayerManager
```java
IPlayerManager getPlayerManager()
```
**Returns:** [[Observer/API/Managers/IPlayerManager]]
---
### getRespawnManager
```java
IRespawnManager getRespawnManager()
```
**Returns:** [[IRespawnManager]]
---
### getTranslationManager
```java
ITranslationManager getTranslationManager()
```
**Returns:** [[ITranslationManager]]
---
### getWorldEventManager
```java
IWorldEventManager getWorldEventManager()
```
**Returns:** [[IWorldEventManager]]
---
### getHelpOpManager
```java
IHelpOpManager getHelpOpManager()
```
**Returns:** [[IHelpOpManager]]
---
### getKitManager
```java
IKitManager getKitManager()
```
**Returns:** [[IKitManager]]
---
## Related Pages
- [[ObserverAPI]]
- [[GameState]]
- [[ICapsuleManager]]
- [[ICustomRecipesManager]]
- [[IDecayManager]]
- [[IEliminationManager]]
- [[ILateScatterManager]]
- [[ILifestealManager]]
- [[IMechanicsManager]]
- [[IPedestalManager]]
- [[Observer/API/Managers/IPlayerManager]]
- [[IRespawnManager]]
- [[ITranslationManager]]
- [[IWorldEventManager]]
- [[IHelpOpManager]]
- [[IKitManager]]