Files
GeyserWebsite/_docs/floodgate/api.md
T
2f8c69185f API & extension docs & Geyser system property docs (#159)
* initial start on api docs

* oops

* oops #2

* oops #3

* move global api info to global-api.md page, fix typo

* Initial setup page

* the extensions template and list is now in the geysermc org

* add fabric event subscribe example

* fix outdated naming

* the extensions template and list is now in the geysermc org, and therefore official

* spigot/paper plugin geyser-api docs

* minor tweaks

* the setup guide should be in a separate PR, oops

* Updated docs for resource packs PR

* document system properties

* Apply suggestions from code review

Co-authored-by: Redned <redned235@gmail.com>

* move and shuffle pages, address review

* -DGeyser.BedrockNetworkThreads exists too, apparently

* turn notes into banners

* be more specific to indicate this to be advanced stuff

* adjust texts & address camotoy's review

* nms good dont disable

* add chapter on event priorities

* remove whitespace

* main instead of maven-snapshots; floodgate-api 2.2.2

* Move around pages in toc.yml, no need to fully copy event priorities

* Apply suggestions from code review

Co-authored-by: Tim203 <mctim203@gmail.com>

* apply command suggestion

Co-authored-by: Tim203 <mctim203@gmail.com>

* reduce command comments

* specify that this is the Geyser API

* Apply suggestions from code review

Co-authored-by: Redned <redned235@gmail.com>

* dont repeat that the bulk of code would go into a post init event; we already say that

* adress review

* extensions currently target Base API version

---------

Co-authored-by: JensC <jenscollaertyprive@hotmail.com>
Co-authored-by: Redned <redned235@gmail.com>
Co-authored-by: Tim203 <mctim203@gmail.com>
2023-07-09 10:49:13 -05:00

51 lines
2.5 KiB
Markdown

---
title: Floodgate API
---
### 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](/geyser/forms/)
This page will contain information about class FloodgateApi.<br>
See the sidebar for more information about other parts of the API.
### Accessing the Floodgate API
See [here](/geyser/getting-started-with-the-api) 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.<br>
To access it, you simply type:
```java
FloodgateApi.getInstance();
```
After you got the instance, you have access to all the methods.<br>
Use the documentation in the API module to see (and get info about) every single method available.
Most [API methods have a simple explanation](https://github.com/GeyserMC/Floodgate/tree/master/api/src/main/java/org/geysermc/floodgate/api).
<div class="alert alert-info" role="alert">
Note: To see full, detailed documentation, see the <a href="https://repo.opencollab.dev/javadoc/maven-snapshots/org/geysermc/floodgate/api/2.2.2-SNAPSHOT">javadocs</a>.
</div>
#### We'll highlight a few to get you started quickly:
`FloodgateApi#isFloodgatePlayer(UUID)`<br>
Used to check if the given UUID of an **online** player is a Bedrock player.
`FloodgateApi#getPlayer(UUID)`<br>
Used to get the FloodgatePlayer instance of an **online** player.<br>
Click [here](/floodgate/player/) 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.<br>
You can even use them in the pre-login events.
`FloodgateApi#getPlayerLink()`<br>
Used to get the PlayerLink instance used by Floodgate to check for linked accounts.<br>
Click [here](/floodgate/linking/) to get more information about the PlayerLink class
`FloodgateApi#sendForm(UUID, Form(Builder))`<br>
Used to send a form to the Bedrock player with the given UUID.<br>
Click [here](/geyser/forms/) 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.