# ILecternAPI
> Main API interface for interacting with Lectern's effect system.
`gg.lode.lecternapi.ILecternAPI`
---
## Signature
```java
public interface ILecternAPI
```
---
## Methods
### getCameraManager
```java
ICameraManager getCameraManager()
```
Returns the camera effects manager for controlling camera position, rotation, FOV, screenshake, and perspective.
**Returns:** `ICameraManager`: The camera manager instance.
---
### getHUDManager
```java
IHUDManager getHUDManager()
```
Returns the HUD rendering manager for displaying textures, heads, buttons, letterboxing, and GUI scale.
**Returns:** `IHUDManager`: The HUD manager instance.
---
### getAudioManager
```java
IAudioManager getAudioManager()
```
Returns the audio effects manager for playing sounds and block-break sound overrides.
**Returns:** `IAudioManager`: The audio manager instance.
---
### getEnvironmentManager
```java
IEnvironmentManager getEnvironmentManager()
```
Returns the environment effects manager for controlling fog, sky, moon colors, true darkness, and dense fog.
**Returns:** `IEnvironmentManager`: The environment manager instance.
---
### getEntityManager
```java
IEntityManager getEntityManager()
```
Returns the entity effects manager for custom capes, skins, nametags, tints, visibility, emotes, and model attachments.
**Returns:** `IEntityManager`: The entity manager instance.
---
### getInputManager
```java
IInputManager getInputManager()
```
Returns the input effects manager for disabling, inverting, and controlling keybinds, hitboxes, and head locking.
**Returns:** `IInputManager`: The input manager instance.
---
### getScreenManager
```java
IScreenManager getScreenManager()
```
Returns the screen effects manager for flash overlays, xray, shaders, modal prompts, and prevent-disconnect.
**Returns:** `IScreenManager`: The screen manager instance.
---
### getPacketMenuManager
```java
IPacketMenuManager getPacketMenuManager()
```
Returns the packet menu manager for opening, closing, and tracking interactive screen menus.
**Returns:** `IPacketMenuManager`: The packet menu manager instance.
---
### getPacketComponentManager
```java
IPacketComponentManager getPacketComponentManager()
```
Returns the packet component manager for showing, hiding, and ticking composable HUD components.
**Returns:** `IPacketComponentManager`: The packet component manager instance.
---
### getEmoteManager
```java
IEmoteManager getEmoteManager()
```
Returns the emote manager for playing emote animations on entities with targeted, local, broadcast, or collection-based viewer targeting.
**Returns:** `IEmoteManager`: The emote manager instance.
---
### getVoiceChatManager
```java
IVoiceChatManager getVoiceChatManager()
```
Returns the voice chat manager for controlling player mute/deafen state in Simple Voice Chat.
**Returns:** `IVoiceChatManager`: The voice chat manager instance.
---
### getCutsceneManager
```java
ICutsceneManager getCutsceneManager()
```
Returns the cutscene manager for playing, pausing, resuming, and stopping scripted cutscene sequences.
**Returns:** `ICutsceneManager`: The cutscene manager instance.
### getPingManager
```java
IPingManager getPingManager()
```
Returns the ping manager for world-space ping markers and sound visualization pings.
**Returns:** `IPingManager`: The ping manager instance.
---
### getShapeshiftManager
```java
IShapeshiftManager getShapeshiftManager()
```
**Returns:** `IShapeshiftManager`: Client-side disguises: render a player as any mob (with variants) or as a block/blockstate, per viewer.
---
### getSharedControlManager
```java
ISharedControlManager getSharedControlManager()
```
**Returns:** `ISharedControlManager`: Shared control sessions: split a player's seven input aspects (move, jump, sneak, look, attack, use, craft) across other players.
---
### getNicknameManager
```java
INicknameManager getNicknameManager()
```
**Returns:** `INicknameManager`: Client-rendered nicknames: per-viewer name replacement across tab, nametag, chat and suggestions, with optional scrambled UUID.
---
### resetAllEffects
```java
void resetAllEffects(Player player)
```
Resets all active effects for a player, sending the appropriate stop/clear packets
to the client and clearing all tracked effect state.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | the player to reset |
---
### disconnectPlayer
```java
void disconnectPlayer(Player player, @Nullable Component reason)
```
Disconnects a player cleanly from the server via a client-side disconnect packet.
The player returns to the multiplayer screen or title screen with the provided reason message.
This is distinct from kicking via the vanilla protocol: the client initiates the disconnect
itself rather than the server forcing it, allowing the client to tear down its world and
Lectern state gracefully before showing the disconnect screen.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | the player to disconnect |
| `reason` | `Component` | an optional disconnect reason to display on the client's disconnect screen. If null, a default message is shown on the client. |
---
### getHiddenOverlayManager
```java
IHiddenOverlayManager getHiddenOverlayManager()
```
---
### getInputTelemetryManager
```java
IInputTelemetryManager getInputTelemetryManager()
```
Raw input reporting for anti-cheat consumers. Off for every player by default.
answers, and does nothing.
---
### getLayoutManager
```java
ILayoutManager getLayoutManager()
```
Pages authored in the Lectern UI editor, loaded from `plugins/Lectern/layouts`,
opened with their own behaviour, and bound to their own actions.
---
### getFlareManager
```java
IFlareManager getFlareManager()
```
---
### getAuraManager
```java
IAuraManager getAuraManager()
```
---
### getUIManager
```java
IUIManager getUIManager()
```
---
### getImpactFrameManager
```java
IImpactFrameManager getImpactFrameManager()
```
---
### getExplosionManager
```java
IExplosionManager getExplosionManager()
```
---
### getSkyboxManager
```java
ISkyboxManager getSkyboxManager()
```
---
### getParticleManager
```java
IParticleManager getParticleManager()
```
---
### getEffekManager
```java
IEffekManager getEffekManager()
```
Effekseer particle effects, authored `.efkefc` VFX played on the client.
---
### getTabListManager
```java
ITabListManager getTabListManager()
```
Per-viewer tab-list prefixes, suffixes and sorting.
---
## Related Pages
- [[LecternAPI]]. Static accessor for this interface
- [[ICameraManager]]. Camera effects
- [[IHUDManager]]. HUD rendering effects
- [[IAudioManager]]. Audio effects
- [[IEnvironmentManager]]. Environment effects
- [[IEntityManager]]. Entity effects
- [[IInputManager]]. Input effects
- [[IScreenManager]]. Screen effects
- [[IPacketMenuManager]]. Packet menu management
- [[IPacketComponentManager]]. Packet component management
- [[IEmoteManager]]. Emote playback
- [[IVoiceChatManager]]. Voice chat control
- [[ICutsceneManager]]. Cutscene playback
- [[IPingManager]]. Ping effects
- [[IShapeshiftManager]]. Client-side mob/block disguises
- [[ISharedControlManager]]. Player control splitting
- [[INicknameManager]]. Client-rendered nicknames