Floodgate has an API to extend what is possible and allow servers to get information about the Bedrock client. It also allows other plugins access to Cumulus

This page will contain information about class FloodgateApi.
See the sidebar for more information about other parts of the API.

Accessing the Floodgate API

See here for how to include the Floodgate API in your project.

The Floodgate API has changed in Floodgate 2.0. The most important change is that the API methods are no longer static and instead instance-based, as shown below.

The class FloodgateApi is the base class of the API and you need to use it to access any part of the API.
To access it, you simply type:

FloodgateApi.getInstance();

After you got the instance, you have access to all the methods.
Use the documentation in the API module to see (and get info about) every single method available.
Most API methods have a simple explanation.

We’ll highlight a few to get you started quickly:

FloodgateApi#isFloodgatePlayer(UUID)
Used to check if the given UUID of an online player is a Bedrock player.

FloodgateApi#getPlayer(UUID)
Used to get the FloodgatePlayer instance of an online player.
Click here to get more information about the FloodgatePlayer class.

Note: You don’t need to wait until the Bedrock player is online to use the getPlayer and isFloodgatePlayer methods.
You can even use them in the pre-login events.

FloodgateApi#getPlayerLink()
Used to get the PlayerLink instance used by Floodgate to check for linked accounts.
Click here to get more information about the PlayerLink class

FloodgateApi#sendForm(UUID, Form(Builder))
Used to send a form to the Bedrock player with the given UUID.
Click here to get more information about Forms.

Using the API on backend servers

In order to successfully use the API on backend Spigot servers when using a proxy, send-floodgate-data must be set to true on the proxy Floodgate’s config, and the key.pem file must be identical between all Floodgate instances.