From 782481816d94bdcdcdf191a94325743eba1faeba Mon Sep 17 00:00:00 2001 From: Anon Date: Mon, 20 Nov 2023 18:08:09 +0100 Subject: [PATCH] Implemented TabListHeaderAndFooter packet --- MinecraftClient/McClient.cs | 10 ++++++++++ MinecraftClient/Protocol/Handlers/Protocol18.cs | 6 ++++++ MinecraftClient/Protocol/IMinecraftComHandler.cs | 7 +++++++ MinecraftClient/Scripting/ChatBot.cs | 7 +++++++ 4 files changed, 30 insertions(+) diff --git a/MinecraftClient/McClient.cs b/MinecraftClient/McClient.cs index f9bd5546..c7296d52 100644 --- a/MinecraftClient/McClient.cs +++ b/MinecraftClient/McClient.cs @@ -3438,6 +3438,16 @@ namespace MinecraftClient { DispatchBotEvent(bot => bot.OnUpdateScore(entityname, action, objectivename, value)); } + + /// + /// Called when the client received the Tab Header and Footer + /// + /// Header + /// Footer + public void OnTabListHeaderAndFooter(string header, string footer) + { + DispatchBotEvent(bot => bot.OnTabListHeaderAndFooter(header, footer)); + } /// /// Called when the health of an entity changed diff --git a/MinecraftClient/Protocol/Handlers/Protocol18.cs b/MinecraftClient/Protocol/Handlers/Protocol18.cs index f96affae..8fb39739 100644 --- a/MinecraftClient/Protocol/Handlers/Protocol18.cs +++ b/MinecraftClient/Protocol/Handlers/Protocol18.cs @@ -2374,6 +2374,12 @@ namespace MinecraftClient.Protocol.Handlers break;*/ + case PacketTypesIn.PlayerListHeaderAndFooter: + var header = dataTypes.ReadNextString(packetData); + var footer = dataTypes.ReadNextString(packetData); + handler.OnTabListHeaderAndFooter(header, footer); + break; + default: return false; //Ignored packet } diff --git a/MinecraftClient/Protocol/IMinecraftComHandler.cs b/MinecraftClient/Protocol/IMinecraftComHandler.cs index e2a5be5c..dcc991a5 100644 --- a/MinecraftClient/Protocol/IMinecraftComHandler.cs +++ b/MinecraftClient/Protocol/IMinecraftComHandler.cs @@ -447,6 +447,13 @@ namespace MinecraftClient.Protocol /// he score to be displayed next to the entry. Only sent when Action does not equal 1. void OnUpdateScore(string entityname, int action, string objectivename, int value); + /// + /// Called when the client received the Tab Header and Footer + /// + /// Header + /// Footer + void OnTabListHeaderAndFooter(string header, string footer); + /// /// Called when tradeList is received from server /// diff --git a/MinecraftClient/Scripting/ChatBot.cs b/MinecraftClient/Scripting/ChatBot.cs index af5b5a43..36c365be 100644 --- a/MinecraftClient/Scripting/ChatBot.cs +++ b/MinecraftClient/Scripting/ChatBot.cs @@ -347,6 +347,13 @@ namespace MinecraftClient.Scripting /// The score to be displayed next to the entry. Only sent when Action does not equal 1. public virtual void OnUpdateScore(string entityname, int action, string objectivename, int value) { } + /// + /// Called when the client received the Tab Header and Footer + /// + /// Header + /// Footer + public virtual void OnTabListHeaderAndFooter(string header, string footer) { } + /// /// Called when an inventory/container was updated by server ///