From 2deccf314413f63f7150ff5ca70af501ffc11430 Mon Sep 17 00:00:00 2001 From: Roch Blondiaux <68775690+RochBlondiaux@users.noreply.github.com> Date: Tue, 11 Feb 2025 20:11:25 +0100 Subject: [PATCH] Implemented a way to close forms from floodgate (#566) * feat: added #closeForm method to FloodgateApi * feat: implementation of the closeForm method * Update Floodgate API version --------- Co-authored-by: Roch Blonndiaux Co-authored-by: onebeastchris --- .../main/java/org/geysermc/floodgate/api/FloodgateApi.java | 2 ++ .../java/org/geysermc/floodgate/api/SimpleFloodgateApi.java | 5 +++++ .../floodgate/pluginmessage/channel/FormChannel.java | 4 ++++ gradle.properties | 2 +- 4 files changed, 12 insertions(+), 1 deletion(-) 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 @@ public interface FloodgateApi { 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 class SimpleFloodgateApi implements FloodgateApi { 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 class FormChannel implements PluginMessageChannel { 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); diff --git a/gradle.properties b/gradle.properties index 8e836211..69e11adc 100644 --- a/gradle.properties +++ b/gradle.properties @@ -2,4 +2,4 @@ org.gradle.configureondemand=true org.gradle.caching=true org.gradle.parallel=true -version=2.2.3-SNAPSHOT \ No newline at end of file +version=2.2.4-SNAPSHOT \ No newline at end of file