# IPacketComponentManager > Manages the lifecycle of PacketComponent instances — showing, hiding, and ticking components for individual players. `gg.lode.lecternapi.api.manager.IPacketComponentManager` --- ## Signature ```java public interface IPacketComponentManager ``` --- ## Methods ### show ```java void show(Player player, PacketComponent component) ``` Shows a component to the player, sending all element ADD packets. If a component with the same ID is already shown, it is hidden first. Components with tickable elements are automatically registered in the tick loop. | Parameter | Type | Description | |---|---|---| | `player` | `Player` | The target player. | | `component` | `PacketComponent` | The component to show. | --- ### hide ```java void hide(Player player, String componentId) ``` Hides a specific component by ID, sending all element REMOVE packets and unregistering it from the tick loop. | Parameter | Type | Description | |---|---|---| | `player` | `Player` | The target player. | | `componentId` | `String` | The ID of the component to hide. | --- ### hideAll ```java void hideAll(Player player) ``` Hides all components for the player. | Parameter | Type | Description | |---|---|---| | `player` | `Player` | The target player. | --- ### getComponent ```java @Nullable PacketComponent getComponent(Player player, String componentId) ``` Returns the active component with the given ID for the player, or `null` if none exists. | Parameter | Type | Description | |---|---|---| | `player` | `Player` | The target player. | | `componentId` | `String` | The component ID. | **Returns:** `PacketComponent` — The active component, or `null`. --- ## Related Pages - [[ILecternAPI]] — Access via `getPacketComponentManager()` - [[PacketComponent]] — Component base class - [[ElementData]] — Element data types