# VirtualPlayers API

The VirtualPlayers API can be accessed through the **[VirtualPlayers](https://github.com/BattlePlugins/VirtualPlayers/blob/master/api/src/main/java/org/battleplugins/virtualplayers/api/VirtualPlayers.java)** class, by calling **VirtualPlayers.api().**

A **[VirtualPlayer](https://github.com/BattlePlugins/VirtualPlayers/blob/master/api/src/main/java/org/battleplugins/virtualplayers/api/VirtualPlayer.java)** can be created using the **createVirtualPlayer(String)** method. A **[VirtualPlayer](https://github.com/BattlePlugins/VirtualPlayers/blob/master/api/src/main/java/org/battleplugins/virtualplayers/api/VirtualPlayer.java)** extends Bukkit's **Player** class, meaning all functions available to a normal **Player** will be available here. Keep in mind that some methods may not work as intended, since a [**VirtualPlayer**](https://github.com/BattlePlugins/VirtualPlayers/blob/master/api/src/main/java/org/battleplugins/virtualplayers/api/VirtualPlayer.java) is.. well... a virtual player at the end of the day, so functionality like sending block changes or adding them as a passenger to an entity will not work.

Within the [**VirtualPlayer**](https://github.com/BattlePlugins/VirtualPlayers/blob/master/api/src/main/java/org/battleplugins/virtualplayers/api/VirtualPlayer.java) class, you can also run **addObserver(CommandSender)** to observe a virtual player. You can also get a list of all observers by running **getObservers()**.

VirtualPlayers can be removed using the **removeVirtualPlayer([VirtualPlayer](https://github.com/BattlePlugins/VirtualPlayers/blob/master/api/src/main/java/org/battleplugins/virtualplayers/api/VirtualPlayer.java))** method in the **[VirtualPlayers](https://github.com/BattlePlugins/VirtualPlayers/blob/master/api/src/main/java/org/battleplugins/virtualplayers/api/VirtualPlayers.java)** API class. You can also retrieve a [**VirtualPlayer**](https://github.com/BattlePlugins/VirtualPlayers/blob/master/api/src/main/java/org/battleplugins/virtualplayers/api/VirtualPlayer.java) by calling **getVirtualPlayer(String)**, taking in the name of the [**VirtualPlayer**](https://github.com/BattlePlugins/VirtualPlayers/blob/master/api/src/main/java/org/battleplugins/virtualplayers/api/VirtualPlayer.java).

For a full list of methods and classes offered by the API, see the VirtualPlayers [**Javadocs**](https://repo.battleplugins.org/javadoc/releases/org/battleplugins/virtualplayers/api/3.0.0).