# IBarrierAPI
> Main API interface for interacting with the Barrier world border system.
`gg.lode.barrierapi.IBarrierAPI`
---
## Signature
```java
public interface IBarrierAPI
```
---
## Methods
### getStorm
```java
IStorm getStorm(World world)
```
Retrieves the storm (world border) for the given world. When the storm is in `GLOBAL` affect mode (the default), this is the single shared border — mutating it affects every player in the world.
| Parameter | Type | Description |
|---|---|---|
| `world` | `World` | The Bukkit world. |
**Returns:** `IStorm` — The storm instance for that world.
---
### getStorm (player-scoped)
```java
IStorm getStorm(Player player)
```
Retrieves a **player-scoped** view of the storm in the player's current world.
- When the storm is in `PER_PLAYER` affect mode, the returned `IStorm` reads and writes **only that player's** border (seeded from the world's border on first access), so mutations affect only this player.
- When the storm is in `GLOBAL` affect mode, the returned view writes through to the shared border, preserving legacy behavior.
Added in API `1.0.4`. Set the mode with [[IStorm#Affect Mode|`IStorm.setAffectMode(...)`]] or `/worldborder affect PER_PLAYER`.
| Parameter | Type | Description |
|---|---|---|
| `player` | `Player` | The player whose border view to resolve. |
**Returns:** `IStorm` — A player-scoped storm view.
---
## Related Pages
- [[BarrierAPI]] — Static accessor for this interface
- [[IStorm]] — The storm/border object
- [[StormType]] — Storm shape types
- [[AffectMode]] — Global vs per-player border modes