Êþº¾Eš  java/lang/Object()V&java/util/concurrent/ConcurrentHashMap   Tnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplateManagerstructureRepositoryLjava/util/Map;`net/minecraft/world/level/levelgen/structure/templatesystem/loader/ResourceManagerTemplateSource  RESOURCE_STRUCTURE_LISTER+Lnet/minecraft/resources/FileToIdConverter;  ¦(Lcom/mojang/datafixers/DataFixer;Lnet/minecraft/core/HolderGetter;Lnet/minecraft/server/packs/resources/ResourceManager;Lnet/minecraft/resources/FileToIdConverter;)V  resourceManagerSourcebLnet/minecraft/world/level/levelgen/structure/templatesystem/loader/ResourceManagerTemplateSource;  !"/net/minecraft/world/level/storage/LevelResource GENERATED_DIR1Lnet/minecraft/world/level/storage/LevelResource; $%& '(Gnet/minecraft/world/level/storage/LevelStorageSource$LevelStorageAccess getLevelPathG(Lnet/minecraft/world/level/storage/LevelResource;)Ljava/nio/file/Path; *+, -.java/nio/file/Path normalize()Ljava/nio/file/Path;0Vnet/minecraft/world/level/levelgen/structure/templatesystem/loader/TemplatePathFactory /2 3(Ljava/nio/file/Path;)V 5 67worldTemplatesXLnet/minecraft/world/level/levelgen/structure/templatesystem/loader/TemplatePathFactory; 9:; <=/net/minecraft/gametest/framework/StructureUtilstestStructuresTargetDirLjava/nio/file/Path; ?@A BC#net/minecraft/server/packs/PackType SERVER_DATA%Lnet/minecraft/server/packs/PackType; /E F<(Ljava/nio/file/Path;Lnet/minecraft/server/packs/PackType;)V H I7 testTemplates KLM NO'com/google/common/collect/ImmutableListbuilder3()Lcom/google/common/collect/ImmutableList$Builder;QZnet/minecraft/world/level/levelgen/structure/templatesystem/loader/DirectoryTemplateSource S TWORLD_STRUCTURE_LISTER PV W…(Lcom/mojang/datafixers/DataFixer;Lnet/minecraft/core/HolderGetter;Ljava/nio/file/Path;Lnet/minecraft/resources/FileToIdConverter;Z)V YZ[ \]/com/google/common/collect/ImmutableList$BuilderaddE(Ljava/lang/Object;)Lcom/google/common/collect/ImmutableList$Builder; 9_ `=testStructuresSourceDir b cRESOURCE_TEXT_STRUCTURE_LISTER Pe fª(Lcom/mojang/datafixers/DataFixer;Lnet/minecraft/core/HolderGetter;Ljava/nio/file/Path;Lnet/minecraft/server/packs/PackType;Lnet/minecraft/resources/FileToIdConverter;Z)V Yh ijbuild+()Lcom/google/common/collect/ImmutableList; l mnsourcesLjava/util/List; p qrget:(Lnet/minecraft/resources/Identifier;)Ljava/util/Optional; tuv wxjava/util/Optional isPresent()Z tz q{()Ljava/lang/Object;}Mnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate | t€ �‚of((Ljava/lang/Object;)Ljava/util/Optional; „…† ‡ˆ java/util/Mapput8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;Š ‹Œapplyu(Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplateManager;)Ljava/util/function/Function; „Ž ��computeIfAbsentC(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object; ’“” •–java/util/Liststream()Ljava/util/stream/Stream;˜ ‹™()Ljava/util/function/Function; ›œ� žŸjava/util/stream/StreamflatMap8(Ljava/util/function/Function;)Ljava/util/stream/Stream; ›¡ ¢–distinct ’¤ ¥¦iterator()Ljava/util/Iterator; ¨©ª «xjava/util/IteratorhasNext ¨­ ®{next°Qnet/minecraft/world/level/levelgen/structure/templatesystem/loader/TemplateSource ¯² ³rloadµjava/lang/Exception t· ¸¹empty()Ljava/util/Optional; » ¼½setResourceManager9(Lnet/minecraft/server/packs/resources/ResourceManager;)V „¿ Àclear „ qÃ&(Ljava/lang/Object;)Ljava/lang/Object; tÅ ÆxisEmpty ÈÉÊ ËÌnet/minecraft/SharedConstantsDEBUG_SAVE_STRUCTURES_AS_SNBTZ Î ÏWORLD_TEXT_STRUCTURE_LISTER /Ñ ÒÓ createAndValidatePathToStructuree(Lnet/minecraft/resources/Identifier;Lnet/minecraft/resources/FileToIdConverter;)Ljava/nio/file/Path; Õ Ö×saveg(Ljava/nio/file/Path;Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate;Z)Z Ù ÚÛLOGGERLorg/slf4j/Logger;Ý&Failed to save structure file {} to {} ßàá âãorg/slf4j/Loggerwarn((Ljava/lang/String;[Ljava/lang/Object;)V *å æ. getParent èéê ë3net/minecraft/util/FileUtilcreateDirectoriesSafeínet/minecraft/nbt/CompoundTag ì |ð Öñ@(Lnet/minecraft/nbt/CompoundTag;)Lnet/minecraft/nbt/CompoundTag; óôõ ö÷net/minecraft/data/CachedOutputNO_CACHE!Lnet/minecraft/data/CachedOutput; ùúû üýnet/minecraft/nbt/NbtUtilsstructureToSnbt3(Lnet/minecraft/nbt/CompoundTag;)Ljava/lang/String; ÿ 'net/minecraft/data/structures/NbtToSnbt writeSnbtJ(Lnet/minecraft/data/CachedOutput;Ljava/nio/file/Path;Ljava/lang/String;)Vjava/io/FileOutputStream *  toFile()Ljava/io/File;   (Ljava/io/File;)V  net/minecraft/nbt/NbtIowriteCompressed8(Lnet/minecraft/nbt/CompoundTag;Ljava/io/OutputStream;)V  java/io/OutputStreamclosejava/lang/Throwable   addSuppressed(Ljava/lang/Throwable;)V „  Ãremove "#$ %&com/mojang/logging/LogUtils getLogger()Lorg/slf4j/Logger;()net/minecraft/resources/FileToIdConverter* structure,.nbt '. /'(Ljava/lang/String;Ljava/lang/String;)V1.snbtSTRUCTURE_FILE_EXTENSIONLjava/lang/String; ConstantValueSTRUCTURE_TEXT_FILE_EXTENSIONSTRUCTURE_DIRECTORY_NAME SignaturešLjava/util/Map;>;eLjava/util/List;RuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable;Ä(Lnet/minecraft/server/packs/resources/ResourceManager;Lnet/minecraft/world/level/storage/LevelStorageSource$LevelStorageAccess;Lcom/mojang/datafixers/DataFixer;Lnet/minecraft/core/HolderGetter;)VCodeLineNumberTableLocalVariableTablethisVLnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplateManager;resourceManager6Lnet/minecraft/server/packs/resources/ResourceManager;storageILnet/minecraft/world/level/storage/LevelStorageSource$LevelStorageAccess; fixerUpper!Lcom/mojang/datafixers/DataFixer; blockLookup!Lnet/minecraft/core/HolderGetter; generatedDir1Lcom/google/common/collect/ImmutableList$Builder;LocalVariableTypeTableJLnet/minecraft/core/HolderGetter;†Lcom/google/common/collect/ImmutableList$Builder; StackMapTableQ4net/minecraft/server/packs/resources/ResourceManagerScom/mojang/datafixers/DataFixerUnet/minecraft/core/HolderGetterMethodParametersí(Lnet/minecraft/server/packs/resources/ResourceManager;Lnet/minecraft/world/level/storage/LevelStorageSource$LevelStorageAccess;Lcom/mojang/datafixers/DataFixer;Lnet/minecraft/core/HolderGetter;)V getOrCreateu(Lnet/minecraft/resources/Identifier;)Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate;id$Lnet/minecraft/resources/Identifier;cachedTemplateLjava/util/Optional;templateOLnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate;eLjava/util/Optional;‹(Lnet/minecraft/resources/Identifier;)Ljava/util/Optional; listTemplatesA()Ljava/util/stream/Stream;tryLoadloadedsourceSLnet/minecraft/world/level/levelgen/structure/templatesystem/loader/TemplateSource;onResourceManagerReload'(Lnet/minecraft/resources/Identifier;)Zfile saveAsTexteLjava/lang/Exception;structureTemplateoutputLjava/io/OutputStream;asTextparenttagLnet/minecraft/nbt/CompoundTag; Exceptionswjava/io/IOExceptionZ()Lnet/minecraft/world/level/levelgen/structure/templatesystem/loader/TemplatePathFactory;'(Lnet/minecraft/resources/Identifier;)V SourceFileStructureTemplateManager.javaBootstrapMethodsÀ � drr„ ¯… †–listˆn(Lnet/minecraft/world/level/levelgen/structure/templatesystem/loader/TemplateSource;)Ljava/util/stream/Stream;Š ‹Œ� Ž�"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; InnerClasses’4net/minecraft/world/level/storage/LevelStorageSourceLevelStorageAccessBuilder–%java/lang/invoke/MethodHandles$Lookup˜java/lang/invoke/MethodHandlesLookup!  ÚÛ234+5340634)TÏc78mn7967I7:; <=Œ ª*·*»Y· µ *»Y-+²·µ,²¶#¹):*»/Y·1µ4²8Æ*»/Y²8²>·DµG§*µG¸J:»PY-²R·U¶XW²^Æ»PY-²^²>²a·d¶XW*´¶XW*¶gµk±>>;4<!>/?<ABBVD[G`HvI|J–L M©N?Hª@AªBCªDEªFGªHI/{J=`JmKLªHM`JmNO"ÿV P$RT*ü:YVBDFH7WXY=ª.*+¶oM,¶s™ ,¶yÀ|°»|Y·~N*´ +-¸¹ƒW-°>QS TWX,Y?*.@A.Z[(\]^_L (\`OütVZqr=H*´ +*º‰¹�Àt°>]?@AZ[VZ7ab–=C*´k¹‘º—¹š¹ °>a? @A7cdr=×;*´k¹£M,¹§™',¹¬À¯N-+¶±:¶s™°§:§ÿÖ¸¶°.2´>"eg$h,i/l2k4m7n?*$ e]fg;@A;Z[L $ e`Oü ¨ü$¯B´úúVZ7ah½=N*´+¶º*´ ¹¾±>rst?@ABCVBÖi=;k*´ +¹ÁÀtM,¶Ä™¬²Ç™*´4+²Í¶ÐN6§*´4+²R¶ÐN6-,¶yÀ|¸Ô¬:²ØÜ½Y+SY-SYS¹Þ¬>KL´>2 wxy~)€/‚;ƒ>‡LˆN‰iŠ?R)j=,kÌNlmk@AkZ[]n];0j=>-kÌL ]n`Oütý*M´VZ Ö×=Ng*¹äN-Ǭ-¸ç+»ìY·î¶ï:™²ò*¸ø¸þ§7»Y*¹· :¸ ¶§:¶§ :¶¿¬@GOQVY>2 �� ‘ ”–—"˜1š@›GœOšež?>@%opgj=gn_gqÌ`r=IstOIü *ü#ìÿ*|*ìÿ *|*ìùuvV jnq6x=/*´4°>¢? @AIx=/*´G°>¦? @A:; y=D *´ +¹W±> ª «? @A Z[VZz=oG¸!³Ø»'Y)+·-³R»'Y)0·-³Í»'Y)+·-³»'Y)0·-³a±>(./&162{|}‰~‚‰~ƒ‡�$‘“YK”•—™