Package net.minecraft.network.message
Class AcknowledgmentValidator
java.lang.Object
net.minecraft.network.message.AcknowledgmentValidator
A class that validates the clients' message acknowledgment.
When clients receive or send messages, they send "acknowledgments" to the server, containing messages they've last seen or received. If there are too many messages waiting for message acknowledgments (more than 4096), or if the acknowledgment is incorrect, the client will be disconnected.
- Mappings:
Namespace Name official ryintermediary net/minecraft/class_7638named net/minecraft/network/message/AcknowledgmentValidator
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ObjectList<LastSeenMessageList.Entry>private LastSeenMessageListprivate static final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidintprivate booleanhasDuplicateProfiles(LastSeenMessageList messages) Returns whethermessageshave multiple entries with the same profile ID.private intorder(List<LastSeenMessageList.Entry> lastSeen, int[] result, LastSeenMessageList.Entry lastReceived) OrderslastSeen.validate(LastSeenMessageList.Acknowledgment acknowledgment) Validatesacknowledgment.
-
Field Details
-
UNKNOWN
private static final int UNKNOWN- See Also:
- Mappings:
Namespace Name Mixin selector official aLry;a:Iintermediary field_39888Lnet/minecraft/class_7638;field_39888:Inamed UNKNOWNLnet/minecraft/network/message/AcknowledgmentValidator;UNKNOWN:I
-
prevValidated
- Mappings:
Namespace Name Mixin selector official bLry;b:Lrw;intermediary field_39889Lnet/minecraft/class_7638;field_39889:Lnet/minecraft/class_7635;named prevValidatedLnet/minecraft/network/message/AcknowledgmentValidator;prevValidated:Lnet/minecraft/network/message/LastSeenMessageList;
-
pending
- Mappings:
Namespace Name Mixin selector official cLry;c:Lit/unimi/dsi/fastutil/objects/ObjectList;intermediary field_39890Lnet/minecraft/class_7638;field_39890:Lit/unimi/dsi/fastutil/objects/ObjectList;named pendingLnet/minecraft/network/message/AcknowledgmentValidator;pending:Lit/unimi/dsi/fastutil/objects/ObjectList;
-
-
Constructor Details
-
AcknowledgmentValidator
public AcknowledgmentValidator()
-
-
Method Details
-
addPending
- Mappings:
Namespace Name Mixin selector official aLry;a(Lrw$a;)Vintermediary method_44989Lnet/minecraft/class_7638;method_44989(Lnet/minecraft/class_7635$class_7609;)Vnamed addPendingLnet/minecraft/network/message/AcknowledgmentValidator;addPending(Lnet/minecraft/network/message/LastSeenMessageList$Entry;)V
-
getPendingCount
public int getPendingCount()- Mappings:
Namespace Name Mixin selector official aLry;a()Iintermediary method_44987Lnet/minecraft/class_7638;method_44987()Inamed getPendingCountLnet/minecraft/network/message/AcknowledgmentValidator;getPendingCount()I
-
hasDuplicateProfiles
Returns whethermessageshave multiple entries with the same profile ID.If
true, validation fails.- Returns:
- whether
messageshave multiple entries with the same profile ID - Mappings:
Namespace Name Mixin selector official aLry;a(Lrw;)Zintermediary method_44991Lnet/minecraft/class_7638;method_44991(Lnet/minecraft/class_7635;)Znamed hasDuplicateProfilesLnet/minecraft/network/message/AcknowledgmentValidator;hasDuplicateProfiles(Lnet/minecraft/network/message/LastSeenMessageList;)Z
-
order
private int order(List<LastSeenMessageList.Entry> lastSeen, int[] result, @Nullable LastSeenMessageList.Entry lastReceived) OrderslastSeen.resultshould be an array with the same size aslastSeen, and it will hold the order of each entry, where a larger integer corresponds to more recent message. If the integer is -2147483648, then the message is unknown (neither previously acknowledged nor is newly sent), which causes validation failure.- Returns:
- the order of the last received message; if any messages have higher order than this, it is a validation failure.
- Mappings:
Namespace Name Mixin selector official aLry;a(Ljava/util/List;[ILrw$a;)Iintermediary method_44988Lnet/minecraft/class_7638;method_44988(Ljava/util/List;[ILnet/minecraft/class_7635$class_7609;)Inamed orderLnet/minecraft/network/message/AcknowledgmentValidator;order(Ljava/util/List;[ILnet/minecraft/network/message/LastSeenMessageList$Entry;)I
-
validate
public Set<AcknowledgmentValidator.FailureReason> validate(LastSeenMessageList.Acknowledgment acknowledgment) Validatesacknowledgment.- Returns:
- reasons for acknowledgment validation failure, or an empty set if validation is successful
- Mappings:
Namespace Name Mixin selector official aLry;a(Lrw$b;)Ljava/util/Set;intermediary method_44990Lnet/minecraft/class_7638;method_44990(Lnet/minecraft/class_7635$class_7636;)Ljava/util/Set;named validateLnet/minecraft/network/message/AcknowledgmentValidator;validate(Lnet/minecraft/network/message/LastSeenMessageList$Acknowledgment;)Ljava/util/Set;
-