Êþº¾EW  !com/mojang/datafixers/util/Eitherleft()Ljava/util/Optional;   java/util/OptionalisEmpty()Z get()Ljava/util/function/Supplier;  #com/mojang/serialization/DataResulterrorD(Ljava/util/function/Supplier;)Lcom/mojang/serialization/DataResult;  "net/minecraft/resources/IdentifierCODEC Lcom/mojang/serialization/Codec;  ()Ljava/lang/Object; !"# $%com/mojang/serialization/Codecencodep(Ljava/lang/Object;Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult; '() *Rnet/minecraft/world/level/levelgen/structure/templatesystem/StructureProcessorType LIST_CODEC, processors !. /0fieldOf7(Ljava/lang/String;)Lcom/mojang/serialization/MapCodec;2 34apply()Ljava/util/function/Function; 678 9:!com/mojang/serialization/MapCodec forGetterS(Ljava/util/function/Function;)Lcom/mojang/serialization/codecs/RecordCodecBuilder; <=Jnet/minecraft/world/level/levelgen/structure/templatesystem/LiquidSettings?override_liquid_settings !A B0optionalFieldOf2 EFG HDnet/minecraft/world/level/levelgen/structure/pools/SinglePoolElementTEMPLATE_CODECJlocation2 MNO PQGnet/minecraft/world/level/levelgen/structure/pools/StructurePoolElementX(Lnet/minecraft/world/level/levelgen/structure/pools/StructureTemplatePool$Projection;)V ES TUtemplate#Lcom/mojang/datafixers/util/Either; EW ,XLnet/minecraft/core/Holder; EZ [\overrideLiquidSettingsLjava/util/Optional; E^ _` getTemplate§(Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplateManager;)Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate; bcd efMnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplategetSizeF(Lnet/minecraft/world/level/block/Rotation;)Lnet/minecraft/core/Vec3i; hij kljava/util/ObjectsrequireNonNull&(Ljava/lang/Object;)Ljava/lang/Object;n 3ou(Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplateManager;)Ljava/util/function/Function; qrs t4java/util/function/Functionidentity v wxmapN(Ljava/util/function/Function;Ljava/util/function/Function;)Ljava/lang/Object;zRnet/minecraft/world/level/levelgen/structure/templatesystem/StructurePlaceSettings y| P}()V y €� setRotation€(Lnet/minecraft/world/level/block/Rotation;)Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructurePlaceSettings; ƒ„… †‡&net/minecraft/world/level/block/BlocksSTRUCTURE_BLOCK'Lnet/minecraft/world/level/block/Block; b‰ Š‹ filterBlocksÊ(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructurePlaceSettings;Lnet/minecraft/world/level/block/Block;Z)Lit/unimi/dsi/fastutil/objects/ObjectArrayList; �Ž� �‘com/google/common/collect/Lists newArrayList()Ljava/util/ArrayList; “”• –—java/util/Listiterator()Ljava/util/Iterator; ™š› œ java/util/IteratorhasNext ™ž Ÿnext¡`net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate$StructureBlockInfo  £ ¤¥nbt!()Lnet/minecraft/nbt/CompoundTag;§mode ©ª« ¬>net/minecraft/world/level/block/state/properties/StructureMode LEGACY_CODEC ®¯° ±²net/minecraft/nbt/CompoundTagreadH(Ljava/lang/String;Lcom/mojang/serialization/Codec;)Ljava/util/Optional; ´ µ orElseThrow ©· ¸¹DATA@Lnet/minecraft/world/level/block/state/properties/StructureMode; “» ¼½add(Ljava/lang/Object;)Z b¿ ÀÁ getJigsawsY(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/Rotation;)Ljava/util/List; ÃÄÅ ÆÇnet/minecraft/util/Utilshuffle4(Ljava/util/List;Lnet/minecraft/util/RandomSource;)V EÉ ÊËsortBySelectionPriority(Ljava/util/List;)V EÍ ÎÏ HIGHEST_SELECTION_PRIORITY_FIRSTLjava/util/Comparator; “Ñ ÒÓsort(Ljava/util/Comparator;)V bÕ Ö×getBoundingBox­(Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructurePlaceSettings;Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/levelgen/structure/BoundingBox; EÙ ÚÛ getSettings(Lnet/minecraft/world/level/block/Rotation;Lnet/minecraft/world/level/levelgen/structure/BoundingBox;Lnet/minecraft/world/level/levelgen/structure/templatesystem/LiquidSettings;Z)Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructurePlaceSettings;Ý%net/minecraft/world/level/block/Block bß àá placeInWorldâ(Lnet/minecraft/world/level/ServerLevelAccessor;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructurePlaceSettings;Lnet/minecraft/util/RandomSource;I)Z Eã äågetDataMarkers°(Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplateManager;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/Rotation;Z)Ljava/util/List; bç èéprocessBlockInfosß(Lnet/minecraft/world/level/ServerLevelAccessor;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructurePlaceSettings;Ljava/util/List;)Ljava/util/List; Eë ìíhandleDataMarker0(Lnet/minecraft/world/level/LevelAccessor;Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate$StructureBlockInfo;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/Rotation;Lnet/minecraft/util/RandomSource;Lnet/minecraft/world/level/levelgen/structure/BoundingBox;)V yï ðñsetBoundingBox�(Lnet/minecraft/world/level/levelgen/structure/BoundingBox;)Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructurePlaceSettings; yó ôõ setKnownShapeW(Z)Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructurePlaceSettings; y÷ øõsetIgnoreEntities úûü †ýPnet/minecraft/world/level/levelgen/structure/templatesystem/BlockIgnoreProcessorRLnet/minecraft/world/level/levelgen/structure/templatesystem/BlockIgnoreProcessor; yÿ  addProcessor¦(Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructureProcessor;)Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructurePlaceSettings; y õsetFinalizeEntities  lorElse y   setLiquidSettings¢(Lnet/minecraft/world/level/levelgen/structure/templatesystem/LiquidSettings;)Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructurePlaceSettings;   Vnet/minecraft/world/level/levelgen/structure/templatesystem/JigsawReplacementProcessorINSTANCEXLnet/minecraft/world/level/levelgen/structure/templatesystem/JigsawReplacementProcessor;  net/minecraft/core/HoldervalueRnet/minecraft/world/level/levelgen/structure/templatesystem/StructureProcessorList  list()Ljava/util/List;  accepts(Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructurePlaceSettings;)Ljava/util/function/Consumer; “" #$forEach (Ljava/util/function/Consumer;)V E& '( getProjectionW()Lnet/minecraft/world/level/levelgen/structure/pools/StructureTemplatePool$Projection; *+, -.Snet/minecraft/world/level/levelgen/structure/pools/StructureTemplatePool$Projection getProcessors+()Lcom/google/common/collect/ImmutableList; 0"1'com/google/common/collect/ImmutableList 345 67Knet/minecraft/world/level/levelgen/structure/pools/StructurePoolElementTypeSINGLEMLnet/minecraft/world/level/levelgen/structure/pools/StructurePoolElementType; 9:; <=java/lang/StringvalueOf&(Ljava/lang/Object;)Ljava/lang/String;? @AmakeConcatWithConstants&(Ljava/lang/String;)Ljava/lang/String; C DorThrow EF GH templateCodec6()Lcom/mojang/serialization/codecs/RecordCodecBuilder; EJ KHprocessorsCodec EM NHprojectionCodec EP QHoverrideLiquidSettingsCodec STU VW;com/mojang/serialization/codecs/RecordCodecBuilder$Instancegroup©(Lcom/mojang/datafixers/kinds/App;Lcom/mojang/datafixers/kinds/App;Lcom/mojang/datafixers/kinds/App;Lcom/mojang/datafixers/kinds/App;)Lcom/mojang/datafixers/Products$P4;Y 3Z(()Lcom/mojang/datafixers/util/Function4; \]^ 3_!com/mojang/datafixers/Products$P4r(Lcom/mojang/datafixers/kinds/Applicative;Lcom/mojang/datafixers/util/Function4;)Lcom/mojang/datafixers/kinds/App;a(Can not serialize a runtime pool elementc de applyAsInt$()Ljava/util/function/ToIntFunction; ghi jkjava/util/Comparator comparingInt:(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator; gm noreversed()Ljava/util/Comparator; q $r$()Lcom/mojang/serialization/Encoder; 2 !u wvA(Ljava/util/function/Function;)Lcom/mojang/serialization/Decoder; !x yzoff(Lcom/mojang/serialization/Encoder;Lcom/mojang/serialization/Decoder;)Lcom/mojang/serialization/Codec; 2 }~ €�2com/mojang/serialization/codecs/RecordCodecBuildermapCodecB(Ljava/util/function/Function;)Lcom/mojang/serialization/MapCodec; Eƒ „#Lcom/mojang/serialization/MapCodec; SignaturewLjava/util/Comparator;ºLcom/mojang/serialization/Codec;>;kLcom/mojang/serialization/MapCodec;˜Lcom/mojang/datafixers/util/Either;qLnet/minecraft/core/Holder;bLjava/util/Optional;encodeTemplate�(Lcom/mojang/datafixers/util/Either;Lcom/mojang/serialization/DynamicOps;Ljava/lang/Object;)Lcom/mojang/serialization/DataResult;CodeLineNumberTableLocalVariableTableops%Lcom/mojang/serialization/DynamicOps;prefixLjava/lang/Object;LocalVariableTypeTable*Lcom/mojang/serialization/DynamicOps;TT;:Ljava/util/Optional; StackMapTableMethodParameters(Lcom/mojang/datafixers/util/Either;Lcom/mojang/serialization/DynamicOps;TT;)Lcom/mojang/serialization/DataResult;ö()Lcom/mojang/serialization/codecs/RecordCodecBuilder;>;ç()Lcom/mojang/serialization/codecs/RecordCodecBuilder;>;()Lcom/mojang/serialization/codecs/RecordCodecBuilder;>;ª(Lcom/mojang/datafixers/util/Either;Lnet/minecraft/core/Holder;Lnet/minecraft/world/level/levelgen/structure/pools/StructureTemplatePool$Projection;Ljava/util/Optional;)VthisFLnet/minecraft/world/level/levelgen/structure/pools/SinglePoolElement; projectionULnet/minecraft/world/level/levelgen/structure/pools/StructureTemplatePool$Projection;Ã(Lcom/mojang/datafixers/util/Either;Lnet/minecraft/core/Holder;Lnet/minecraft/world/level/levelgen/structure/pools/StructureTemplatePool$Projection;Ljava/util/Optional;)Vœ(Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplateManager;Lnet/minecraft/world/level/block/Rotation;)Lnet/minecraft/core/Vec3i;structureTemplateManagerVLnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplateManager;rotation*Lnet/minecraft/world/level/block/Rotation;OLnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate;Lnet/minecraft/nbt/CompoundTag;infobLnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate$StructureBlockInfo;positionLnet/minecraft/core/BlockPos;absoluteZstructureBlocksLjava/util/List; dataMarkerstLjava/util/List;·Tnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplateManager¹net/minecraft/core/BlockPos»(net/minecraft/world/level/block/Rotation(Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplateManager;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/Rotation;Z)Ljava/util/List;getShuffledJigsawBlocksÐ(Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplateManager;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/Rotation;Lnet/minecraft/util/RandomSource;)Ljava/util/List;random!Lnet/minecraft/util/RandomSource;jigsawsqLjava/util/List;1(Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplateManager;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/Rotation;Lnet/minecraft/util/RandomSource;)Ljava/util/List;blockst(Ljava/util/List;)VRuntimeInvisibleAnnotations1Lcom/google/common/annotations/VisibleForTesting;Ù(Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplateManager;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/Rotation;)Lnet/minecraft/world/level/levelgen/structure/BoundingBox;placeê(Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplateManager;Lnet/minecraft/world/level/WorldGenLevel;Lnet/minecraft/world/level/StructureManager;Lnet/minecraft/world/level/chunk/ChunkGenerator;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/Rotation;Lnet/minecraft/world/level/levelgen/structure/BoundingBox;Lnet/minecraft/util/RandomSource;Lnet/minecraft/world/level/levelgen/structure/templatesystem/LiquidSettings;Z)Z dataMarkerlevel)Lnet/minecraft/world/level/WorldGenLevel;structureManager,Lnet/minecraft/world/level/StructureManager; generator0Lnet/minecraft/world/level/chunk/ChunkGenerator; referencePoschunkBB:Lnet/minecraft/world/level/levelgen/structure/BoundingBox;liquidSettingsLLnet/minecraft/world/level/levelgen/structure/templatesystem/LiquidSettings; keepJigsawssettingsTLnet/minecraft/world/level/levelgen/structure/templatesystem/StructurePlaceSettings;Û'net/minecraft/world/level/WorldGenLevelÝ*net/minecraft/world/level/StructureManagerß.net/minecraft/world/level/chunk/ChunkGeneratorá8net/minecraft/world/level/levelgen/structure/BoundingBoxãnet/minecraft/util/RandomSourcegetTypeO()Lnet/minecraft/world/level/levelgen/structure/pools/StructurePoolElementType;R()Lnet/minecraft/world/level/levelgen/structure/pools/StructurePoolElementType<*>;toString()Ljava/lang/String;getTemplateLocation&()Lnet/minecraft/resources/Identifier;lambda$templateCodec$0k(Lnet/minecraft/world/level/levelgen/structure/pools/SinglePoolElement;)Lcom/mojang/datafixers/util/Either;t$lambda$overrideLiquidSettingsCodec$0\(Lnet/minecraft/world/level/levelgen/structure/pools/SinglePoolElement;)Ljava/util/Optional;lambda$processorsCodec$0c(Lnet/minecraft/world/level/levelgen/structure/pools/SinglePoolElement;)Lnet/minecraft/core/Holder;lambda$static$0`(Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;)Lcom/mojang/datafixers/kinds/App;i=Lcom/mojang/serialization/codecs/RecordCodecBuilder$Instance;lambda$encodeTemplate$0 SourceFileSinglePoolElement.javaBootstrapMethodsý Eþ öèèl E ðññ E îïï E ëìì ¶  getOrCreateu(Lnet/minecraft/resources/Identifier;)Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate;(Ljava/lang/Object;)VþS(Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructureProcessor;)V Single[]\(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; E PŸ ï(Lcom/mojang/datafixers/util/Either;Lnet/minecraft/core/Holder;Lnet/minecraft/world/level/levelgen/structure/pools/StructureTemplatePool$Projection;Ljava/util/Optional;)Lnet/minecraft/world/level/levelgen/structure/pools/SinglePoolElement;"(Ljava/lang/Object;)I$ %&' ()]net/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate$JigsawBlockInfoselectionPriority()I+b(Lnet/minecraft/world/level/levelgen/structure/templatesystem/StructureTemplate$JigsawBlockInfo;)I%. E/ Œ��2 3 47(Ljava/lang/Object;)Lcom/mojang/datafixers/util/Either;6I(Lnet/minecraft/resources/Identifier;)Lcom/mojang/datafixers/util/Either;8 E9 òóó< =>? @A"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;C DEF @G$java/lang/invoke/StringConcatFactory˜(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; InnerClassesJHnet/minecraft/world/level/levelgen/structure/pools/StructureTemplatePool ProjectionStructureBlockInfoInstanceOcom/mojang/datafixers/ProductsP4JigsawBlockInfoS%java/lang/invoke/MethodHandles$LookupUjava/lang/invoke/MethodHandlesLookup!EMÎÏ…†H…‡„…ˆTU…‰,X…Š[\…‹ Œ�޹'*¶N-¶™ º ¸°²-¶À+,¹ °�-. /1�*'TU'‘’'“”"J\•*'T‰'‘–'“—"J˜™üš T‘“…› KHŽ+²&+¹-º1¶5°�A…œ QHŽ+²;>¹@ºC¶5°�E…� GHŽ+²DI¹-ºK¶5°�I…žPŸŽž*-·L*+µR*,µV*µY±�QR STU�4 ¡TU,X¢£[\• T‰,Š[‹šT,¢[…¤e¥ŽX *+¶]N-,¶a°� YZ�*  ¡ ¦§ ¨©Tªš ¦¨_`ŽM*´R+Y¸gWºm¸p¶uÀb°�^� ¡¦§š¦ä厭 *+¶]:,»yY·{-¶~²‚¶ˆ:¸Œ:¹’:¹˜™H¹�À :  ¶¢:  ǧÿÞ ¦²¨¶­¶³À©:  ²¶¥§ÿÁ ¹ºW§ÿ´°�6 bcd$eCfJgOhRkdllmopyq|s�p J/¤« d§¹ C6¬­  ¡¦§®¯¨©°±xTª`²³$[´³•`²µ$[´µ™Nÿ- E¶¸ºb““™ý$ ®ü©ÿ E¶¸ºb““𦮍°…¼½¾Ž•*+¶],-¶¾:¸Â¸È°�x yz{�> ¡¦§®¯¨©¿À Á³•  Á𦮍¿…ÃÊËŽJ *²Ì¹Ð±� � ‚�  ij•  ÄÂšÄ…ÅÆÇÖÈŽo*+¶]:»yY·{-¶~,¶Ô°� †‡�4 ¡¦§®¯¨©Tªš ¦®¨ÉÊŽ¨ s*+¶]: *  ¶Ø:  ,  ¶Þ™L, *+¶â¸æ:¹’:¹˜™!¹�À :*, ¶ê§ÿÛ¬¬�& Œ��(�>‘]’l“o•q—�¢]Ë­>3´³s ¡s¦§sÌÍsÎÏsÐÑs®¯sÒ¯s¨©sÓÔs¿À sÕÖ s×± lTª ^ØÙ • >3´µ™=ÿGE¶ÚÜÞ¸¸ºàâ<by“™ú'úš- ¦ÌÎЮҨӿÕ×ÚÛŽ'�»yY·{:,¶îW+¶~W¶òW¶öW²ù¶þW¶W*´Y-¶À<¶Wš ² ¶þW*´V¹À¶Y¸gWº¹!*¶%¶)Y¸gWº¶/°�6 › œ�žŸ% .¡5¢F£K¤T¦t§Š¨�>� ¡�¨©�ÓÔ�ÕÖ�×± „ØÙ™üTyš¨ÓÕ×äåŽ.²2°�­�  ¡…æçèŽ7 *´R¸8º>°�²�   ¡éêŽ5 *´R¶BÀ°�·�   ¡ÆÇ ëìŽ/*´R°�I� í¡ îïŽ/*´Y°�E� í¡ ðñŽ/*´V°�A� í¡ òóŽ`*¸E¸I¸L¸O¶R*ºX¶[°�"9:;< = 9>9� ôõ öèŽ`°�/÷}Ž\4ºb¸f¹l³Ìºp²ºs¹t¸w³Dº{¸|³‚±�*46"4(9øùúv ;ûüÿ;;;  ; ;B;;!#*;,-0;15;7:H2*IK@ bLS}M\NP%bQRTV