# 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