diff --git a/api/src/main/java/org/geysermc/floodgate/api/FloodgateApi.java b/api/src/main/java/org/geysermc/floodgate/api/FloodgateApi.java index 999935ab..a51252a3 100644 --- a/api/src/main/java/org/geysermc/floodgate/api/FloodgateApi.java +++ b/api/src/main/java/org/geysermc/floodgate/api/FloodgateApi.java @@ -97,6 +97,8 @@ static FloodgateApi getInstance() { boolean sendForm(UUID uuid, FormBuilder formBuilder); + boolean closeForm(UUID uuid); + /** * @deprecated since Cumulus 1.1 and will be removed when Cumulus 2.0 releases. Please use the * new form classes instead. diff --git a/core/src/main/java/org/geysermc/floodgate/api/SimpleFloodgateApi.java b/core/src/main/java/org/geysermc/floodgate/api/SimpleFloodgateApi.java index 5ef49e46..baf05da8 100644 --- a/core/src/main/java/org/geysermc/floodgate/api/SimpleFloodgateApi.java +++ b/core/src/main/java/org/geysermc/floodgate/api/SimpleFloodgateApi.java @@ -125,6 +125,11 @@ public boolean sendForm(UUID uuid, FormBuilder formBuilder) { return sendForm(uuid, formBuilder.build()); } + @Override + public boolean closeForm(UUID uuid) { + return pluginMessageManager.getChannel(FormChannel.class).closeForm(uuid); + } + @Override public boolean sendForm(UUID uuid, org.geysermc.cumulus.Form form) { return sendForm(uuid, form.newForm()); diff --git a/core/src/main/java/org/geysermc/floodgate/pluginmessage/channel/FormChannel.java b/core/src/main/java/org/geysermc/floodgate/pluginmessage/channel/FormChannel.java index 1da89bc1..187d0edc 100644 --- a/core/src/main/java/org/geysermc/floodgate/pluginmessage/channel/FormChannel.java +++ b/core/src/main/java/org/geysermc/floodgate/pluginmessage/channel/FormChannel.java @@ -93,6 +93,10 @@ public Result handleServerCall(byte[] data, UUID playerUuid, String playerUserna return Result.handled(); } + public boolean closeForm(UUID player) { + return pluginMessageUtils.sendMessage(player, getIdentifier(), new byte[0]); + } + public boolean sendForm(UUID player, Form form) { byte[] formData = createFormData(form); return pluginMessageUtils.sendMessage(player, getIdentifier(), formData);