CLASS net/minecraft/class_7594 net/minecraft/client/network/message/MessageHandler COMMENT Handles received messages, including chat messages and game messages. FIELD field_39779 client Lnet/minecraft/class_310; FIELD field_39796 delayedMessages Ljava/util/Deque; FIELD field_39797 chatDelay J FIELD field_39798 lastProcessTime J FIELD field_45950 VALIDATION_ERROR_TEXT Lnet/minecraft/class_2561; METHOD (Lnet/minecraft/class_310;)V ARG 1 client METHOD method_44732 getStatus (Lnet/minecraft/class_7471;Lnet/minecraft/class_2561;Ljava/time/Instant;)Lnet/minecraft/class_7595; COMMENT {@return the trust status of {@code message}} COMMENT COMMENT

This returns {@link MessageTrustStatus#SECURE} for messages that are COMMENT considered to be {@linkplain #isAlwaysTrusted always trusted}. COMMENT COMMENT @see #isAlwaysTrusted COMMENT @see MessageTrustStatus#getStatus ARG 1 message ARG 2 decorated ARG 3 receptionTimestamp METHOD method_44734 extractSender (Lnet/minecraft/class_2561;)Ljava/util/UUID; ARG 1 text METHOD method_44735 addToChatLog (Lnet/minecraft/class_2561;Ljava/time/Instant;)V ARG 1 message ARG 2 timestamp METHOD method_44736 onGameMessage (Lnet/minecraft/class_2561;Z)V COMMENT Called when a game message is received. COMMENT COMMENT

Game messages ignore chat delay. ARG 1 message ARG 2 overlay METHOD method_44737 addToChatLog (Lnet/minecraft/class_7471;Lnet/minecraft/class_2556$class_7602;Lcom/mojang/authlib/GameProfile;Lnet/minecraft/class_7595;)V ARG 1 message ARG 2 params ARG 3 sender ARG 4 trustStatus METHOD method_44738 isAlwaysTrusted (Ljava/util/UUID;)Z COMMENT {@return whether messages from {@code sender} are always trusted} COMMENT COMMENT

Messages from this client's player in a singleplayer world are always trusted. ARG 1 sender METHOD method_44765 processDelayedMessages ()V COMMENT Processes all delayed messages until one of them fails to process if the delay COMMENT has passed, and otherwise does nothing. METHOD method_44766 setChatDelay (D)V COMMENT Sets the chat delay to {@code chatDelay} seconds. If the chat delay was changed COMMENT to {@code 0}, this also processes all queued messages. ARG 1 chatDelay METHOD method_44769 process ()V COMMENT Processes one delayed message from the queue's beginning. METHOD method_44772 narrate (Lnet/minecraft/class_2556$class_7602;Lnet/minecraft/class_2561;)V COMMENT Narrates {@code message}. COMMENT COMMENT @see net.minecraft.client.util.NarratorManager#narrateChatMessage ARG 1 params ARG 2 message METHOD method_44775 shouldDelay ()Z COMMENT {@return if the chat delay is set and the message should be delayed} METHOD method_44818 process (Lnet/minecraft/class_7469;Ljava/util/function/BooleanSupplier;)V COMMENT Queues {@code processor} during {@linkplain #shouldDelay the chat delay}, COMMENT otherwise runs the processor. ARG 1 signature ARG 2 processor METHOD method_44819 removeDelayedMessage (Lnet/minecraft/class_7469;)Z COMMENT Removes a delayed message whose signature matches {@code signature}. COMMENT If this returns {@code false}, either the message is not received or it it COMMENT already on the hud. COMMENT COMMENT @return whether the message was removed ARG 1 signature METHOD method_44943 processChatMessageInternal (Lnet/minecraft/class_2556$class_7602;Lnet/minecraft/class_7471;Lnet/minecraft/class_2561;Lcom/mojang/authlib/GameProfile;ZLjava/time/Instant;)Z COMMENT Processes a chat message. COMMENT COMMENT

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

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

This adds the message to the hud, narrates it, and appends it to the COMMENT chat log. COMMENT COMMENT @return whether the message was actually displayed ARG 1 params ARG 2 message ARG 3 decorated ARG 4 sender ARG 5 onlyShowSecureChat ARG 6 receptionTimestamp COMMENT the timestamp when the message was received by this client METHOD method_44944 getUnprocessedMessageCount ()J COMMENT {@return the number of delayed messages that are not processed yet} METHOD method_44945 processAll ()V COMMENT Processes all delayed messages from the queue. METHOD method_45746 onProfilelessMessage (Lnet/minecraft/class_2561;Lnet/minecraft/class_2556$class_7602;)V ARG 1 content ARG 2 params METHOD method_45747 (Lnet/minecraft/class_7469;Lnet/minecraft/class_7594$class_7627;)Z ARG 1 message METHOD method_45748 onChatMessage (Lnet/minecraft/class_7471;Lcom/mojang/authlib/GameProfile;Lnet/minecraft/class_2556$class_7602;)V ARG 1 message ARG 2 sender ARG 3 params METHOD method_53488 onUnverifiedMessage (Ljava/util/UUID;Lnet/minecraft/class_2556$class_7602;)V ARG 1 sender ARG 2 parameters CLASS class_7627 ProcessableMessage COMMENT A message to be processed. An instance is created for each received message. METHOD method_45750 accept ()Z COMMENT If this is not processed yet, adds the message to the hud; otherwise, processes COMMENT the message header without adding to the hud.