# 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