mirror of
https://github.com/GeyserMC/Floodgate.git
synced 2025-12-27 18:59:05 +00:00
Use Cumulus as Form library
This commit is contained in:
6
.github/workflows/pullrequest.yml
vendored
6
.github/workflows/pullrequest.yml
vendored
@@ -27,12 +27,12 @@ jobs:
|
||||
with:
|
||||
name: Floodgate Bungee
|
||||
path: bungee/target/floodgate-bungee.jar
|
||||
- name: Archive artifacts (Floodgate Bukkit)
|
||||
- name: Archive artifacts (Floodgate Spigot)
|
||||
uses: actions/upload-artifact@v1
|
||||
if: success()
|
||||
with:
|
||||
name: Floodgate Bukkit
|
||||
path: bukkit/target/floodgate-bukkit.jar
|
||||
name: Floodgate Spigot
|
||||
path: spigot/target/floodgate-spigot.jar
|
||||
- name: Archive artifacts (Floodgate Velocity)
|
||||
uses: actions/upload-artifact@v1
|
||||
if: success()
|
||||
|
||||
@@ -26,8 +26,8 @@
|
||||
package org.geysermc.floodgate.api;
|
||||
|
||||
import java.util.UUID;
|
||||
import org.geysermc.common.form.Form;
|
||||
import org.geysermc.common.form.FormBuilder;
|
||||
import org.geysermc.cumulus.Form;
|
||||
import org.geysermc.cumulus.util.FormBuilder;
|
||||
import org.geysermc.floodgate.api.link.PlayerLink;
|
||||
import org.geysermc.floodgate.api.player.FloodgatePlayer;
|
||||
|
||||
@@ -73,7 +73,7 @@ public interface FloodgateApi {
|
||||
*/
|
||||
boolean isFloodgateId(UUID uuid);
|
||||
|
||||
boolean sendForm(UUID uuid, Form<?> form);
|
||||
boolean sendForm(UUID uuid, Form form);
|
||||
|
||||
boolean sendForm(UUID uuid, FormBuilder<?, ?> formBuilder);
|
||||
|
||||
|
||||
@@ -26,8 +26,8 @@
|
||||
package org.geysermc.floodgate.api.player;
|
||||
|
||||
import java.util.UUID;
|
||||
import org.geysermc.common.form.Form;
|
||||
import org.geysermc.common.form.FormBuilder;
|
||||
import org.geysermc.cumulus.Form;
|
||||
import org.geysermc.cumulus.util.FormBuilder;
|
||||
import org.geysermc.floodgate.api.FloodgateApi;
|
||||
import org.geysermc.floodgate.util.DeviceOs;
|
||||
import org.geysermc.floodgate.util.InputMode;
|
||||
@@ -107,7 +107,7 @@ public interface FloodgatePlayer {
|
||||
*/
|
||||
RawSkin getRawSkin();
|
||||
|
||||
default boolean sendForm(Form<?> form) {
|
||||
default boolean sendForm(Form form) {
|
||||
return FloodgateApi.getInstance().sendForm(getCorrectUniqueId(), form);
|
||||
}
|
||||
|
||||
|
||||
@@ -39,7 +39,7 @@ import net.md_5.bungee.api.event.PluginMessageEvent;
|
||||
import net.md_5.bungee.api.plugin.Listener;
|
||||
import net.md_5.bungee.api.plugin.Plugin;
|
||||
import net.md_5.bungee.event.EventHandler;
|
||||
import org.geysermc.common.form.Form;
|
||||
import org.geysermc.cumulus.Form;
|
||||
import org.geysermc.floodgate.api.logger.FloodgateLogger;
|
||||
import org.geysermc.floodgate.config.FloodgateConfigHolder;
|
||||
import org.geysermc.floodgate.platform.pluginmessage.PluginMessageHandler;
|
||||
@@ -104,7 +104,7 @@ public final class BungeePluginMessageHandler extends PluginMessageHandler imple
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean sendForm(UUID uuid, Form<?> form) {
|
||||
public boolean sendForm(UUID uuid, Form form) {
|
||||
ProxiedPlayer player = proxy.getPlayer(uuid);
|
||||
if (player != null) {
|
||||
player.sendData(formChannel, createFormData(form));
|
||||
|
||||
@@ -30,8 +30,8 @@ import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import javax.annotation.Nullable;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.geysermc.common.form.Form;
|
||||
import org.geysermc.common.form.FormBuilder;
|
||||
import org.geysermc.cumulus.Form;
|
||||
import org.geysermc.cumulus.util.FormBuilder;
|
||||
import org.geysermc.floodgate.FloodgatePlayerImpl;
|
||||
import org.geysermc.floodgate.api.player.FloodgatePlayer;
|
||||
import org.geysermc.floodgate.platform.pluginmessage.PluginMessageHandler;
|
||||
@@ -75,7 +75,7 @@ public class SimpleFloodgateApi implements FloodgateApi {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean sendForm(UUID uuid, Form<?> form) {
|
||||
public boolean sendForm(UUID uuid, Form form) {
|
||||
return pluginMessageHandler.sendForm(uuid, form);
|
||||
}
|
||||
|
||||
|
||||
@@ -30,12 +30,12 @@ import it.unimi.dsi.fastutil.shorts.Short2ObjectMap;
|
||||
import it.unimi.dsi.fastutil.shorts.Short2ObjectOpenHashMap;
|
||||
import java.util.UUID;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
import org.geysermc.common.form.Form;
|
||||
import org.geysermc.cumulus.Form;
|
||||
import org.geysermc.floodgate.config.FloodgateConfigHolder;
|
||||
import org.geysermc.floodgate.util.RawSkin;
|
||||
|
||||
public abstract class PluginMessageHandler {
|
||||
protected final Short2ObjectMap<Form<?>> storedForms = new Short2ObjectOpenHashMap<>();
|
||||
protected final Short2ObjectMap<Form> storedForms = new Short2ObjectOpenHashMap<>();
|
||||
private final AtomicInteger nextFormId = new AtomicInteger(0);
|
||||
private final FloodgateConfigHolder configHolder;
|
||||
|
||||
@@ -43,13 +43,13 @@ public abstract class PluginMessageHandler {
|
||||
this.configHolder = configHolder;
|
||||
}
|
||||
|
||||
public abstract boolean sendForm(UUID player, Form<?> form);
|
||||
public abstract boolean sendForm(UUID player, Form form);
|
||||
|
||||
public abstract boolean sendSkinRequest(UUID player, RawSkin skin);
|
||||
|
||||
public abstract void sendSkinResponse(UUID player, String response);
|
||||
|
||||
protected byte[] createFormData(Form<?> form) {
|
||||
protected byte[] createFormData(Form form) {
|
||||
short formId = getNextFormId();
|
||||
if (configHolder.isProxy()) {
|
||||
formId |= 0x8000;
|
||||
@@ -67,7 +67,7 @@ public abstract class PluginMessageHandler {
|
||||
}
|
||||
|
||||
protected boolean callResponseConsumer(byte[] data) {
|
||||
Form<?> storedForm = storedForms.remove(getFormId(data));
|
||||
Form storedForm = storedForms.remove(getFormId(data));
|
||||
if (storedForm != null) {
|
||||
storedForm.getResponseHandler().accept(
|
||||
new String(data, 2, data.length - 2, Charsets.UTF_8));
|
||||
|
||||
@@ -30,7 +30,7 @@ import java.util.UUID;
|
||||
import org.bukkit.Bukkit;
|
||||
import org.bukkit.plugin.java.JavaPlugin;
|
||||
import org.bukkit.plugin.messaging.Messenger;
|
||||
import org.geysermc.common.form.Form;
|
||||
import org.geysermc.cumulus.Form;
|
||||
import org.geysermc.floodgate.api.FloodgateApi;
|
||||
import org.geysermc.floodgate.config.FloodgateConfigHolder;
|
||||
import org.geysermc.floodgate.platform.pluginmessage.PluginMessageHandler;
|
||||
@@ -69,7 +69,7 @@ public class SpigotPluginMessageHandler extends PluginMessageHandler {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean sendForm(UUID playerId, Form<?> form) {
|
||||
public boolean sendForm(UUID playerId, Form form) {
|
||||
try {
|
||||
byte[] formData = createFormData(form);
|
||||
Bukkit.getPlayer(playerId).sendPluginMessage(plugin, formChannel, formData);
|
||||
|
||||
@@ -40,7 +40,7 @@ import com.velocitypowered.api.proxy.messages.ChannelMessageSource;
|
||||
import com.velocitypowered.api.proxy.messages.MinecraftChannelIdentifier;
|
||||
import java.util.UUID;
|
||||
import net.kyori.adventure.text.Component;
|
||||
import org.geysermc.common.form.Form;
|
||||
import org.geysermc.cumulus.Form;
|
||||
import org.geysermc.floodgate.api.logger.FloodgateLogger;
|
||||
import org.geysermc.floodgate.config.FloodgateConfigHolder;
|
||||
import org.geysermc.floodgate.platform.pluginmessage.PluginMessageHandler;
|
||||
@@ -109,7 +109,7 @@ public class VelocityPluginMessageHandler extends PluginMessageHandler {
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean sendForm(UUID uuid, Form<?> form) {
|
||||
public boolean sendForm(UUID uuid, Form form) {
|
||||
return proxy.getPlayer(uuid)
|
||||
.map(value -> value.sendPluginMessage(formChannel, createFormData(form)))
|
||||
.orElse(false);
|
||||
|
||||
Reference in New Issue
Block a user