# IPedestalManager
> Manages pedestal crafting stations.
`gg.lode.observerapi.api.manager`
---
## Signature
```java
public interface IPedestalManager
```
---
## Methods
### getPedestals
```java
Map<String, PedestalData> getPedestals()
```
**Returns:** `Map<String, PedestalData>` - all registered pedestals mapped by ID
---
### getPedestal
```java
PedestalData getPedestal(String id)
```
| Parameter | Type | Description |
|-----------|------|-------------|
| `id` | `String` | The pedestal identifier |
**Returns:** [[PedestalData]] - the pedestal data
---
### register
```java
void register(String id, PedestalData data)
```
Registers a new pedestal.
| Parameter | Type | Description |
|-----------|------|-------------|
| `id` | `String` | The unique identifier |
| `data` | `PedestalData` | The pedestal data |
---
### unregister
```java
boolean unregister(String id)
```
Unregisters a pedestal.
| Parameter | Type | Description |
|-----------|------|-------------|
| `id` | `String` | The pedestal identifier |
**Returns:** `boolean` - `true` if the pedestal was removed
---
### clone
```java
void clone(String pedestalId, String newPedestalId, Location location)
```
Clones a pedestal to a new location with a new ID.
| Parameter | Type | Description |
|-----------|------|-------------|
| `pedestalId` | `String` | The source pedestal ID |
| `newPedestalId` | `String` | The new pedestal ID |
| `location` | `Location` | The new location |
---
### setPedestalUses
```java
void setPedestalUses(String id, UUID player, int uses)
```
Sets the number of uses a player has on a pedestal.
| Parameter | Type | Description |
|-----------|------|-------------|
| `id` | `String` | The pedestal identifier |
| `player` | `UUID` | The player UUID |
| `uses` | `int` | The number of uses |
---
### showPedestalToPlayer
```java
void showPedestalToPlayer(String id, UUID player)
```
Makes a pedestal visible to a player.
| Parameter | Type | Description |
|-----------|------|-------------|
| `id` | `String` | The pedestal identifier |
| `player` | `UUID` | The player UUID |
---
### hidePedestalFromPlayer
```java
void hidePedestalFromPlayer(String id, UUID player)
```
Hides a pedestal from a player.
| Parameter | Type | Description |
|-----------|------|-------------|
| `id` | `String` | The pedestal identifier |
| `player` | `UUID` | The player UUID |
---
### reload
```java
void reload()
```
Reloads pedestal data from storage.
---
### save
```java
void save()
```
Persists pedestal data to storage.
---
### clear
```java
void clear()
```
Removes all registered pedestals.
---
## Related Pages
- [[PedestalData]]
- [[PedestalType]]
- [[IPedestalHologram]]
- [[PedestalCraftEvent]]
- [[PedestalLoadEvent]]
- [[PrePedestalCraftEvent]]