Êþº¾Eï  java/lang/Object()Vjava/util/LinkedHashMap   'net/minecraft/server/PlayerAdvancementsprogressLjava/util/Map;java/util/HashSet   visibleLjava/util/Set;  progressChanged   rootsToUpdate    isFirstPacketZ"java/util/IdentityHashMap ! % &activeTriggers ( )* playerList)Lnet/minecraft/server/players/PlayerList; , -.playerSavePathLjava/nio/file/Path; 0 12player)Lnet/minecraft/server/level/ServerPlayer; 456 78-net/minecraft/server/ServerAdvancementManagertree.()Lnet/minecraft/advancements/AdvancementTree; : 7;,Lnet/minecraft/advancements/AdvancementTree; =>? @A'net/minecraft/util/datafix/DataFixTypes ADVANCEMENTS)Lnet/minecraft/util/datafix/DataFixTypes; CDE FG,net/minecraft/server/PlayerAdvancements$DataCODEC Lcom/mojang/serialization/Codec; =I JK wrapCodecd(Lcom/mojang/serialization/Codec;Lcom/mojang/datafixers/DataFixer;I)Lcom/mojang/serialization/Codec; M NGcodec P QRload2(Lnet/minecraft/server/ServerAdvancementManager;)V TUV W java/util/Mapclear Y Z clearTriggers \U] java/util/Set _ `alastSelectedTab.Lnet/minecraft/advancements/AdvancementHolder; 4c degetAllAdvancements()Ljava/util/Collection; ghi jkjava/util/Collectioniterator()Ljava/util/Iterator; mno pqjava/util/IteratorhasNext()Z ms tunext()Ljava/lang/Object;w,net/minecraft/advancements/AdvancementHolder y z{registerListeners1(Lnet/minecraft/advancements/AdvancementHolder;)V v} ~value*()Lnet/minecraft/advancements/Advancement; �‚ƒ „…&net/minecraft/advancements/Advancementcriteria()Ljava/util/Map; T‡ ˆqisEmptyŠ Œ �ŽawardC(Lnet/minecraft/advancements/AdvancementHolder;Ljava/lang/String;)Z �� ‘’rewards1()Lnet/minecraft/advancements/AdvancementRewards; ”•– —˜-net/minecraft/advancements/AdvancementRewardsgrant,(Lnet/minecraft/server/level/ServerPlayer;)Všjava/nio/file/LinkOption œ�ž Ÿ java/nio/file/Files isRegularFile2(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z ¢£¤ ¥¦!java/nio/charset/StandardCharsetsUTF_8Ljava/nio/charset/Charset; œ¨ ©ªnewBufferedReaderH(Ljava/nio/file/Path;Ljava/nio/charset/Charset;)Ljava/io/BufferedReader; ¬­® ¯°#net/minecraft/util/StrictJsonParserparse/(Ljava/io/Reader;)Lcom/google/gson/JsonElement; ²³´ µ¶ com/mojang/serialization/JsonOpsINSTANCE"Lcom/mojang/serialization/JsonOps; ¸¹º ¯»com/mojang/serialization/Codec^(Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;½ ¾¿apply()Ljava/util/function/Function; ÁÂà ÄÅ#com/mojang/serialization/DataResult getOrThrow1(Ljava/util/function/Function;)Ljava/lang/Object; Ç ÈÉ applyFrom`(Lnet/minecraft/server/ServerAdvancementManager;Lnet/minecraft/server/PlayerAdvancements$Data;)V ËÌÍ Îjava/io/ReadercloseÐjava/lang/Throwable ÏÒ ÓÔ addSuppressed(Ljava/lang/Throwable;)VÖjava/io/IOExceptionØcom/google/gson/JsonIOException Ú ÛÜLOGGERLorg/slf4j/Logger;Þ)Couldn't access player advancements in {} àáâ ãäorg/slf4j/Loggererror9(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Væ"com/google/gson/JsonParseExceptionè(Couldn't parse player advancements in {} ê ëRcheckForAutomaticTriggers í zR ï ðñasData0()Lnet/minecraft/server/PlayerAdvancements$Data; ¸ó ô» encodeStart Áö Äuøcom/google/gson/JsonElement úûü ýþjava/nio/file/Path getParent()Ljava/nio/file/Path;  net/minecraft/util/FileUtilcreateDirectoriesSafe(Ljava/nio/file/Path;)Vjava/nio/file/OpenOption œ   newBufferedWriterc(Ljava/nio/file/Path;Ljava/nio/charset/Charset;[Ljava/nio/file/OpenOption;)Ljava/io/BufferedWriter;   GSONLcom/google/gson/Gson;  com/google/gson/Gson newJsonWriter5(Ljava/io/Writer;)Lcom/google/gson/stream/JsonWriter;  toJsonC(Lcom/google/gson/JsonElement;Lcom/google/gson/stream/JsonWriter;)V Ìjava/io/Writer'Couldn't save player advancements to {}  !accepty(Lnet/minecraft/server/PlayerAdvancements;Lnet/minecraft/server/ServerAdvancementManager;)Ljava/util/function/BiConsumer; C# $%forEach"(Ljava/util/function/BiConsumer;)V'  (0(Ljava/util/Map;)Ljava/util/function/BiConsumer; T# C+ ,(Ljava/util/Map;)V . /0getOrStartProgress`(Lnet/minecraft/advancements/AdvancementHolder;)Lnet/minecraft/advancements/AdvancementProgress; 234 5q.net/minecraft/advancements/AdvancementProgressisDone 27 89 grantProgress(Ljava/lang/String;)Z ; <{unregisterListeners \> ?@add(Ljava/lang/Object;)Z �B CDdisplay()Ljava/util/Optional;F  Gv(Lnet/minecraft/server/PlayerAdvancements;Lnet/minecraft/advancements/AdvancementHolder;)Ljava/util/function/Consumer; IJK LMjava/util/Optional ifPresent (Ljava/util/function/Consumer;)V O P{markForVisibilityUpdate 2R S9revokeProgress UVW XY*net/minecraft/advancements/AdvancementTreeget\(Lnet/minecraft/advancements/AdvancementHolder;)Lnet/minecraft/advancements/AdvancementNode; [\] ^_*net/minecraft/advancements/AdvancementNoderoot.()Lnet/minecraft/advancements/AdvancementNode; Ta bcentrySet()Ljava/util/Set; \hfjava/util/Map$Entry eh iugetKeykjava/lang/String 2m no getCriterionB(Ljava/lang/String;)Lnet/minecraft/advancements/CriterionProgress; q3r,net/minecraft/advancements/CriterionProgress et uugetValuew-net/minecraft/advancements/triggers/Criteriony:net/minecraft/server/PlayerAdvancements$TriggerInstanceKey x{ |C(Lnet/minecraft/advancements/AdvancementHolder;Ljava/lang/String;)V ~ € addListenern(Lnet/minecraft/advancements/triggers/Criterion;Lnet/minecraft/server/PlayerAdvancements$TriggerInstanceKey;)V v‚ ƒ„trigger8()Lnet/minecraft/advancements/triggers/CriterionTrigger; † ‡ˆremoveListeneru(Lnet/minecraft/advancements/triggers/CriterionTrigger;Lnet/minecraft/server/PlayerAdvancements$TriggerInstanceKey;)V \‡‹java/util/HashMap Š Ž ��updateTreeVisibilityM(Lnet/minecraft/advancements/AdvancementNode;Ljava/util/Set;Ljava/util/Set;)V \’ “@contains v• –—id&()Lnet/minecraft/resources/Identifier; T™ Xš&(Ljava/lang/Object;)Ljava/lang/Object; Tœ �žput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; \  ¡¢stream()Ljava/util/stream/Stream;½ ¥¦§ ¨©java/util/stream/Streammap8(Ljava/util/function/Function;)Ljava/util/stream/Stream; ¥« ¬­toList()Ljava/util/List; ¯°± ²³'net/minecraft/server/level/ServerPlayer connection;Lnet/minecraft/server/network/ServerGamePacketListenerImpl;µGnet/minecraft/network/protocol/game/ClientboundUpdateAdvancementsPacket ´· ¸3(ZLjava/util/List;Ljava/util/Set;Ljava/util/Map;Z)V º»¼ ½¾9net/minecraft/server/network/ServerGamePacketListenerImplsend*(Lnet/minecraft/network/protocol/Packet;)V �À ÁqisRoot Ià Äq isPresentÆJnet/minecraft/network/protocol/game/ClientboundSelectAdvancementsTabPacket ÅÈ É'(Lnet/minecraft/resources/Identifier;)V 2 Ì ÍÎ startProgressa(Lnet/minecraft/advancements/AdvancementHolder;Lnet/minecraft/advancements/AdvancementProgress;)V �Ð ÑÒ requirements6()Lnet/minecraft/advancements/AdvancementRequirements; 2Ô ÕÖupdate7(Lnet/minecraft/advancements/AdvancementRequirements;)VØ ÙÚtestI(Lnet/minecraft/server/PlayerAdvancements;)Ljava/util/function/Predicate;Ü  Ý’(Lnet/minecraft/server/PlayerAdvancements;Ljava/util/Set;Ljava/util/Set;)Lnet/minecraft/server/advancements/AdvancementVisibilityEvaluator$Output; ßàá âã@net/minecraft/server/advancements/AdvancementVisibilityEvaluatorevaluateVisibility–(Lnet/minecraft/advancements/AdvancementNode;Ljava/util/function/Predicate;Lnet/minecraft/server/advancements/AdvancementVisibilityEvaluator$Output;)V½ Tæ çècomputeIfAbsentC(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object; ê ëìgetOrCreateTriggerMapForTypeG(Lnet/minecraft/advancements/triggers/CriterionTrigger;)Ljava/util/Map; vî ïðtriggerInstance7()Lnet/minecraft/advancements/CriterionTriggerInstance; ò óìgetTriggerMapForType Tõ öšremove [ø ùúholder0()Lnet/minecraft/advancements/AdvancementHolder; Tü ý@ containsKey \ÿ ö@  q&net/minecraft/advancements/DisplayInfoannounceToChat ¯ level*()Lnet/minecraft/server/level/ServerLevel;     &net/minecraft/server/level/ServerLevel getGameRules1()Lnet/minecraft/world/level/gamerules/GameRules;  -net/minecraft/world/level/gamerules/GameRulesSHOW_ADVANCEMENT_MESSAGES.Lnet/minecraft/world/level/gamerules/GameRule;  XB(Lnet/minecraft/world/level/gamerules/GameRule;)Ljava/lang/Object;java/lang/Boolean  q booleanValue   type.()Lnet/minecraft/advancements/AdvancementType; "#$ %&*net/minecraft/advancements/AdvancementTypecreateAnnouncement†(Lnet/minecraft/advancements/AdvancementHolder;Lnet/minecraft/server/level/ServerPlayer;)Lnet/minecraft/network/chat/MutableComponent; ()* +,'net/minecraft/server/players/PlayerListbroadcastSystemMessage*(Lnet/minecraft/network/chat/Component;Z)V 2. /q hasProgress 41 X2T(Lnet/minecraft/resources/Identifier;)Lnet/minecraft/advancements/AdvancementHolder;4HIgnored advancement '{}' in progress file {} - it doesn't exist anymore? à6 7äwarn 9:; <=com/mojang/logging/LogUtils getLogger()Lorg/slf4j/Logger;?com/google/gson/GsonBuilder > >B CDsetPrettyPrinting()Lcom/google/gson/GsonBuilder; >F GHcreate()Lcom/google/gson/Gson; SignatureoLjava/util/Map;?Ljava/util/Set;=Ljava/util/Set;RuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable;PLcom/mojang/serialization/Codec;ÍLjava/util/Map;Ljava/util/Map;>;¹(Lcom/mojang/datafixers/DataFixer;Lnet/minecraft/server/players/PlayerList;Lnet/minecraft/server/ServerAdvancementManager;Ljava/nio/file/Path;Lnet/minecraft/server/level/ServerPlayer;)VCodeLineNumberTableLocalVariableTablethis)Lnet/minecraft/server/PlayerAdvancements; dataFixer!Lcom/mojang/datafixers/DataFixer;manager/Lnet/minecraft/server/ServerAdvancementManager;defaultVersionIMethodParameters setPlayerreload advancement StackMapTable(Lnet/minecraft/advancements/Advancement;jsonLcom/google/gson/JsonElement;data.Lnet/minecraft/server/PlayerAdvancements$Data;readerLjava/io/Reader;eLjava/lang/Exception;$Lcom/google/gson/JsonParseException;mjava/lang/Exceptionsave outputWriterLjava/io/Writer;LocalVariableTypeTableeLjava/util/Map; criterionLjava/lang/String;result0Lnet/minecraft/advancements/AdvancementProgress;wasDonerevokenode,Lnet/minecraft/advancements/AdvancementNode;criterionProgress.Lnet/minecraft/advancements/CriterionProgress;entryLjava/util/Map$Entry;advancementProgress[Ljava/util/Map$Entry;>; flushDirty-(Lnet/minecraft/server/level/ServerPlayer;Z)VconvertedAddedLjava/util/List;addedremovedshowAdvancementsqLjava/util/List;5Ljava/util/Set;setSelectedTabold�"net/minecraft/resources/Identifier¡(Lnet/minecraft/advancements/AdvancementNode;Ljava/util/Set;Ljava/util/Set;)V6Lnet/minecraft/advancements/triggers/CriterionTrigger;;Lnet/minecraft/advancements/triggers/CriterionTrigger;Ç(Lnet/minecraft/advancements/triggers/CriterionTrigger;)Ljava/util/Map;typeAndInstance/Lnet/minecraft/advancements/triggers/Criterion;;­(Lnet/minecraft/advancements/triggers/Criterion;Lnet/minecraft/server/PlayerAdvancements$TriggerInstanceKey;)VPLjava/util/Map;´(Lnet/minecraft/advancements/triggers/CriterionTrigger;Lnet/minecraft/server/PlayerAdvancements$TriggerInstanceKey;)V%lambda$getOrCreateTriggerMapForType$0lambda$updateTreeVisibility$1N(Ljava/util/Set;Ljava/util/Set;Lnet/minecraft/advancements/AdvancementNode;Z)VshouldBeVisiblelambda$updateTreeVisibility$0/(Lnet/minecraft/advancements/AdvancementNode;)Zlambda$award$0Y(Lnet/minecraft/advancements/AdvancementHolder;Lnet/minecraft/advancements/DisplayInfo;)V(Lnet/minecraft/advancements/DisplayInfo;lambda$asData$0p(Ljava/util/Map;Lnet/minecraft/advancements/AdvancementHolder;Lnet/minecraft/advancements/AdvancementProgress;)Vlambda$applyFrom$0†(Lnet/minecraft/server/ServerAdvancementManager;Lnet/minecraft/resources/Identifier;Lnet/minecraft/advancements/AdvancementProgress;)V$Lnet/minecraft/resources/Identifier; SourceFilePlayerAdvancements.java NestMembersBootstrapMethodsš® å¯ °(Ljava/lang/String;)V²8(Ljava/lang/String;)Lcom/google/gson/JsonParseException;´'(Ljava/lang/Object;Ljava/lang/Object;)V¶ · ¤¥¹W(Lnet/minecraft/resources/Identifier;Lnet/minecraft/advancements/AdvancementProgress;)V» ¼ ¢£Î¿(Ljava/lang/Object;)VÁ  Ÿ Ä+(Lnet/minecraft/advancements/DisplayInfo;)VÆ ÇÈÉ ÊË]net/minecraft/network/protocol/game/ClientboundUpdateAdvancementsPacket$PositionedAdvancementfromNode�(Lnet/minecraft/advancements/AdvancementNode;)Lnet/minecraft/network/protocol/game/ClientboundUpdateAdvancementsPacket$PositionedAdvancement;Ë@Ï Ð �žžÓ0(Lnet/minecraft/advancements/AdvancementNode;Z)VÕ Ö š›Ø Ù ™ììÜ ÝÞß àá"java/lang/invoke/LambdaMetafactory metafactoryÌ(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; InnerClassesDataEntryTriggerInstanceKeyçGnet/minecraft/server/advancements/AdvancementVisibilityEvaluator$OutputOutputPositionedAdvancementë%java/lang/invoke/MethodHandles$Lookupíjava/lang/invoke/MethodHandlesLookup! ÛÜ )*-.7;IJIKIKIL12`aMN NGIO&IPQRu*·*»Y· µ *»Y·µ*»Y·µ*»Y·µ*µ*»!Y·#µ$*,µ'*µ+*µ/*-¶3µ9?6*²<²B+?¶HµL*-¶O±S>C9:;%<0?5A@DEEKFQGYI^JoKtLTHuUVuWXu)*uYZu-.u12^[\]W)Y-1^˜R>*+µ/±S OPTUV12]1ZR8 *´$¹S±S S TT  UV_RR˜@*¶X*´ ¹S*´¹[*´¹[*´¹[*µ*µ^*+¶3µ9*+¶O±S* WX YZ[(\-]2^:_?`T@UV@YZ]YzRR�&+¶b¹fM,¹l™,¹rÀvN*-¶x§ÿè±Scd"e%fT `a&UV&YZa ü mú]YëRRºH+¶b¹fM,¹l™7,¹rÀvN-¶|:¶€¹†™*-‰¶‹W¶�*´/¶“§ÿƱSij#k0l8mDoGpT*#!`b'ùaHUVHYZa ü m9ú]YQRR›“*´+½™¸›™}*´+²¡¸§M,¸«N*´L²±-¹·º¼¹ÀÀC:*+¶Æ,Æ ,¶Ê§N,Æ,¶Ê§ :-¶Ñ-¿§&M²ÙÝ*´+,¹ß§M²Ùç*´+,¹ß*+¶é*+¶ì±ALÏQUXÏbeÕbe×bxåSBstuv:wAxLtb|exfyu|xzy{ˆ�€’�TH#cd:efIghfijyik“UV“YZa8ÿL 4ËÏÿ  4ËÏÏùBlRå]YnR>x*´L²±*¶î¹ò¹õÀ÷L*´+¹ù¸ÿ*´+²¡½¸M² +² ,¶¶,Æ ,¶§N,Æ,¶§ :-¶Ñ-¿§M²Ù*´+,¹ß±4BMÏRVYÏcfÕcf×S* „†%‡4ˆB‰M‡cŒfŠg‹w�T*4/opgijxUV_cda4ÿM ÷Ïÿ  ÷ÏÏùBlÈÉRN ,*+º¶"±S � šT  UV YZ ef] YeðñRn »Y· L*´ +º&¹)»CY+·*°S�ž£T UV¨q ¨r�ŽRk>*+¶-:¶16,¶6™A*+¶:*´+¹=W>š*¶1™"+¶|¶�*´/¶“+¶|¶A*+ºE¶Hš¶1™*+¶N¬S6 §© ª¬­®)¯+±8²F³W»d¼i¿T>kUVkùakstiu  bv[w a þW2] ùsxŽRÐ?>*+¶-:¶16,¶Q™*+¶x*´+¹=W>™¶1š*+¶N¬S* ÃÅ ÆÇÈÉ)Ê+Í8Î=ÑT>?UV?`a?st=u  6v/w a þ+2] `sP{Rt*´9+¶TM,Æ*´,¶Z¹=W±SÕ Ö ×ÙT UV`a yzaü[]`z{R x*+¶-M,¶1™±+¶|¶€¹`¹dN-¹l™Q-¹rÀe:,¹gÀj¶l:ÆÿÚ¶p™§ÿÏ*¹sÀv»xY+¹gÀj·z¶}§ÿ¬±S* ÜÝ Þà4áDâQãTåtæwçT4D0{|4@}~xUVxùarvq 4@}€aü2ümý3eqø"]ù<{Rz*+¶-M+¶|¶€¹`¹dN-¹l™[-¹rÀe:,¹gÀj¶l:ÆÿÚ¶pš ,¶1š§ÿÈ*¹sÀv¶�»xY+¹gÀj·z¶…§ÿ¢±S"êë,ì<íPîSðvñyòT4<:{|,J}~zUVzùatvq ,J}€aý2mý:eqø%]ù�‚R:*´š*´¹‰™*´¹‰šö»ŠY·ŒN»Y·:»Y·:*´¹d:¹l™¹rÀ[:*¶�§ÿà*´¹[*´¹d:¹l™:¹rÀv:*´¹‘™-¶”*´ ¹˜À2¹›W§ÿÂ*´¹[-¹†™¹‰™ ¹‰š3¹Ÿº£¹¤¹ª:+´®»´Y*´-·¶¶¹*µ±SJõö'÷0ø9úZûdügýpÿ‘Ÿ¹¼Åâú  T\ Z ^z‘(ùaúƒ„'ë0â…9Ù†UV12‡ q*úƒˆ'ër0â…L9Ù†‰a.ÿ$ ¯T\\mú"üm=ú%ø/] 1‡Š{RôY*´^M+Æ"+¶|¶¿™+¶|¶A¶™ *+µ^§*µ^,*´^¥&*´/´®»ÅY*´^ǧ *´^¶”·Ƕ¹±S (-5XT YUVYùaT‹aa?ü(vÿ vvº<<ÿ vvº<<Œ]ùM N/0R~"*´ +¹˜À2M,Ç»2Y·ÊM*+,¶Ë,°S  T "UV"`avaü 2]`ÍÎR^,+¶|¶϶Ó*´ +,¹›W±S$ %&T UVùav] ù��R{+*º×*,-ºÛ¸Þ±S )<T*UV^z…†q…L†‰] ^…†IŽëìRY*´$+ºä¹åÀT°S@TUV�q �]I‘€Rl*+¶�¶é,+¶í¹›W±SD EFT UV’“s”q ’•] ’sI–óìRT*´$+¹˜ÀT°SJTUV�q �]I‘MN‡ˆR­'*+¶ñN-Æ-,¹ôW-¹†™*´$+¹ôW±SNO PQR&UT*'UV'�'s”!¨q'�!¨—aü&T] sI˜ ™ìR »ŠY·Œ°S@š›RäY-¶÷:™6*´¹=™B+-¹=W*´ ¹û™,*´¹=W§*´¹þ™,¶”¹=W±S& -. /0!1/2>6L7X:T>YUVY…Y†YyzYœ S`aa ü>v�žR@ *+¶÷¶-¶1¬S+T UV yzŸ R„5,¶™0*´/¶¶ ²¶À¶™*´',¶+*´/¶!¶'±S´ µ4·T 5UV5ùa5C¡a4 ¢£Rc,¶-™*+¶”,¹›W±SŸ ¢T ¨`ava¤¥R³7+,¶0:DzÙ3,*´+¹5±*-¶Ë*´¹=W*¶N±S"‘’ “”–$—0˜6™T47UV7YZ7–¦7v0`aaüv§R?¸8³Ù»>Y·@¶A¶E³ ±S23 453¨©ªCx«RÛ¬­±Û³µ¸Û³º½Û¾ÀÃÛ¬ÅÌÛÍÎÑÛÒÔÒÛ¬×Úâ2C ãeTä x åæßè Ç´éêìî