# ICapsuleManager > Manages capsules, their locations, and player assignments. `gg.lode.observerapi.api.manager` --- ## Signature ```java public interface ICapsuleManager ``` --- ## Methods ### setCapsules ```java void setCapsules(List<Capsule> capsules) ``` Sets the full list of capsules. | Parameter | Type | Description | |-----------|------|-------------| | `capsules` | `List<Capsule>` | The capsules to set | --- ### setCapsuleLocations ```java void setCapsuleLocations(List<Location> locations) ``` Sets capsule locations. Creates new capsules at the given locations. | Parameter | Type | Description | |-----------|------|-------------| | `locations` | `List<Location>` | The locations for capsules | --- ### setCapsuleType ```java void setCapsuleType(CapsuleType type) ``` | Parameter | Type | Description | |-----------|------|-------------| | `type` | `CapsuleType` | The capsule grouping type | --- ### hasCapsule ```java boolean hasCapsule(Player player) ``` | Parameter | Type | Description | |-----------|------|-------------| | `player` | `Player` | The player to check | **Returns:** `boolean` - `true` if the player is assigned to a capsule --- ### getCapsuleType ```java CapsuleType getCapsuleType() ``` **Returns:** [[CapsuleType]] - the current capsule type --- ### getCapsules ```java List<Capsule> getCapsules() ``` **Returns:** `List<Capsule>` - all capsules --- ### removePlayerFromCapsule ```java void removePlayerFromCapsule(Player player) ``` Removes a player from their assigned capsule. | Parameter | Type | Description | |-----------|------|-------------| | `player` | `Player` | The player to remove | --- ### sendPlayersToCapsules ```java void sendPlayersToCapsules(@Nullable Player executor) ``` Sends all players to their assigned capsules. | Parameter | Type | Description | |-----------|------|-------------| | `executor` | `@Nullable Player` | The player who triggered the action, or `null` | --- ### release ```java void release() ``` Releases all players from their capsules. --- ### save ```java void save() ``` Persists capsule data to storage. --- ### swapCapsules ```java void swapCapsules(Player player1, Player player2) ``` Swaps the capsule assignments of two players. | Parameter | Type | Description | |-----------|------|-------------| | `player1` | `Player` | The first player | | `player2` | `Player` | The second player | --- ### reload ```java void reload() ``` Reloads capsule data from storage. --- ### sendPlayerToCapsule ```java void sendPlayerToCapsule(Player player, Capsule capsule) ``` Sends a specific player to a specific capsule. | Parameter | Type | Description | |-----------|------|-------------| | `player` | `Player` | The player to send | | `capsule` | `Capsule` | The target capsule | --- ## Related Pages - [[Capsule]] - [[CapsuleType]] - [[PlayerAssignedToCapsuleEvent]] - [[PlayerSwapCapsulesEvent]]