Êþº¾EE  %net/minecraft/world/level/block/BlockD(Lnet/minecraft/world/level/block/state/BlockBehaviour$Properties;)V   )net/minecraft/world/level/block/VineBlockstateDefinition7Lnet/minecraft/world/level/block/state/StateDefinition;  5net/minecraft/world/level/block/state/StateDefinitionany5()Lnet/minecraft/world/level/block/state/StateHolder;0net/minecraft/world/level/block/state/BlockState  UPBLnet/minecraft/world/level/block/state/properties/BooleanProperty;  java/lang/BooleanvalueOf(Z)Ljava/lang/Boolean;  !"setValuee(Lnet/minecraft/world/level/block/state/properties/Property;Ljava/lang/Comparable;)Ljava/lang/Object; $ %NORTH ' (EAST * +SOUTH - .WEST 0 12registerDefaultState5(Lnet/minecraft/world/level/block/state/BlockState;)V 4 56 makeShapes()Ljava/util/function/Function; 8 9:shapesLjava/util/function/Function;@0 > ?@boxZ1(DDD)Lnet/minecraft/world/phys/shapes/VoxelShape; BCD EF&net/minecraft/world/phys/shapes/Shapes rotateAll=(Lnet/minecraft/world/phys/shapes/VoxelShape;)Ljava/util/Map;H IJapply.(Ljava/util/Map;)Ljava/util/function/Function; L MNgetShapeForEachState<(Ljava/util/function/Function;)Ljava/util/function/Function; PQR ISjava/util/function/Function&(Ljava/lang/Object;)Ljava/lang/Object;U*net/minecraft/world/phys/shapes/VoxelShape W XYgetUpdatedStateª(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState; [ \]hasFaces5(Lnet/minecraft/world/level/block/state/BlockState;)Z _ `a countFaces5(Lnet/minecraft/world/level/block/state/BlockState;)I c dePROPERTY_BY_DIRECTIONLjava/util/Map; ghi jk java/util/Mapvalues()Ljava/util/Collection; mno pqjava/util/Collectioniterator()Ljava/util/Iterator; stu vwjava/util/IteratorhasNext()Z sy z{next()Ljava/lang/Object;}@net/minecraft/world/level/block/state/properties/BooleanProperty  €�getValueS(Lnet/minecraft/world/level/block/state/properties/Property;)Ljava/lang/Comparable; ƒ „w booleanValue †‡ˆ ‰Šnet/minecraft/core/DirectionDOWNLnet/minecraft/core/Direction; Œ�Ž ��net/minecraft/core/BlockPosrelative=(Lnet/minecraft/core/Direction;)Lnet/minecraft/core/BlockPos; ’ “”isAcceptableNeighboure(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/Direction;)Z †– —˜getAxis%()Lnet/minecraft/core/Direction$Axis; š›œ �ž!net/minecraft/core/Direction$AxisY#Lnet/minecraft/core/Direction$Axis; g  ¡Sget Œ£ ¤¥above()Lnet/minecraft/core/BlockPos; §¨© ª«%net/minecraft/world/level/BlockGetter getBlockStateQ(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState; ­ ®¯is(Ljava/lang/Object;)Z ±²³ ´µ.net/minecraft/world/level/block/MultifaceBlock canAttachTo—(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/Direction;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)Z ·¸¹ º»"net/minecraft/core/Direction$Plane HORIZONTAL$Lnet/minecraft/core/Direction$Plane; ·n ¾ ¿ÀgetPropertyForFaceb(Lnet/minecraft/core/Direction;)Lnet/minecraft/world/level/block/state/properties/BooleanProperty;  ÔcanSupportAtFace Å ÆÇ updateShapeg(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/LevelReader;Lnet/minecraft/world/level/ScheduledTickAccess;Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/Direction;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/util/RandomSource;)Lnet/minecraft/world/level/block/state/BlockState; ÉÊË ÌÍ&net/minecraft/world/level/block/BlocksAIR'Lnet/minecraft/world/level/block/Block; Ï ÐÑdefaultBlockState4()Lnet/minecraft/world/level/block/state/BlockState; ÓÔÕ Ö×&net/minecraft/server/level/ServerLevel getGameRules1()Lnet/minecraft/world/level/gamerules/GameRules; ÙÚÛ ÜÝ-net/minecraft/world/level/gamerules/GameRules SPREAD_VINES.Lnet/minecraft/world/level/gamerules/GameRule; Ùß ¡àB(Lnet/minecraft/world/level/gamerules/GameRule;)Ljava/lang/Object; âãä åænet/minecraft/util/RandomSourcenextInt(I)I †è éê getRandomA(Lnet/minecraft/util/RandomSource;)Lnet/minecraft/core/Direction; šì íw isHorizontal ï ðñ canSpreadG(Lnet/minecraft/world/level/LevelReader;Lnet/minecraft/core/BlockPos;)Z Ó¨ ô õwisAir †÷ øù getClockWise ()Lnet/minecraft/core/Direction; †û üùgetCounterClockWise Ï Óÿ setBlockS(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;I)Z † ù getOpposite Ó  isEmptyBlock (Lnet/minecraft/core/BlockPos;)Z â    nextFloat()F?©™™™™™š † Š Œ getY()I Ó getMaxY â w nextBoolean  ]hasHorizontalConnection Ó  getMinY Œ" #¥below % &'copyRandomFaces¹(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/util/RandomSource;)Lnet/minecraft/world/level/block/state/BlockState; Œ) *+offset"(III)Lnet/minecraft/core/BlockPos; -./ 01%net/minecraft/world/level/LevelReader findBlocksInn(Lnet/minecraft/core/BlockPos;Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/blockscan/BlockMatcher;3 45testK(Lnet/minecraft/world/level/block/VineBlock;)Ljava/util/function/Predicate; 789 :;0net/minecraft/world/level/blockscan/BlockMatcher filterStateR(Ljava/util/function/Predicate;)Lnet/minecraft/world/level/blockscan/BlockMatcher; 7= >? atMostMatched(I)Z ABC DE2net/minecraft/world/item/context/BlockPlaceContextgetLevel#()Lnet/minecraft/world/level/Level; AG H¥ getClickedPos J¨Knet/minecraft/world/level/Level gM Nsize P QR canBeReplacedi(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/item/context/BlockPlaceContext;)Z AT UVgetNearestLookingDirections!()[Lnet/minecraft/core/Direction;X9net/minecraft/world/level/block/state/properties/Property Z[\ ]^=net/minecraft/world/level/block/state/StateDefinition$Builderadd}([Lnet/minecraft/world/level/block/state/properties/Property;)Lnet/minecraft/world/level/block/state/StateDefinition$Builder; `ab cd+net/minecraft/world/level/block/VineBlock$13$SwitchMap$net$minecraft$world$level$block$Rotation[I fgh i(net/minecraft/world/level/block/Rotationordinal `k ld1$SwitchMap$net$minecraft$world$level$block$Mirror ngo&net/minecraft/world/level/block/Mirror q rsmirrorŽ(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/block/Mirror;)Lnet/minecraft/world/level/block/state/BlockState; Bu vwempty.()Lnet/minecraft/world/phys/shapes/VoxelShape; gy z{entrySet()Ljava/util/Set; }n~ java/util/Set€java/util/Map$Entry ‚ €{ „ …{getKey B‡ ˆ‰or†(Lnet/minecraft/world/phys/shapes/VoxelShape;Lnet/minecraft/world/phys/shapes/VoxelShape;)Lnet/minecraft/world/phys/shapes/VoxelShape; T‹ ŒwisEmpty BŽ �wblock ‘’)net/minecraft/world/level/block/PipeBlock ‘$ ‘' ‘* ‘- ‘c }™ š›stream()Ljava/util/stream/Stream;� 4ž ()Ljava/util/function/Predicate;  ¡¢ £¤java/util/stream/Streamfilter9(Ljava/util/function/Predicate;)Ljava/util/stream/Stream; ¦§¨ ©ªnet/minecraft/util/UtiltoMap()Ljava/util/stream/Collector;  ¬ ­®collect0(Ljava/util/stream/Collector;)Ljava/lang/Object; SEARCH_RADIUSI ConstantValueMAX_NEIGHBORS_TO_GROW SignatureqLjava/util/Map;}Ljava/util/function/Function;CodeLineNumberTableLocalVariableTablethis+Lnet/minecraft/world/level/block/VineBlock; propertiesALnet/minecraft/world/level/block/state/BlockBehaviour$Properties;MethodParametersLocalVariableTypeTable[Ljava/util/Map;()Ljava/util/function/Function;getShapeÖ(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/phys/shapes/CollisionContext;)Lnet/minecraft/world/phys/shapes/VoxelShape;state2Lnet/minecraft/world/level/block/state/BlockState;level'Lnet/minecraft/world/level/BlockGetter;posLnet/minecraft/core/BlockPos;context2Lnet/minecraft/world/phys/shapes/CollisionContext;propagatesSkylightDown canSurvivey(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/LevelReader;Lnet/minecraft/core/BlockPos;)Z'Lnet/minecraft/world/level/LevelReader; blockState StackMapTablepropertycount aboveState direction neighbourPosdirectionToNeighbour canSupportZabovePosticks/Lnet/minecraft/world/level/ScheduledTickAccess;neighbourStaterandom!Lnet/minecraft/util/RandomSource; randomTick›(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/core/BlockPos;Lnet/minecraft/util/RandomSource;)Vopposite cwDirection ccwDirectioncwHasConnectingFaceccwHasConnectingFace cwTestPos ccwTestPostestPos edgeStatebeforeafterbelowPos belowState(Lnet/minecraft/server/level/ServerLevel; testDirectionpropertyForFacefromtominPosmaxPos4Lnet/minecraft/world/item/context/BlockPlaceContext; clickedStategetStateForPlacementh(Lnet/minecraft/world/item/context/BlockPlaceContext;)Lnet/minecraft/world/level/block/state/BlockState;face faceOccupied clickedVineresultÿ[Lnet/minecraft/core/Direction;RuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable;createBlockStateDefinitionB(Lnet/minecraft/world/level/block/state/StateDefinition$Builder;)Vbuilder?Lnet/minecraft/world/level/block/state/StateDefinition$Builder;šLnet/minecraft/world/level/block/state/StateDefinition$Builder;�(Lnet/minecraft/world/level/block/state/StateDefinition$Builder;)Vrotate�(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/block/Rotation;)Lnet/minecraft/world/level/block/state/BlockState;rotation*Lnet/minecraft/world/level/block/Rotation;(Lnet/minecraft/world/level/block/Mirror;lambda$canSpread$0lambda$makeShapes$0o(Ljava/util/Map;Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/world/phys/shapes/VoxelShape;entryLjava/util/Map$Entry;i$Ljava/util/Iterator;shape,Lnet/minecraft/world/phys/shapes/VoxelShape;wLjava/util/Map$Entry;lambda$static$0(Ljava/util/Map$Entry;)Ze()V SourceFileVineBlock.java NestMembersBootstrapMethodsS" # %`(Lnet/minecraft/world/level/block/state/BlockState;)Lnet/minecraft/world/phys/shapes/VoxelShape;¯( )  ]], - 0 123 45"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; InnerClasses8?net/minecraft/world/level/block/state/BlockBehaviour$Properties:4net/minecraft/world/level/block/state/BlockBehaviour PropertiesAxisPlaneBuilderEntryA%java/lang/invoke/MethodHandles$LookupCjava/lang/invoke/MethodHandlesLookup! ¯°±²³°±²%(+.de´µ9:´¶·�]*+·**´¶ À²¸¶À²#¸¶À²&¸¶À²)¸¶À²,¸¶À¶/**¶3µ7±¸&'T)\*¹]º»]¼½¾¼56·a;¸=¸AL*+ºG¶K°¸ - /¹º» 9e¿  9À´ÁÂ÷`*´7+¹OÀT°¸>¹4º»ÄÅÆÇÈÉÊË¾ÄÆÈÊÌ]·6¬¸C¹º»ÄžÄÍηT **+,-¶V¶Z¬¸H¹* º» ÄÅ ÆÏ Èɾ ÄÆÈ\]·M*+¶^ž§¬¸L¹º»ÐÅÑ @¾Ð`a·ª;=²b¹f¹lN-¹r™#-¹xÀ|:+¶~À¶‚™„§ÿÚ¬¸PQ$R3S6U9W¹*$Ò;º»;ÐÅ9Ó°Ñ ýs%ú¾ÐÔ·a-²…¦¬,-¶‹:+-¸‘™¬-¶•²™¥<²b-¹ŸÀ|:+,¶¢¹¦:*¶¬™¶~À¶‚™§¬¬¸* [\ _`ad&f4g@h_j¹H4+Ò@ÔÅaº»aÆÇaÈÉaÕŠQ�ÉÑ üŒý@|@ù¾ ÆÈÕ “”·L*,+*+¹¦¸°¬¸n¹ ÆÇÖÉ׊¾ ÆÖ×XY·“ ¶-¶¢:+²¶~À¶‚™+²,²…¸‘¸¶ÀL:²¶¶¼:¹r™u¹xÀ†:¸½:+¶~À¶‚™P*,-¶Á6  š2Ç ,¹¦:*¶¬™¶~À¶‚™§6 + ¸¶ÀL§ÿ‡+°¸>rst-x0yNzU|d}n~sx€‚‚¢„±†´‡¹\ nCØÙ U\ÒNcÕŠ¶º»¶ÄŶÆÇ¶ÈɰÚÉ0†ÔÅÑ%ü-Œý sþI†|@øú¾ ÄÆÈÆÇ·Þ 7²…¦*+,-·Ä°*+,¶V: * ¶Zš ²È¶Î° °¸Œ��$’-“4–¹f 7º»7ÄÅ7ÆÏ7ÛÜ7ÈÉ7׊7ÖÉ7ÝÅ7Þß$ÐÅ Ñ ü¾!ÄÆÛÈ×ÖÝÞàá·ió,¶Ò²Ø¶ÞÀ¶‚š±¹á™±¸ç:-¶¢:¶•¶ë™¯+¸½¶~À¶‚š�*,-¶îš±-¶‹:,¶ò:¶ó™X¶ö: ¶ú: + ¸½¶~À¶‚6 + ¸½¶~À¶‚6  ¶‹:  ¶‹: ™,,  ¸‘™!,*¶ý ¸½¸¶À¶þW§å ™,, ¸‘™!,*¶ý ¸½¸¶À¶þW§·¶: ™9, ¶™0,- ¶‹¸‘™!, *¶ý¸½¸¶À¶þW§u ™9,¶™0,- ¶‹¸‘™!,*¶ý¸½¸¶À¶þW§:¹ � ˜œ+,¶¢²¸‘™,*¶ý²¸¶À¶þW§%,¸‘™,-+¸½¸¶À¶þW±²¦§-¶,¶¢œ*,-¶Á™,-+²¸¶À¶þW±,¶™r*,-¶îš±+:²¶¶¼:¹r™?¹xÀ†: ¹š, ¶‹ ¸‘𠏽¸¶À:§ÿ½*¶™ ,¶þW±-¶,¶¤Z-¶!:,¶ò:¶óš *¶¬™;¶ó™ *¶ý§: *+ ¶$:   ¥* ¶™ , ¶þW±¸â8›œžŸ ¢'¤-¥J¦S§Tª\¬d­l¯s°z³‹´œ¶¥·®¹¾ºÜ»ì¼ ¿À.ÁLÂiÇƥǾËÌÍãÏäÒ÷ÓÔÕ×!Ø*Ù+Ý.ÞLßfàyâ|ã…ä�æ�é›ë¡ì©îºïÍðØñèòòö¹Þ­âŠsK㊠zDäŠ ‹3åÙ œ"æÙ ¥çÉ ®èÉ\ˆéÉd€êÅL-ÕŠ .bÔÅÍ%ëÅ ØìÅ ¡QíÉ©IîÅóº»óÄÅóÆïóÈÉóÞß'ÌðŠ-ÆÚÉј ý3†Œÿ‡ÓŒâ†ŒŒ††ŒŒ-üA†:ÿ6 ӌ↌Œ!ù3ý sü/†úúúý)ŒAù&¾ÄÆÈÞ&'·ØP²¶¶¼:¹r™?¹xÀ†:-¹™'¸½:+¶~À¶‚™,¸¶ÀM§ÿ½,°¸ùú'û.ü=ýKN¹>.ñ-ÕŠPº»PòÅPóÅPÞßÑüsûBú¾ òóÞ]·ˆF+²#¶~À¶‚š3+²&¶~À¶‚š#+²)¶~À¶‚š+²,¶~À¶‚™§¬¸¹Fº»FÄÅÑû@@¾Äðñ·�*,üü¶(N,¶(:+-¹,*º2¶6¶<¬¸   " & ) ¹4*º»*ÆÏ*ÈÉ ôÉõɾ ÆÈQR·–1,¶@,¶F¶IN-*¶¬™*-¶^²b¹L¢§¬*+,·O¬¸ *¹*1º»1ÄÅ1Êö %÷ÅÑ ü(@¾ ÄÊøù·u ›+¶@+¶F¶IM,*¶¬>™,§*¶ý:+¶S:¾66¢^2:²…¥I¸½: ™, ¶~À¶‚™§6  š#*+¶@+¶F¶Á™ ¸¶À°„§ÿ¡™§°¸.    <!D"K#e${%Š �*¹RK?ú e%ûÙ <NÕŠ›º»›Êö �÷ʼnüÙ {ýÅÑ< ýCÿAþý3†|@ù&ø@¾Ê·r(+½WY²SY²#SY²&SY²)SY²,S¶YW±¸ /'0¹(º»(¿ (¾´ ·~²_,¶e.ª l¼+²#+²)¶~À¶À²&+²,¶~À¶À²)+²#¶~À¶À²,+²&¶~À¶À§¤+²#+²&¶~À¶À²&+²)¶~À¶À²)+²,¶~À¶À²,+²#¶~À¶À§T+²#+²,¶~À¶À²&+²#¶~À¶À²)+²&¶~À¶À²,+²)¶~À¶À§+°¸4$5t6Ä784¹ º»ÄÅ  Ñ$ûOûOûO@¾ Ä rs·Ð{²j,¶m.«lD+²#+²)¶~À¶À²)+²#¶~À¶À°+²&+²,¶~À¶À²,+²&¶~À¶À°*+,·p°¸>$@LCtH¹ {º»{ÄÅ{r Ñ$''¾ Är ¿À·7 ²b*¹ŸÀ|°¸L¹  ÕŠ¾Õ ]·:+*¶¬¬¸ ¹º»ÄÅ ·öd¸tM²b¹x¹|N-¹r™=-¹xÀ:+¹�ÀW¶~À¶‚™,*¹ƒ¹ŸÀT¸†M§ÿÀ,¶Š™ ¸�§,°¸02&3=4R6U8¹4&,Cd9edÄÅ`¿ &,ÑýTs?ú @T ·G*¹ƒ²…¥§¬¸!¹ Ñ@·pD²�³²“³#²”³&²•³)²–³,²—¹x¹˜ºœ¹Ÿ¸¥¹«Àg³b±¸ !` / !$/&'*/&+.6:79; š†<@·†=@Z> `g? @BD