Class MessageHandler

java.lang.Object
net.minecraft.client.network.message.MessageHandler

@Environment(CLIENT) public class MessageHandler extends Object
Handles received messages, including chat messages and game messages.
Mappings:
Namespace Name
named net/minecraft/client/network/message/MessageHandler
intermediary net/minecraft/class_7594
official fyq
  • Field Details

    • VALIDATION_ERROR_TEXT

      private static final Text VALIDATION_ERROR_TEXT
      Mappings:
      Namespace Name Mixin selector
      named VALIDATION_ERROR_TEXT Lnet/minecraft/client/network/message/MessageHandler;VALIDATION_ERROR_TEXT:Lnet/minecraft/text/Text;
      intermediary field_45950 Lnet/minecraft/class_7594;field_45950:Lnet/minecraft/class_2561;
      official a Lfyq;a:Lxp;
    • client

      private final MinecraftClient client
      Mappings:
      Namespace Name Mixin selector
      named client Lnet/minecraft/client/network/message/MessageHandler;client:Lnet/minecraft/client/MinecraftClient;
      intermediary field_39779 Lnet/minecraft/class_7594;field_39779:Lnet/minecraft/class_310;
      official b Lfyq;b:Lffh;
    • delayedMessages

      private final Deque<MessageHandler.ProcessableMessage> delayedMessages
      Mappings:
      Namespace Name Mixin selector
      named delayedMessages Lnet/minecraft/client/network/message/MessageHandler;delayedMessages:Ljava/util/Deque;
      intermediary field_39796 Lnet/minecraft/class_7594;field_39796:Ljava/util/Deque;
      official c Lfyq;c:Ljava/util/Deque;
    • chatDelay

      private long chatDelay
      Mappings:
      Namespace Name Mixin selector
      named chatDelay Lnet/minecraft/client/network/message/MessageHandler;chatDelay:J
      intermediary field_39797 Lnet/minecraft/class_7594;field_39797:J
      official d Lfyq;d:J
    • lastProcessTime

      private long lastProcessTime
      Mappings:
      Namespace Name Mixin selector
      named lastProcessTime Lnet/minecraft/client/network/message/MessageHandler;lastProcessTime:J
      intermediary field_39798 Lnet/minecraft/class_7594;field_39798:J
      official e Lfyq;e:J
  • Constructor Details

    • MessageHandler

      public MessageHandler(MinecraftClient client)
      Mappings:
      Namespace Name Mixin selector
      named <init> Lnet/minecraft/client/network/message/MessageHandler;<init>(Lnet/minecraft/client/MinecraftClient;)V
      intermediary <init> Lnet/minecraft/class_7594;<init>(Lnet/minecraft/class_310;)V
      official <init> Lfyq;<init>(Lffh;)V
  • Method Details

    • processDelayedMessages

      public void processDelayedMessages()
      Processes all delayed messages until one of them fails to process if the delay has passed, and otherwise does nothing.
      Mappings:
      Namespace Name Mixin selector
      named processDelayedMessages Lnet/minecraft/client/network/message/MessageHandler;processDelayedMessages()V
      intermediary method_44765 Lnet/minecraft/class_7594;method_44765()V
      official a Lfyq;a()V
    • setChatDelay

      public void setChatDelay(double chatDelay)
      Sets the chat delay to chatDelay seconds. If the chat delay was changed to 0, this also processes all queued messages.
      Mappings:
      Namespace Name Mixin selector
      named setChatDelay Lnet/minecraft/client/network/message/MessageHandler;setChatDelay(D)V
      intermediary method_44766 Lnet/minecraft/class_7594;method_44766(D)V
      official a Lfyq;a(D)V
    • process

      public void process()
      Processes one delayed message from the queue's beginning.
      Mappings:
      Namespace Name Mixin selector
      named process Lnet/minecraft/client/network/message/MessageHandler;process()V
      intermediary method_44769 Lnet/minecraft/class_7594;method_44769()V
      official b Lfyq;b()V
    • getUnprocessedMessageCount

      public long getUnprocessedMessageCount()
      Returns the number of delayed messages that are not processed yet.
      Returns:
      the number of delayed messages that are not processed yet
      Mappings:
      Namespace Name Mixin selector
      named getUnprocessedMessageCount Lnet/minecraft/client/network/message/MessageHandler;getUnprocessedMessageCount()J
      intermediary method_44944 Lnet/minecraft/class_7594;method_44944()J
      official c Lfyq;c()J
    • processAll

      public void processAll()
      Processes all delayed messages from the queue.
      Mappings:
      Namespace Name Mixin selector
      named processAll Lnet/minecraft/client/network/message/MessageHandler;processAll()V
      intermediary method_44945 Lnet/minecraft/class_7594;method_44945()V
      official d Lfyq;d()V
    • removeDelayedMessage

      public boolean removeDelayedMessage(MessageSignatureData signature)
      Removes a delayed message whose signature matches signature. If this returns false, either the message is not received or it it already on the hud.
      Returns:
      whether the message was removed
      Mappings:
      Namespace Name Mixin selector
      named removeDelayedMessage Lnet/minecraft/client/network/message/MessageHandler;removeDelayedMessage(Lnet/minecraft/network/message/MessageSignatureData;)Z
      intermediary method_44819 Lnet/minecraft/class_7594;method_44819(Lnet/minecraft/class_7469;)Z
      official a Lfyq;a(Lyb;)Z
    • shouldDelay

      private boolean shouldDelay()
      Returns if the chat delay is set and the message should be delayed.
      Returns:
      if the chat delay is set and the message should be delayed
      Mappings:
      Namespace Name Mixin selector
      named shouldDelay Lnet/minecraft/client/network/message/MessageHandler;shouldDelay()Z
      intermediary method_44775 Lnet/minecraft/class_7594;method_44775()Z
      official e Lfyq;e()Z
    • process

      private void process(@Nullable @Nullable MessageSignatureData signature, BooleanSupplier processor)
      Queues processor during the chat delay, otherwise runs the processor.
      Mappings:
      Namespace Name Mixin selector
      named process Lnet/minecraft/client/network/message/MessageHandler;process(Lnet/minecraft/network/message/MessageSignatureData;Ljava/util/function/BooleanSupplier;)V
      intermediary method_44818 Lnet/minecraft/class_7594;method_44818(Lnet/minecraft/class_7469;Ljava/util/function/BooleanSupplier;)V
      official a Lfyq;a(Lyb;Ljava/util/function/BooleanSupplier;)V
    • onChatMessage

      public void onChatMessage(SignedMessage message, com.mojang.authlib.GameProfile sender, MessageType.Parameters params)
      Mappings:
      Namespace Name Mixin selector
      named onChatMessage Lnet/minecraft/client/network/message/MessageHandler;onChatMessage(Lnet/minecraft/network/message/SignedMessage;Lcom/mojang/authlib/GameProfile;Lnet/minecraft/network/message/MessageType$Parameters;)V
      intermediary method_45748 Lnet/minecraft/class_7594;method_45748(Lnet/minecraft/class_7471;Lcom/mojang/authlib/GameProfile;Lnet/minecraft/class_2556$class_7602;)V
      official a Lfyq;a(Lyf;Lcom/mojang/authlib/GameProfile;Lxl$a;)V
    • onUnverifiedMessage

      public void onUnverifiedMessage(UUID sender, MessageType.Parameters parameters)
      Mappings:
      Namespace Name Mixin selector
      named onUnverifiedMessage Lnet/minecraft/client/network/message/MessageHandler;onUnverifiedMessage(Ljava/util/UUID;Lnet/minecraft/network/message/MessageType$Parameters;)V
      intermediary method_53488 Lnet/minecraft/class_7594;method_53488(Ljava/util/UUID;Lnet/minecraft/class_2556$class_7602;)V
      official a Lfyq;a(Ljava/util/UUID;Lxl$a;)V
    • onProfilelessMessage

      public void onProfilelessMessage(Text content, MessageType.Parameters params)
      Mappings:
      Namespace Name Mixin selector
      named onProfilelessMessage Lnet/minecraft/client/network/message/MessageHandler;onProfilelessMessage(Lnet/minecraft/text/Text;Lnet/minecraft/network/message/MessageType$Parameters;)V
      intermediary method_45746 Lnet/minecraft/class_7594;method_45746(Lnet/minecraft/class_2561;Lnet/minecraft/class_2556$class_7602;)V
      official a Lfyq;a(Lxp;Lxl$a;)V
    • processChatMessageInternal

      private boolean processChatMessageInternal(MessageType.Parameters params, SignedMessage message, Text decorated, com.mojang.authlib.GameProfile sender, boolean onlyShowSecureChat, Instant receptionTimestamp)
      Processes a chat message.

      If the message cannot be verified due to a broken chain, this disconnects the client from the server.

      The message can still end up not being displayed if the verification fails and onlyShowSecureChat is true or if the sender is blocked via the social interactions screen.

      This adds the message to the hud, narrates it, and appends it to the chat log.

      Parameters:
      receptionTimestamp - the timestamp when the message was received by this client
      Returns:
      whether the message was actually displayed
      Mappings:
      Namespace Name Mixin selector
      named processChatMessageInternal Lnet/minecraft/client/network/message/MessageHandler;processChatMessageInternal(Lnet/minecraft/network/message/MessageType$Parameters;Lnet/minecraft/network/message/SignedMessage;Lnet/minecraft/text/Text;Lcom/mojang/authlib/GameProfile;ZLjava/time/Instant;)Z
      intermediary method_44943 Lnet/minecraft/class_7594;method_44943(Lnet/minecraft/class_2556$class_7602;Lnet/minecraft/class_7471;Lnet/minecraft/class_2561;Lcom/mojang/authlib/GameProfile;ZLjava/time/Instant;)Z
      official a Lfyq;a(Lxl$a;Lyf;Lxp;Lcom/mojang/authlib/GameProfile;ZLjava/time/Instant;)Z
    • narrate

      private void narrate(MessageType.Parameters params, Text message)
      Narrates message.
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named narrate Lnet/minecraft/client/network/message/MessageHandler;narrate(Lnet/minecraft/network/message/MessageType$Parameters;Lnet/minecraft/text/Text;)V
      intermediary method_44772 Lnet/minecraft/class_7594;method_44772(Lnet/minecraft/class_2556$class_7602;Lnet/minecraft/class_2561;)V
      official a Lfyq;a(Lxl$a;Lxp;)V
    • getStatus

      private MessageTrustStatus getStatus(SignedMessage message, Text decorated, Instant receptionTimestamp)
      Returns the trust status of message.

      This returns MessageTrustStatus.SECURE for messages that are considered to be always trusted.

      Returns:
      the trust status of message
      See Also:
      Mappings:
      Namespace Name Mixin selector
      named getStatus Lnet/minecraft/client/network/message/MessageHandler;getStatus(Lnet/minecraft/network/message/SignedMessage;Lnet/minecraft/text/Text;Ljava/time/Instant;)Lnet/minecraft/client/network/message/MessageTrustStatus;
      intermediary method_44732 Lnet/minecraft/class_7594;method_44732(Lnet/minecraft/class_7471;Lnet/minecraft/class_2561;Ljava/time/Instant;)Lnet/minecraft/class_7595;
      official a Lfyq;a(Lyf;Lxp;Ljava/time/Instant;)Lfys;
    • addToChatLog

      private void addToChatLog(SignedMessage message, MessageType.Parameters params, com.mojang.authlib.GameProfile sender, MessageTrustStatus trustStatus)
      Mappings:
      Namespace Name Mixin selector
      named addToChatLog Lnet/minecraft/client/network/message/MessageHandler;addToChatLog(Lnet/minecraft/network/message/SignedMessage;Lnet/minecraft/network/message/MessageType$Parameters;Lcom/mojang/authlib/GameProfile;Lnet/minecraft/client/network/message/MessageTrustStatus;)V
      intermediary method_44737 Lnet/minecraft/class_7594;method_44737(Lnet/minecraft/class_7471;Lnet/minecraft/class_2556$class_7602;Lcom/mojang/authlib/GameProfile;Lnet/minecraft/class_7595;)V
      official a Lfyq;a(Lyf;Lxl$a;Lcom/mojang/authlib/GameProfile;Lfys;)V
    • addToChatLog

      private void addToChatLog(Text message, Instant timestamp)
      Mappings:
      Namespace Name Mixin selector
      named addToChatLog Lnet/minecraft/client/network/message/MessageHandler;addToChatLog(Lnet/minecraft/text/Text;Ljava/time/Instant;)V
      intermediary method_44735 Lnet/minecraft/class_7594;method_44735(Lnet/minecraft/class_2561;Ljava/time/Instant;)V
      official a Lfyq;a(Lxp;Ljava/time/Instant;)V
    • onGameMessage

      public void onGameMessage(Text message, boolean overlay)
      Called when a game message is received.

      Game messages ignore chat delay.

      Mappings:
      Namespace Name Mixin selector
      named onGameMessage Lnet/minecraft/client/network/message/MessageHandler;onGameMessage(Lnet/minecraft/text/Text;Z)V
      intermediary method_44736 Lnet/minecraft/class_7594;method_44736(Lnet/minecraft/class_2561;Z)V
      official a Lfyq;a(Lxp;Z)V
    • extractSender

      private UUID extractSender(Text text)
      Mappings:
      Namespace Name Mixin selector
      named extractSender Lnet/minecraft/client/network/message/MessageHandler;extractSender(Lnet/minecraft/text/Text;)Ljava/util/UUID;
      intermediary method_44734 Lnet/minecraft/class_7594;method_44734(Lnet/minecraft/class_2561;)Ljava/util/UUID;
      official a Lfyq;a(Lxp;)Ljava/util/UUID;
    • isAlwaysTrusted

      private boolean isAlwaysTrusted(UUID sender)
      Returns whether messages from sender are always trusted.

      Messages from this client's player in a singleplayer world are always trusted.

      Returns:
      whether messages from sender are always trusted
      Mappings:
      Namespace Name Mixin selector
      named isAlwaysTrusted Lnet/minecraft/client/network/message/MessageHandler;isAlwaysTrusted(Ljava/util/UUID;)Z
      intermediary method_44738 Lnet/minecraft/class_7594;method_44738(Ljava/util/UUID;)Z
      official a Lfyq;a(Ljava/util/UUID;)Z