diff --git a/mappings/net/minecraft/client/gui/hud/ChatHud.mapping b/mappings/net/minecraft/client/gui/hud/ChatHud.mapping index 67aad80c28..626cc1fbdd 100644 --- a/mappings/net/minecraft/client/gui/hud/ChatHud.mapping +++ b/mappings/net/minecraft/client/gui/hud/ChatHud.mapping @@ -20,7 +20,7 @@ CLASS net/minecraft/class_338 net/minecraft/client/gui/hud/ChatHud ARG 1 message METHOD method_1805 render (Lnet/minecraft/class_4587;I)V ARG 1 matrices - ARG 2 tickDelta + ARG 2 currentTick METHOD method_1806 getWidth (D)I ARG 0 widthOption METHOD method_1808 clear (Z)V @@ -82,3 +82,6 @@ CLASS net/minecraft/class_338 net/minecraft/client/gui/hud/ChatHud METHOD method_44812 hideMessage (Lnet/minecraft/class_7469;)V ARG 1 signature METHOD method_44813 refresh ()V + METHOD method_45027 logChatMessage (Lnet/minecraft/class_2561;Lnet/minecraft/class_7591;)V + ARG 1 message + ARG 2 indicator diff --git a/mappings/net/minecraft/client/gui/hud/MessageIndicator.mapping b/mappings/net/minecraft/client/gui/hud/MessageIndicator.mapping index 29ee0e8d4e..7963dd06c3 100644 --- a/mappings/net/minecraft/client/gui/hud/MessageIndicator.mapping +++ b/mappings/net/minecraft/client/gui/hud/MessageIndicator.mapping @@ -9,6 +9,7 @@ CLASS net/minecraft/class_7591 net/minecraft/client/gui/hud/MessageIndicator METHOD comp_902 loggedName ()Ljava/lang/String; METHOD method_44709 notSecure ()Lnet/minecraft/class_7591; METHOD method_44710 modified (Ljava/lang/String;)Lnet/minecraft/class_7591; + ARG 0 originalText METHOD method_44751 system ()Lnet/minecraft/class_7591; CLASS class_7592 Icon FIELD field_39764 u I diff --git a/mappings/net/minecraft/client/gui/screen/ChatInputSuggestor.mapping b/mappings/net/minecraft/client/gui/screen/ChatInputSuggestor.mapping index 9be402f16a..1a26ef6805 100644 --- a/mappings/net/minecraft/client/gui/screen/ChatInputSuggestor.mapping +++ b/mappings/net/minecraft/client/gui/screen/ChatInputSuggestor.mapping @@ -84,6 +84,7 @@ CLASS net/minecraft/class_4717 net/minecraft/client/gui/screen/ChatInputSuggesto ARG 1 matrices ARG 2 mouseX ARG 3 mouseY + METHOD method_45028 getParse ()Lcom/mojang/brigadier/ParseResults; CLASS class_464 SuggestionWindow FIELD field_21630 lastNarrationIndex I FIELD field_25709 suggestions Ljava/util/List; diff --git a/mappings/net/minecraft/client/gui/screen/ChatScreen.mapping b/mappings/net/minecraft/client/gui/screen/ChatScreen.mapping index 7c01959470..2479c458be 100644 --- a/mappings/net/minecraft/client/gui/screen/ChatScreen.mapping +++ b/mappings/net/minecraft/client/gui/screen/ChatScreen.mapping @@ -85,3 +85,6 @@ CLASS net/minecraft/class_408 net/minecraft/client/gui/screen/ChatScreen METHOD method_44936 (Lnet/minecraft/class_2583;)Z ARG 0 style METHOD method_44937 getPreviewText ()Lnet/minecraft/class_2561; + METHOD method_45029 getPreviewScreenText ()Lnet/minecraft/class_2561; + COMMENT {@return the text to show in the preview screen, or {@code null} if there is + COMMENT nothing to show} diff --git a/mappings/net/minecraft/client/gui/screen/SleepingChatScreen.mapping b/mappings/net/minecraft/client/gui/screen/SleepingChatScreen.mapping index 3629d98b44..693a2dda49 100644 --- a/mappings/net/minecraft/client/gui/screen/SleepingChatScreen.mapping +++ b/mappings/net/minecraft/client/gui/screen/SleepingChatScreen.mapping @@ -1,4 +1,5 @@ CLASS net/minecraft/class_423 net/minecraft/client/gui/screen/SleepingChatScreen + FIELD field_39902 stopSleepingButton Lnet/minecraft/class_4185; METHOD method_19819 (Lnet/minecraft/class_4185;)V ARG 1 button METHOD method_2180 stopSleeping ()V diff --git a/mappings/net/minecraft/client/gui/screen/report/ChatReportScreen.mapping b/mappings/net/minecraft/client/gui/screen/report/ChatReportScreen.mapping index d9638c3757..8cfbcfebc3 100644 --- a/mappings/net/minecraft/client/gui/screen/report/ChatReportScreen.mapping +++ b/mappings/net/minecraft/client/gui/screen/report/ChatReportScreen.mapping @@ -60,6 +60,10 @@ CLASS net/minecraft/class_7538 net/minecraft/client/gui/screen/report/ChatReport METHOD method_44479 send ()V METHOD method_44480 getWidgetsLeft ()I METHOD method_44481 getWidgetsRight ()I + METHOD method_45053 (Lnet/minecraft/class_7566$class_7567;)V + ARG 1 validationError + METHOD method_45054 showErrorScreen (Lnet/minecraft/class_2561;)V + ARG 1 message CLASS class_7539 DiscardWarningScreen FIELD field_39723 TITLE Lnet/minecraft/class_2561; FIELD field_39724 MESSAGE Lnet/minecraft/class_2561; diff --git a/mappings/net/minecraft/client/network/ClientPlayNetworkHandler.mapping b/mappings/net/minecraft/client/network/ClientPlayNetworkHandler.mapping index ebb084d075..6023d77bc1 100644 --- a/mappings/net/minecraft/client/network/ClientPlayNetworkHandler.mapping +++ b/mappings/net/minecraft/client/network/ClientPlayNetworkHandler.mapping @@ -28,6 +28,8 @@ CLASS net/minecraft/class_634 net/minecraft/client/network/ClientPlayNetworkHand COMMENT The number of messages whose acknowledgments aren't sent to the server yet. COMMENT They are sent when the count reaches {@value #MAX_PENDING_ACKNOWLEDGMENTS} COMMENT or when the client sends a message, and this count is reset to zero in those cases. + FIELD field_39916 UNSECURE_SERVER_TOAST_TITLE Lnet/minecraft/class_2561; + FIELD field_39917 UNSECURE_SERVER_TOAST_TEXT Lnet/minecraft/class_2561; METHOD (Lnet/minecraft/class_310;Lnet/minecraft/class_437;Lnet/minecraft/class_2535;Lcom/mojang/authlib/GameProfile;Lnet/minecraft/class_6628;)V ARG 1 client ARG 2 screen diff --git a/mappings/net/minecraft/client/network/ClientPlayerEntity.mapping b/mappings/net/minecraft/client/network/ClientPlayerEntity.mapping index d534daccb9..f5631a46d8 100644 --- a/mappings/net/minecraft/client/network/ClientPlayerEntity.mapping +++ b/mappings/net/minecraft/client/network/ClientPlayerEntity.mapping @@ -135,17 +135,21 @@ CLASS net/minecraft/class_746 net/minecraft/client/network/ClientPlayerEntity COMMENT the command (without the leading slash) ARG 2 preview METHOD method_44099 sendCommand (Ljava/lang/String;)Z - COMMENT Sends an unsigned command to the server. + COMMENT Sends an unsigned command to the server. This fails for commands that + COMMENT {@linkplain #hasSignedArgument have signed arguments}. + COMMENT + COMMENT @see #sendCommand(String, Text) + COMMENT @return whether the command was sent successfully ARG 1 command COMMENT the command (without the leading slash) METHOD method_44297 (Lnet/minecraft/class_2561;Lnet/minecraft/class_7501;Lnet/minecraft/class_7470;Lnet/minecraft/class_7635;Ljava/lang/String;Ljava/lang/String;)Lnet/minecraft/class_7469; ARG 5 argumentName ARG 6 value METHOD method_44826 createMessageMetadata ()Lnet/minecraft/class_7470; - METHOD method_44970 shouldPreview (Ljava/lang/String;)Z - COMMENT {@return whether to preview {@code command}} + METHOD method_44970 hasSignedArgument (Ljava/lang/String;)Z + COMMENT {@return whether {@code command} contains a signed argument} COMMENT - COMMENT @see ArgumentSignatureDataMap#shouldPreview + COMMENT @see ArgumentSignatureDataMap#hasSignedArgument ARG 1 command COMMENT the command (without the leading slash) METHOD method_7290 dropSelectedItem (Z)Z diff --git a/mappings/net/minecraft/client/network/PlayerListEntry.mapping b/mappings/net/minecraft/client/network/PlayerListEntry.mapping index 87e0a620d6..81d7213483 100644 --- a/mappings/net/minecraft/client/network/PlayerListEntry.mapping +++ b/mappings/net/minecraft/client/network/PlayerListEntry.mapping @@ -17,6 +17,7 @@ CLASS net/minecraft/class_640 net/minecraft/client/network/PlayerListEntry METHOD (Lnet/minecraft/class_2703$class_2705;Lnet/minecraft/class_7500;Z)V ARG 1 playerListPacketEntry ARG 2 servicesSignatureVerifier + ARG 3 secureChatEnforced METHOD method_2955 getScoreboardTeam ()Lnet/minecraft/class_268; METHOD method_2956 (Lcom/mojang/authlib/minecraft/MinecraftProfileTexture$Type;Lnet/minecraft/class_2960;Lcom/mojang/authlib/minecraft/MinecraftProfileTexture;)V ARG 1 type diff --git a/mappings/net/minecraft/client/network/ServerInfo.mapping b/mappings/net/minecraft/client/network/ServerInfo.mapping index 9ae962b382..37b695c12e 100644 --- a/mappings/net/minecraft/client/network/ServerInfo.mapping +++ b/mappings/net/minecraft/client/network/ServerInfo.mapping @@ -22,6 +22,7 @@ CLASS net/minecraft/class_642 net/minecraft/client/network/ServerInfo FIELD field_39355 LOGGER Lorg/slf4j/Logger; FIELD field_39356 chatPreview Lnet/minecraft/class_642$class_7484; FIELD field_39436 temporaryChatPreviewState Z + FIELD field_39918 secureChatEnforced Z METHOD (Ljava/lang/String;Ljava/lang/String;Z)V ARG 1 name ARG 2 address @@ -61,6 +62,9 @@ CLASS net/minecraft/class_642 net/minecraft/client/network/ServerInfo COMMENT Sets the temporary chat preview state. Unlike {@link #setPreviewsChat}, this COMMENT does not affect the saved server info. ARG 1 temporaryChatPreviewState + METHOD method_45055 setSecureChatEnforced (Z)V + ARG 1 secureChatEnforced + METHOD method_45056 isSecureChatEnforced ()Z CLASS class_643 ResourcePackPolicy COMMENT The policy of the client when this server sends a {@linkplain COMMENT net.minecraft.network.packet.s2c.play.ResourcePackSendS2CPacket server diff --git a/mappings/net/minecraft/client/network/message/MessageHandler.mapping b/mappings/net/minecraft/client/network/message/MessageHandler.mapping index 26a75c376c..bd46aa7b40 100644 --- a/mappings/net/minecraft/client/network/message/MessageHandler.mapping +++ b/mappings/net/minecraft/client/network/message/MessageHandler.mapping @@ -4,6 +4,7 @@ CLASS net/minecraft/class_7594 net/minecraft/client/network/message/MessageHandl FIELD field_39796 delayedMessages Ljava/util/Deque; FIELD field_39797 chatDelay J FIELD field_39798 lastProcessTime J + FIELD field_39904 CHAT_VALIDATION_FAILED_DISCONNECT_REASON Lnet/minecraft/class_2561; METHOD (Lnet/minecraft/class_310;)V ARG 1 client METHOD method_44731 getPlayerListEntry (Ljava/util/UUID;)Lnet/minecraft/class_640; @@ -122,9 +123,12 @@ CLASS net/minecraft/class_7594 net/minecraft/client/network/message/MessageHandl COMMENT or when the message is originally sent without metadata due to it being originated from COMMENT entities. This is to keep the integrity of the "message chain". COMMENT - COMMENT

This stores the header verification result and adds it to the chat log. + COMMENT

If the header cannot be verified due to a broken chain, this disconnects + COMMENT the client from the server. COMMENT - COMMENT @see net.minecraft.network.message.MessageVerifier#storeHeaderVerification + COMMENT

This adds the header to the chat log. + ARG 1 header + ARG 2 signature ARG 3 bodyDigest METHOD method_44822 addToChatLog (Lnet/minecraft/class_7614;Lnet/minecraft/class_7469;[B)V ARG 1 header @@ -135,6 +139,9 @@ CLASS net/minecraft/class_7594 net/minecraft/client/network/message/MessageHandl METHOD method_44943 processChatMessageInternal (Lnet/minecraft/class_2556$class_7602;Lnet/minecraft/class_7471;Lnet/minecraft/class_2561;Lnet/minecraft/class_640;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. @@ -154,6 +161,8 @@ CLASS net/minecraft/class_7594 net/minecraft/client/network/message/MessageHandl 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_45031 disconnect ()V + COMMENT Disconnects from the server with reason {@link #CHAT_VALIDATION_FAILED_DISCONNECT_REASON}. CLASS 1 FIELD field_39868 processed Z CLASS class_7627 ProcessableMessage diff --git a/mappings/net/minecraft/client/report/AbuseReportReason.mapping b/mappings/net/minecraft/client/report/AbuseReportReason.mapping index a8434d0de3..d98698f85f 100644 --- a/mappings/net/minecraft/client/report/AbuseReportReason.mapping +++ b/mappings/net/minecraft/client/report/AbuseReportReason.mapping @@ -3,10 +3,14 @@ CLASS net/minecraft/class_7573 net/minecraft/client/report/AbuseReportReason FIELD field_39672 text Lnet/minecraft/class_2561; FIELD field_39673 description Lnet/minecraft/class_2561; FIELD field_39741 banReasonId I + FIELD field_39907 reportable Z METHOD (Ljava/lang/String;IILjava/lang/String;Z)V ARG 3 banReasonId + ARG 4 id + ARG 5 reportable METHOD method_44594 getId ()Ljava/lang/String; METHOD method_44595 getText ()Lnet/minecraft/class_2561; METHOD method_44596 getDescription ()Lnet/minecraft/class_2561; METHOD method_44681 getText (I)Lnet/minecraft/class_2561; ARG 0 banReasonId + METHOD method_45032 isReportable ()Z diff --git a/mappings/net/minecraft/client/report/ChatAbuseReport.mapping b/mappings/net/minecraft/client/report/ChatAbuseReport.mapping index 889f21b473..c1eaea4c46 100644 --- a/mappings/net/minecraft/client/report/ChatAbuseReport.mapping +++ b/mappings/net/minecraft/client/report/ChatAbuseReport.mapping @@ -50,6 +50,7 @@ CLASS net/minecraft/class_7566 net/minecraft/client/report/ChatAbuseReport METHOD method_44959 collectIndicesUntilLastSeen (Lnet/minecraft/class_7555;ILnet/minecraft/class_7471;)Lit/unimi/dsi/fastutil/ints/IntCollection; ARG 0 log ARG 1 selectedIndex + ARG 2 message METHOD method_44960 collectPrecedingMessages (Lnet/minecraft/class_7555;ILnet/minecraft/class_7566$class_7632;)V ARG 0 log ARG 1 selectedIndex @@ -64,6 +65,7 @@ CLASS net/minecraft/class_7566 net/minecraft/client/report/ChatAbuseReport ARG 1 headerEntry METHOD method_44964 (Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;IILnet/minecraft/class_7557$class_7558;)Z ARG 0 index + ARG 1 message METHOD method_44965 (Lit/unimi/dsi/fastutil/ints/Int2ObjectMap;Lnet/minecraft/class_7555$class_7560;)V ARG 0 message METHOD method_44966 (Lit/unimi/dsi/fastutil/ints/Int2ObjectSortedMap;Lnet/minecraft/class_7555$class_7560;)V diff --git a/mappings/net/minecraft/client/report/MessagesListAdder.mapping b/mappings/net/minecraft/client/report/MessagesListAdder.mapping index 823124ebf6..ad559c6a8d 100644 --- a/mappings/net/minecraft/client/report/MessagesListAdder.mapping +++ b/mappings/net/minecraft/client/report/MessagesListAdder.mapping @@ -3,9 +3,11 @@ CLASS net/minecraft/class_7541 net/minecraft/client/report/MessagesListAdder FIELD field_39581 log Lnet/minecraft/class_7555; FIELD field_39582 reportablePredicate Ljava/util/function/Predicate; FIELD field_39583 logMaxIndex I + FIELD field_39903 collectedMessageClass Ljava/lang/Class; METHOD (Lnet/minecraft/class_7555;Ljava/util/function/Predicate;Ljava/lang/Class;)V ARG 1 log ARG 2 reportablePredicate + ARG 3 collectedMessageClass METHOD method_44484 collectGroupedMessages ()Lnet/minecraft/class_7535$class_7537; METHOD method_44485 (II)I ARG 0 acc @@ -18,6 +20,10 @@ CLASS net/minecraft/class_7541 net/minecraft/client/report/MessagesListAdder METHOD method_44488 getReportType (Lnet/minecraft/class_7557;)Lnet/minecraft/class_7535$class_7536; ARG 1 message METHOD method_44489 addContextMessages (Ljava/util/List;Lnet/minecraft/class_7541$class_7542;)I + ARG 1 messages + ARG 2 messagesList + METHOD method_44939 (Lnet/minecraft/class_7555$class_7560;)Lnet/minecraft/class_7555$class_7560; + ARG 1 entry CLASS class_7542 MessagesList METHOD method_44490 addMessage (ILnet/minecraft/class_7557;)V ARG 1 index diff --git a/mappings/net/minecraft/command/argument/DecoratableArgumentList.mapping b/mappings/net/minecraft/command/argument/DecoratableArgumentList.mapping new file mode 100644 index 0000000000..641daec1a9 --- /dev/null +++ b/mappings/net/minecraft/command/argument/DecoratableArgumentList.mapping @@ -0,0 +1,17 @@ +CLASS net/minecraft/class_7644 net/minecraft/command/argument/DecoratableArgumentList + COMMENT A list of parsed {@linkplain DecoratableArgumentType decoratable arguments}. + COMMENT + COMMENT @see #of + METHOD method_45043 of (Lcom/mojang/brigadier/ParseResults;)Lnet/minecraft/class_7644; + COMMENT {@return a new instance of this list from {@code parseResults}} + ARG 0 parseResults + METHOD method_45044 collectDecoratableArguments (Lcom/mojang/brigadier/context/CommandContextBuilder;)Ljava/util/List; + ARG 0 contextBuilder + METHOD method_45045 contains (Lcom/mojang/brigadier/tree/CommandNode;)Z + COMMENT {@return whether {@code node} is in this list of parsed decorated arguments} + ARG 1 node + CLASS class_7645 ParsedArgument + COMMENT A parsed decoratable argument, also used as the entry of {@link DecoratableArgumentList}. + FIELD comp_977 argumentType Lnet/minecraft/class_7517; + METHOD comp_977 argumentType ()Lnet/minecraft/class_7517; + METHOD method_45046 getNodeName ()Ljava/lang/String; diff --git a/mappings/net/minecraft/command/argument/DecoratableArgumentType.mapping b/mappings/net/minecraft/command/argument/DecoratableArgumentType.mapping index b1271dcc07..c9e15bfac3 100644 --- a/mappings/net/minecraft/command/argument/DecoratableArgumentType.mapping +++ b/mappings/net/minecraft/command/argument/DecoratableArgumentType.mapping @@ -4,3 +4,5 @@ CLASS net/minecraft/class_7517 net/minecraft/command/argument/DecoratableArgumen ARG 2 format METHOD method_44261 getFormatClass ()Ljava/lang/Class; METHOD method_44282 decorate (Lnet/minecraft/class_2168;Lcom/mojang/brigadier/context/ParsedArgument;)Ljava/util/concurrent/CompletableFuture; + ARG 1 source + ARG 2 parsedValue diff --git a/mappings/net/minecraft/command/argument/MessageArgumentType.mapping b/mappings/net/minecraft/command/argument/MessageArgumentType.mapping index 55c1c8953b..6038bb8afd 100644 --- a/mappings/net/minecraft/command/argument/MessageArgumentType.mapping +++ b/mappings/net/minecraft/command/argument/MessageArgumentType.mapping @@ -55,6 +55,7 @@ CLASS net/minecraft/class_2196 net/minecraft/command/argument/MessageArgumentTyp COMMENT COMMENT

This should be called if the message could not be sent due to an exception. COMMENT See {@link net.minecraft.server.command.MessageCommand} for an example. + ARG 1 source METHOD method_44808 filterText (Lnet/minecraft/class_2168;Ljava/lang/String;)Ljava/util/concurrent/CompletableFuture; ARG 1 source ARG 2 text diff --git a/mappings/net/minecraft/network/message/ArgumentSignatureDataMap.mapping b/mappings/net/minecraft/network/message/ArgumentSignatureDataMap.mapping index 573aa9a571..8824ad9d00 100644 --- a/mappings/net/minecraft/network/message/ArgumentSignatureDataMap.mapping +++ b/mappings/net/minecraft/network/message/ArgumentSignatureDataMap.mapping @@ -17,19 +17,23 @@ CLASS net/minecraft/class_7450 net/minecraft/network/message/ArgumentSignatureDa METHOD method_43749 write (Lnet/minecraft/class_2540;)V ARG 1 buf METHOD method_44797 sign (Lnet/minecraft/class_7644;Lnet/minecraft/class_7450$class_7600;)Lnet/minecraft/class_7450; - COMMENT {@return the signature map with arguments from {@code builder} signed with + COMMENT {@return the signature map with {@code arguments} signed with COMMENT {@code signer}} + ARG 0 arguments ARG 1 signer METHOD method_44798 (Lnet/minecraft/class_7450$class_7600;Lcom/mojang/datafixers/util/Pair;)Lnet/minecraft/class_7450$class_7599; ARG 1 entry METHOD method_44799 (Lnet/minecraft/class_2540;Lnet/minecraft/class_7450$class_7599;)V ARG 0 buf2 ARG 1 entry - METHOD method_44910 shouldPreview (Lnet/minecraft/class_7644;)Z - COMMENT {@return whether to preview {@code parseResults}} - COMMENT - COMMENT

This returns {@code true} if the parsed arguments include {@link - COMMENT SignedArgumentType}. + METHOD method_44910 hasSignedArgument (Lnet/minecraft/class_7644;)Z + COMMENT {@return whether the parsed arguments include {@link SignedArgumentType}} + ARG 0 arguments + METHOD method_45019 (Lnet/minecraft/class_7644$class_7645;)Z + ARG 0 argument + METHOD method_45020 toNameValuePairs (Lnet/minecraft/class_7644;)Ljava/util/List; + COMMENT {@return {@code arguments} converted to a list of signed name/value pairs} + ARG 0 arguments CLASS class_7599 Entry COMMENT An entry of the signatures map, consisting of the argument's name and signature data. METHOD (Lnet/minecraft/class_2540;)V diff --git a/mappings/net/minecraft/network/message/CachedDecoratorResult.mapping b/mappings/net/minecraft/network/message/CachedDecoratorResult.mapping new file mode 100644 index 0000000000..14b116ed9e --- /dev/null +++ b/mappings/net/minecraft/network/message/CachedDecoratorResult.mapping @@ -0,0 +1,27 @@ +CLASS net/minecraft/class_7642 net/minecraft/network/message/CachedDecoratorResult + COMMENT The cached result of {@link MessageDecorator}'s decorated message. + COMMENT + COMMENT

The result is cached per player, and is consumed when the message is actually + COMMENT sent. Caching allows the decorator's result to be not pure (e.g. uses externally + COMMENT controlled variables), as decorators that produce different results on the second + COMMENT execution at submission time do not affect the verification. + FIELD field_39909 cachedResult Lnet/minecraft/class_7642$class_7643; + METHOD method_45035 tryConsume (Ljava/lang/String;)Lnet/minecraft/class_2561; + COMMENT Consumes the cached result if possible. + COMMENT + COMMENT

The result can only be consumed if it exists and the cached query equals + COMMENT {@code query}. After consuming, the cached result is set to {@code null}. + COMMENT + COMMENT @return the cached result, or {@code null} if it cannot be consumed + ARG 1 query + METHOD method_45036 setCachedResult (Ljava/lang/String;Lnet/minecraft/class_2561;)V + COMMENT Sets the cached result to {@code preview} for {@code query}. + COMMENT + COMMENT @see CachedDecoratorResult.Cache + ARG 1 query + ARG 2 preview + CLASS class_7643 Cache + COMMENT The cached result. + METHOD method_45037 queryEquals (Ljava/lang/String;)Z + COMMENT {@return whether the cached query equals {@code query}} + ARG 1 query diff --git a/mappings/net/minecraft/network/message/MessageBody.mapping b/mappings/net/minecraft/network/message/MessageBody.mapping index 8c9dd70e8b..28ad5f5eb2 100644 --- a/mappings/net/minecraft/network/message/MessageBody.mapping +++ b/mappings/net/minecraft/network/message/MessageBody.mapping @@ -17,3 +17,6 @@ CLASS net/minecraft/class_7608 net/minecraft/network/message/MessageBody COMMENT since the Unix epoch, the content, and the list of each player's last seen message. METHOD method_44869 write (Lnet/minecraft/class_2540;)V ARG 1 buf + METHOD method_45047 withContent (Lnet/minecraft/class_7634;)Lnet/minecraft/class_7608; + COMMENT {@return a new message body with its content replaced with {@code content}} + ARG 1 content diff --git a/mappings/net/minecraft/network/message/MessageDecorator.mapping b/mappings/net/minecraft/network/message/MessageDecorator.mapping index 6c5df5365f..3f449bfc77 100644 --- a/mappings/net/minecraft/network/message/MessageDecorator.mapping +++ b/mappings/net/minecraft/network/message/MessageDecorator.mapping @@ -11,12 +11,10 @@ CLASS net/minecraft/class_7492 net/minecraft/network/message/MessageDecorator COMMENT "Only Show Secure Chat" option}, they will see the undecorated message. Therefore, COMMENT message decorator is not recommended for censoring messages. COMMENT - COMMENT

It is very important that the decorator be pure; i.e. return the - COMMENT same text when given the same text (and sender). Otherwise, the server - COMMENT detects a mismatch between the preview and the actual message, and discards the message - COMMENT as it is now considered improperly signed. For example, a decorator that appends - COMMENT the time the decoration was applied would be likely to fail, since there is usually - COMMENT a delay between the previewing and the submission. + COMMENT

Message decorator results are {@linkplain CachedDecoratorResult cached}, allowing + COMMENT non-pure decorators (i.e. ones affected by externally controlled variables) without + COMMENT affecting the signature verification process. Note that the decorator can still + COMMENT run during message submission to decorate filtered parts of the message. FIELD field_39384 NOOP Lnet/minecraft/class_7492; COMMENT An empty message decorator that returns the original message. METHOD decorate (Lnet/minecraft/class_3222;Lnet/minecraft/class_2561;)Ljava/util/concurrent/CompletableFuture; diff --git a/mappings/net/minecraft/network/message/MessageType.mapping b/mappings/net/minecraft/network/message/MessageType.mapping index b111acc57a..583d5f24fd 100644 --- a/mappings/net/minecraft/network/message/MessageType.mapping +++ b/mappings/net/minecraft/network/message/MessageType.mapping @@ -110,7 +110,10 @@ CLASS net/minecraft/class_2556 net/minecraft/network/message/MessageType ARG 1 buf METHOD comp_922 typeId ()I METHOD method_44840 toParameters (Lnet/minecraft/class_5455;)Ljava/util/Optional; - COMMENT {@return a deserialized version of this instance} + COMMENT {@return a deserialized version of this instance, or {@link Optional#empty} if + COMMENT {@link #typeId} is unknown to the client} ARG 1 registryManager METHOD method_44841 write (Lnet/minecraft/class_2540;)V ARG 1 buf + METHOD method_45038 (Lnet/minecraft/class_2556;)Lnet/minecraft/class_2556$class_7602; + ARG 1 type diff --git a/mappings/net/minecraft/network/message/MessageVerifier.mapping b/mappings/net/minecraft/network/message/MessageVerifier.mapping index aa01310b4b..23ecc93dbf 100644 --- a/mappings/net/minecraft/network/message/MessageVerifier.mapping +++ b/mappings/net/minecraft/network/message/MessageVerifier.mapping @@ -6,13 +6,13 @@ CLASS net/minecraft/class_7615 net/minecraft/network/message/MessageVerifier METHOD method_44885 create (Lnet/minecraft/class_7428;Z)Lnet/minecraft/class_7615; ARG 0 publicKey METHOD method_44886 verify (Lnet/minecraft/class_7471;)Lnet/minecraft/class_7615$class_7646; + COMMENT {@return the status of verifying the message} ARG 1 message - METHOD method_44887 storeHeaderVerification (Lnet/minecraft/class_7614;Lnet/minecraft/class_7469;[B)Lnet/minecraft/class_7615$class_7646; - COMMENT Stores the status of verifying the header. + METHOD method_44887 verify (Lnet/minecraft/class_7614;Lnet/minecraft/class_7469;[B)Lnet/minecraft/class_7615$class_7646; + COMMENT {@return the status of verifying the header} COMMENT COMMENT

Clients can receive only the message header instead of the whole message. This - COMMENT allows the chain to reference such messages. Since no actual content is received, - COMMENT this does not return the verification status. + COMMENT allows the verification of such messages. ARG 1 header ARG 2 signature ARG 3 bodyDigest @@ -24,5 +24,18 @@ CLASS net/minecraft/class_7615 net/minecraft/network/message/MessageVerifier ARG 1 signatureVerifier METHOD method_44996 verifyPrecedingSignature (Lnet/minecraft/class_7614;Lnet/minecraft/class_7469;Z)Z ARG 1 header - METHOD method_44997 verify (Lnet/minecraft/class_7614;Lnet/minecraft/class_7469;[BZ)Z + METHOD method_44997 verifyInternal (Lnet/minecraft/class_7614;Lnet/minecraft/class_7469;[BZ)Z + ARG 1 header ARG 3 bodyDigest + METHOD method_45048 getStatus (Lnet/minecraft/class_7614;Lnet/minecraft/class_7469;[BZ)Lnet/minecraft/class_7615$class_7646; + ARG 1 header + ARG 2 signature + ARG 3 bodyDigest + CLASS class_7646 Status + COMMENT The verification status of a message. + FIELD field_39910 Lnet/minecraft/class_7615$class_7646; + COMMENT The message is verified. + FIELD field_39911 Lnet/minecraft/class_7615$class_7646; + COMMENT The message cannot be verified. + FIELD field_39912 Lnet/minecraft/class_7615$class_7646; + COMMENT The message cannot be verified due to the last message not being verified. diff --git a/mappings/net/minecraft/network/message/SentMessage.mapping b/mappings/net/minecraft/network/message/SentMessage.mapping index 2c37c2d5be..bd893eb796 100644 --- a/mappings/net/minecraft/network/message/SentMessage.mapping +++ b/mappings/net/minecraft/network/message/SentMessage.mapping @@ -12,6 +12,7 @@ CLASS net/minecraft/class_7604 net/minecraft/network/message/SentMessage METHOD method_44857 of (Lnet/minecraft/class_7471;)Lnet/minecraft/class_7604; COMMENT {@return the wrapped {@code message}} ARG 0 message + METHOD method_45039 getContent ()Lnet/minecraft/class_2561; CLASS class_7606 Profileless COMMENT The wrapper used for messages without associated source profile. FIELD field_39814 message Lnet/minecraft/class_7471; diff --git a/mappings/net/minecraft/network/message/SignedCommandArguments.mapping b/mappings/net/minecraft/network/message/SignedCommandArguments.mapping index e80b818e38..51c697a905 100644 --- a/mappings/net/minecraft/network/message/SignedCommandArguments.mapping +++ b/mappings/net/minecraft/network/message/SignedCommandArguments.mapping @@ -1,5 +1,8 @@ CLASS net/minecraft/class_7448 net/minecraft/network/message/SignedCommandArguments COMMENT An interface wrapping {@link ArgumentSignatureDataMap} with metadata attached. + FIELD field_39901 EMPTY Lnet/minecraft/class_7448; + COMMENT An empty signed command arguments that always returns {@code null} for + COMMENT {@link #createSignature}. METHOD method_44907 createSignature (Ljava/lang/String;)Lnet/minecraft/class_7471; ARG 1 argumentName CLASS class_7449 Impl diff --git a/mappings/net/minecraft/network/message/SignedMessage.mapping b/mappings/net/minecraft/network/message/SignedMessage.mapping index 5d5f815a9a..a730f3f965 100644 --- a/mappings/net/minecraft/network/message/SignedMessage.mapping +++ b/mappings/net/minecraft/network/message/SignedMessage.mapping @@ -38,3 +38,12 @@ CLASS net/minecraft/class_7471 net/minecraft/network/message/SignedMessage METHOD method_44865 getSalt ()J METHOD method_44866 createMetadata ()Lnet/minecraft/class_7470; METHOD method_44995 toLastSeenMessageEntry ()Lnet/minecraft/class_7635$class_7609; + METHOD method_45040 canVerifyFrom (Ljava/util/UUID;)Z + COMMENT {@return whether the message can be verified as from {@code sender}} + COMMENT + COMMENT

This does not actually verify that the message is, in fact, from {@code sender}. + COMMENT Rather, this returns whether it's possible to verify that {@code sender} sent this + COMMENT message. + METHOD method_45041 ofUnsigned (Lnet/minecraft/class_7634;)Lnet/minecraft/class_7471; + COMMENT {@return a new signed message with empty signature} + ARG 0 content diff --git a/mappings/net/minecraft/network/packet/s2c/play/ServerMetadataS2CPacket.mapping b/mappings/net/minecraft/network/packet/s2c/play/ServerMetadataS2CPacket.mapping index 86d7e14e56..dfe253f237 100644 --- a/mappings/net/minecraft/network/packet/s2c/play/ServerMetadataS2CPacket.mapping +++ b/mappings/net/minecraft/network/packet/s2c/play/ServerMetadataS2CPacket.mapping @@ -2,12 +2,15 @@ CLASS net/minecraft/class_7495 net/minecraft/network/packet/s2c/play/ServerMetad FIELD field_39387 description Ljava/util/Optional; FIELD field_39388 favicon Ljava/util/Optional; FIELD field_39389 previewsChat Z + FIELD field_39920 secureChatEnforced Z METHOD (Lnet/minecraft/class_2540;)V ARG 1 buf METHOD (Lnet/minecraft/class_2561;Ljava/lang/String;ZZ)V ARG 1 description ARG 2 favicon ARG 3 previewsChat + ARG 4 secureChatEnforced METHOD method_44132 getDescription ()Ljava/util/Optional; METHOD method_44133 getFavicon ()Ljava/util/Optional; METHOD method_44134 shouldPreviewChat ()Z + METHOD method_45058 isSecureChatEnforced ()Z diff --git a/mappings/net/minecraft/server/MinecraftServer.mapping b/mappings/net/minecraft/server/MinecraftServer.mapping index 2b9ff859ff..ba12d1d291 100644 --- a/mappings/net/minecraft/server/MinecraftServer.mapping +++ b/mappings/net/minecraft/server/MinecraftServer.mapping @@ -407,6 +407,9 @@ CLASS net/minecraft/server/MinecraftServer METHOD method_42062 forceStopRecorder ()V METHOD method_43500 shouldEnforceSecureProfile ()Z METHOD method_43614 logChatMessage (Lnet/minecraft/class_2561;Lnet/minecraft/class_2556$class_7602;Ljava/lang/String;)V + ARG 1 message + ARG 2 params + ARG 3 prefix METHOD method_43659 getResourcePackProperties ()Ljava/util/Optional; METHOD method_43824 getHostProfile ()Lcom/mojang/authlib/GameProfile; METHOD method_43825 setHostProfile (Lcom/mojang/authlib/GameProfile;)V diff --git a/mappings/net/minecraft/server/ServerMetadata.mapping b/mappings/net/minecraft/server/ServerMetadata.mapping index e926525e4f..613f7b3273 100644 --- a/mappings/net/minecraft/server/ServerMetadata.mapping +++ b/mappings/net/minecraft/server/ServerMetadata.mapping @@ -7,6 +7,7 @@ CLASS net/minecraft/class_2926 net/minecraft/server/ServerMetadata FIELD field_33375 FAVICON_WIDTH I FIELD field_33376 FAVICON_HEIGHT I FIELD field_39391 previewsChat Z + FIELD field_39914 secureChatEnforced Z METHOD method_12677 setFavicon (Ljava/lang/String;)V ARG 1 favicon METHOD method_12678 getFavicon ()Ljava/lang/String; @@ -22,6 +23,9 @@ CLASS net/minecraft/class_2926 net/minecraft/server/ServerMetadata METHOD method_44138 setPreviewsChat (Z)V ARG 1 previewsChat METHOD method_44139 shouldPreviewChat ()Z + METHOD method_45050 setSecureChatEnforced (Z)V + ARG 1 secureChatEnforced + METHOD method_45051 isSecureChatEnforced ()Z CLASS class_2927 Players FIELD field_13287 sample [Lcom/mojang/authlib/GameProfile; FIELD field_13288 online I diff --git a/mappings/net/minecraft/server/command/CommandManager.mapping b/mappings/net/minecraft/server/command/CommandManager.mapping index 13b4c656cc..c84fcf6420 100644 --- a/mappings/net/minecraft/server/command/CommandManager.mapping +++ b/mappings/net/minecraft/server/command/CommandManager.mapping @@ -21,6 +21,11 @@ CLASS net/minecraft/class_2170 net/minecraft/server/command/CommandManager COMMENT with a slash. ARG 1 source ARG 2 command + METHOD method_45018 withCommandSource (Lcom/mojang/brigadier/ParseResults;Ljava/util/function/UnaryOperator;)Lcom/mojang/brigadier/ParseResults; + COMMENT {@return {@code parseResults} with {@code sourceMapper} applied to the + COMMENT command source} + ARG 0 parseResults + ARG 1 sourceMapper METHOD method_9235 getDispatcher ()Lcom/mojang/brigadier/CommandDispatcher; METHOD method_9236 (Ljava/lang/String;Lnet/minecraft/class_2583;)Lnet/minecraft/class_2583; ARG 1 style @@ -54,6 +59,7 @@ CLASS net/minecraft/class_2170 net/minecraft/server/command/CommandManager COMMENT Executes {@code command}. The command cannot be prefixed with a slash. COMMENT COMMENT @see #executeWithPrefix(ServerCommandSource, String) + ARG 1 parseResults ARG 2 command CLASS class_2171 CommandParser METHOD parse (Lcom/mojang/brigadier/StringReader;)V diff --git a/mappings/net/minecraft/server/network/ServerPlayNetworkHandler.mapping b/mappings/net/minecraft/server/network/ServerPlayNetworkHandler.mapping index f4fa486e20..1b60c77807 100644 --- a/mappings/net/minecraft/server/network/ServerPlayNetworkHandler.mapping +++ b/mappings/net/minecraft/server/network/ServerPlayNetworkHandler.mapping @@ -41,6 +41,7 @@ CLASS net/minecraft/class_3244 net/minecraft/server/network/ServerPlayNetworkHan FIELD field_39825 acknowledgmentValidator Lnet/minecraft/class_7638; FIELD field_39826 messageChainTaskQueue Lnet/minecraft/class_7619; FIELD field_39827 MAX_PENDING_ACKNOWLEDGMENTS I + FIELD field_39899 cachedDecoratorResult Lnet/minecraft/class_7642; METHOD (Lnet/minecraft/server/MinecraftServer;Lnet/minecraft/class_2535;Lnet/minecraft/class_3222;)V ARG 1 server ARG 2 connection @@ -149,6 +150,8 @@ CLASS net/minecraft/class_3244 net/minecraft/server/network/ServerPlayNetworkHan ARG 2 decorated METHOD method_44155 handleDecoratedMessage (Lnet/minecraft/class_7471;)V METHOD method_44156 decorateCommand (Lnet/minecraft/class_2168;Lnet/minecraft/class_7644;)Ljava/util/concurrent/CompletableFuture; + ARG 1 source + ARG 2 arguments METHOD method_44158 (Lnet/minecraft/class_2561;Lnet/minecraft/class_2561;)Lnet/minecraft/class_2561; ARG 1 decorated METHOD method_44159 decorate (Ljava/lang/String;)Ljava/util/concurrent/CompletableFuture; @@ -168,8 +171,12 @@ CLASS net/minecraft/class_3244 net/minecraft/server/network/ServerPlayNetworkHan METHOD method_44337 canAcceptMessage (Ljava/lang/String;Ljava/time/Instant;Lnet/minecraft/class_7635$class_7636;)Z COMMENT {@return whether {@code message}, sent at {@code timestamp}, should be accepted} COMMENT - COMMENT @implNote This returns {@code false} if the message arrives in {@linkplain - COMMENT #isInProperOrder improper order} or if chat is disabled. + COMMENT

This returns {@code false} if the message arrives in {@linkplain + COMMENT #isInProperOrder improper order}, if chat is disabled, or if {@linkplain + COMMENT AcknowledgmentValidator#validate acknowledgment validation fails}. + COMMENT Note that the signatures are verified in {@link #canAcceptMessage(SignedMessage)}. + COMMENT + COMMENT @see #canAcceptMessage(SignedMessage) ARG 1 message ARG 2 timestamp ARG 3 acknowledgment @@ -185,6 +192,42 @@ CLASS net/minecraft/class_3244 net/minecraft/server/network/ServerPlayNetworkHan COMMENT Chat preview is always enabled for integrated servers. COMMENT COMMENT @see MinecraftServer#shouldPreviewChat + METHOD method_45002 (Lnet/minecraft/class_7448;Lnet/minecraft/class_2168;)Lnet/minecraft/class_2168; + ARG 1 source + METHOD method_45003 parse (Ljava/lang/String;)Lcom/mojang/brigadier/ParseResults; + COMMENT {@return the result of parsing {@code command}} + ARG 1 command + COMMENT the command to parse (without the leading slash) + METHOD method_45004 (Ljava/lang/String;Lnet/minecraft/class_2561;)V + ARG 2 decorated + METHOD method_45006 collectArgumentMessages (Lnet/minecraft/class_7472;Lnet/minecraft/class_7644;)Ljava/util/Map; + COMMENT {@return a map of argument name and value as signed messages} + ARG 1 packet + ARG 2 arguments + METHOD method_45008 (Ljava/lang/String;Lnet/minecraft/class_2561;)V + ARG 2 decorated + METHOD method_45009 canAcceptMessage (Lnet/minecraft/class_7471;)Z + COMMENT {@return whether {@code message} can be accepted} + COMMENT + COMMENT

This verifies the message's signature and disconnects the client if it cannot + COMMENT be verified. Additionally, this logs a warning (without disconnection or + COMMENT rejection of messages) for expired messages. + COMMENT + COMMENT @see #canAcceptMessage(String, Instant, LastSeenMessageList.Acknowledgment) + ARG 1 message + METHOD method_45010 handleCommandExecution (Lnet/minecraft/class_7472;)V + ARG 1 packet + METHOD method_45011 getSignedMessage (Lnet/minecraft/class_2797;)Lnet/minecraft/class_7471; + ARG 1 packet + METHOD method_45013 getDecoratedContents (Lnet/minecraft/class_2797;)Lnet/minecraft/class_7634; + COMMENT {@return the decorated contents for {@code packet}} + COMMENT + COMMENT @implNote This returns the {@linkplain CachedDecoratorResult#tryConsume consumed + COMMENT cached result} if it exists, and otherwise returns a new {@link DecoratedContents} + COMMENT without message decorators applied. This method does not execute message decorators; + COMMENT they are executed in {@link #onRequestChatPreview} (for normal messages) or {@link + COMMENT #handleMessage(SignedMessage, FilteredMessage)} (for filtered parts of messages). + ARG 1 packet CLASS 1 METHOD method_33897 processInteract (Lnet/minecraft/class_1268;Lnet/minecraft/class_3244$class_5860;)V ARG 1 hand