#3848: Add support for showing dialogs in configuration state
Co-authored-by: Outfluencer <git@outfluencer.dev>
This commit is contained in:
parent
3cd530f007
commit
d5bcabdc60
@ -45,6 +45,7 @@ import net.md_5.bungee.protocol.packet.ServerData;
|
|||||||
import net.md_5.bungee.protocol.packet.ServerLinks;
|
import net.md_5.bungee.protocol.packet.ServerLinks;
|
||||||
import net.md_5.bungee.protocol.packet.SetCompression;
|
import net.md_5.bungee.protocol.packet.SetCompression;
|
||||||
import net.md_5.bungee.protocol.packet.ShowDialog;
|
import net.md_5.bungee.protocol.packet.ShowDialog;
|
||||||
|
import net.md_5.bungee.protocol.packet.ShowDialogDirect;
|
||||||
import net.md_5.bungee.protocol.packet.StartConfiguration;
|
import net.md_5.bungee.protocol.packet.StartConfiguration;
|
||||||
import net.md_5.bungee.protocol.packet.StatusRequest;
|
import net.md_5.bungee.protocol.packet.StatusRequest;
|
||||||
import net.md_5.bungee.protocol.packet.StatusResponse;
|
import net.md_5.bungee.protocol.packet.StatusResponse;
|
||||||
@ -287,6 +288,10 @@ public abstract class AbstractPacketHandler
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void handle(ShowDialogDirect showDialogDirect) throws Exception
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
public void handle(ClearDialog clearDialog) throws Exception
|
public void handle(ClearDialog clearDialog) throws Exception
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
@ -51,6 +51,7 @@ import net.md_5.bungee.protocol.packet.ServerData;
|
|||||||
import net.md_5.bungee.protocol.packet.ServerLinks;
|
import net.md_5.bungee.protocol.packet.ServerLinks;
|
||||||
import net.md_5.bungee.protocol.packet.SetCompression;
|
import net.md_5.bungee.protocol.packet.SetCompression;
|
||||||
import net.md_5.bungee.protocol.packet.ShowDialog;
|
import net.md_5.bungee.protocol.packet.ShowDialog;
|
||||||
|
import net.md_5.bungee.protocol.packet.ShowDialogDirect;
|
||||||
import net.md_5.bungee.protocol.packet.StartConfiguration;
|
import net.md_5.bungee.protocol.packet.StartConfiguration;
|
||||||
import net.md_5.bungee.protocol.packet.StatusRequest;
|
import net.md_5.bungee.protocol.packet.StatusRequest;
|
||||||
import net.md_5.bungee.protocol.packet.StatusResponse;
|
import net.md_5.bungee.protocol.packet.StatusResponse;
|
||||||
@ -857,6 +858,16 @@ public enum Protocol
|
|||||||
ServerLinks::new,
|
ServerLinks::new,
|
||||||
map( ProtocolConstants.MINECRAFT_1_21, 0x10 )
|
map( ProtocolConstants.MINECRAFT_1_21, 0x10 )
|
||||||
);
|
);
|
||||||
|
TO_CLIENT.registerPacket(
|
||||||
|
ClearDialog.class,
|
||||||
|
ClearDialog::new,
|
||||||
|
map( ProtocolConstants.MINECRAFT_1_21_6, 0x11 )
|
||||||
|
);
|
||||||
|
TO_CLIENT.registerPacket(
|
||||||
|
ShowDialogDirect.class,
|
||||||
|
ShowDialogDirect::new,
|
||||||
|
map( ProtocolConstants.MINECRAFT_1_21_6, 0x12 )
|
||||||
|
);
|
||||||
|
|
||||||
TO_SERVER.registerPacket(
|
TO_SERVER.registerPacket(
|
||||||
ClientSettings.class,
|
ClientSettings.class,
|
||||||
|
@ -62,6 +62,7 @@ import net.md_5.bungee.protocol.packet.PlayerListHeaderFooter;
|
|||||||
import net.md_5.bungee.protocol.packet.PluginMessage;
|
import net.md_5.bungee.protocol.packet.PluginMessage;
|
||||||
import net.md_5.bungee.protocol.packet.SetCompression;
|
import net.md_5.bungee.protocol.packet.SetCompression;
|
||||||
import net.md_5.bungee.protocol.packet.ShowDialog;
|
import net.md_5.bungee.protocol.packet.ShowDialog;
|
||||||
|
import net.md_5.bungee.protocol.packet.ShowDialogDirect;
|
||||||
import net.md_5.bungee.protocol.packet.StoreCookie;
|
import net.md_5.bungee.protocol.packet.StoreCookie;
|
||||||
import net.md_5.bungee.protocol.packet.SystemChat;
|
import net.md_5.bungee.protocol.packet.SystemChat;
|
||||||
import net.md_5.bungee.protocol.packet.Transfer;
|
import net.md_5.bungee.protocol.packet.Transfer;
|
||||||
@ -851,6 +852,12 @@ public final class UserConnection implements ProxiedPlayer
|
|||||||
{
|
{
|
||||||
Preconditions.checkState( getPendingConnection().getVersion() >= ProtocolConstants.MINECRAFT_1_21_6, "Dialogs are only supported in 1.21.6 and above" );
|
Preconditions.checkState( getPendingConnection().getVersion() >= ProtocolConstants.MINECRAFT_1_21_6, "Dialogs are only supported in 1.21.6 and above" );
|
||||||
|
|
||||||
|
if ( ch.getEncodeProtocol() == Protocol.CONFIGURATION )
|
||||||
|
{
|
||||||
|
unsafe.sendPacket( new ShowDialogDirect( dialog ) );
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
unsafe.sendPacket( new ShowDialog( Either.right( dialog ) ) );
|
unsafe.sendPacket( new ShowDialog( Either.right( dialog ) ) );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user