aboutsummaryrefslogtreecommitdiff
path: root/azalea-protocol/src/packets/game/clientbound_server_links_packet.rs
diff options
context:
space:
mode:
Diffstat (limited to 'azalea-protocol/src/packets/game/clientbound_server_links_packet.rs')
-rw-r--r--azalea-protocol/src/packets/game/clientbound_server_links_packet.rs34
1 files changed, 34 insertions, 0 deletions
diff --git a/azalea-protocol/src/packets/game/clientbound_server_links_packet.rs b/azalea-protocol/src/packets/game/clientbound_server_links_packet.rs
new file mode 100644
index 00000000..4b24a519
--- /dev/null
+++ b/azalea-protocol/src/packets/game/clientbound_server_links_packet.rs
@@ -0,0 +1,34 @@
+use azalea_buf::McBuf;
+use azalea_chat::FormattedText;
+use azalea_protocol_macros::ClientboundGamePacket;
+
+#[derive(Clone, Debug, McBuf, ClientboundGamePacket)]
+pub struct ClientboundServerLinksPacket {
+ pub links: Vec<ServerLinkEntry>,
+}
+
+#[derive(Clone, Debug, McBuf)]
+pub struct ServerLinkEntry {
+ pub kind: ServerLinkKind,
+ pub link: String,
+}
+
+#[derive(Clone, Debug, McBuf)]
+pub enum ServerLinkKind {
+ Known(KnownLinkKind),
+ Component(FormattedText),
+}
+
+#[derive(Clone, Copy, Debug, McBuf)]
+pub enum KnownLinkKind {
+ BugReport,
+ CommunityGuidelines,
+ Support,
+ Status,
+ Feedback,
+ Community,
+ Website,
+ Forums,
+ News,
+ Announcements,
+}