Êþº¾Eà  8net/minecraft/world/level/redstone/RedstoneWireEvaluator6(Lnet/minecraft/world/level/block/RedstoneWireBlock;)Vjava/util/ArrayDeque   ()V  Dnet/minecraft/world/level/redstone/ExperimentalRedstoneWireEvaluatorwiresToTurnOffLjava/util/Deque;   wiresToTurnOn9it/unimi/dsi/fastutil/objects/Object2IntLinkedOpenHashMap    updatedWires-Lit/unimi/dsi/fastutil/objects/Object2IntMap;  getInitialOrientationƒ(Lnet/minecraft/world/level/Level;Lnet/minecraft/world/level/redstone/Orientation;)Lnet/minecraft/world/level/redstone/Orientation; ! "#calculateCurrentChangesq(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/redstone/Orientation;)V %&' ()+it/unimi/dsi/fastutil/objects/Object2IntMapobject2IntEntrySet+()Lit/unimi/dsi/fastutil/objects/ObjectSet; +,- ./'it/unimi/dsi/fastutil/objects/ObjectSetiterator0()Lit/unimi/dsi/fastutil/objects/ObjectIterator; 123 45,it/unimi/dsi/fastutil/objects/ObjectIteratorhasNext()Z 17 89next()Ljava/lang/Object;;1it/unimi/dsi/fastutil/objects/Object2IntMap$Entry := >9getKey@net/minecraft/core/BlockPos :B CD getIntValue()I F GH unpackPower(I)I JKL MNnet/minecraft/world/level/Level getBlockStateQ(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState; P QR wireBlock3Lnet/minecraft/world/level/block/RedstoneWireBlock; TUV WX0net/minecraft/world/level/block/state/BlockStateis(Ljava/lang/Object;)Z Z[\ ]^1net/minecraft/world/level/block/RedstoneWireBlockPOWERBLnet/minecraft/world/level/block/state/properties/IntegerProperty; T` abgetValueS(Lnet/minecraft/world/level/block/state/properties/Property;)Ljava/lang/Comparable;djava/lang/Integer cf ghvalueOf(I)Ljava/lang/Integer; cj kXequalsm%net/minecraft/world/level/block/Block To pqsetValuee(Lnet/minecraft/world/level/block/state/properties/Property;Ljava/lang/Comparable;)Ljava/lang/Object; Js tusetBlockS(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;I)Z 1w x remove z {|causeNeighborUpdates$(Lnet/minecraft/world/level/Level;)V~ €acceptœ(Lnet/minecraft/world/level/redstone/ExperimentalRedstoneWireEvaluator;Lnet/minecraft/world/level/Level;)Lit/unimi/dsi/fastutil/objects/ObjectIntBiConsumer; %‚ ƒ„forEach6(Lit/unimi/dsi/fastutil/objects/ObjectIntBiConsumer;)V†&net/minecraft/server/level/ServerLevel …ˆ ‰ŠdebugSynchronizers4()Lnet/minecraft/util/debug/LevelDebugSynchronizers; Œ�Ž ��+net/minecraft/util/debug/DebugSubscriptionsREDSTONE_WIRE_ORIENTATIONS,Lnet/minecraft/util/debug/DebugSubscription; ’“” •–0net/minecraft/util/debug/LevelDebugSynchronizershasAnySubscriberFor/(Lnet/minecraft/util/debug/DebugSubscription;)Z˜ ™](Lnet/minecraft/server/level/ServerLevel;)Lit/unimi/dsi/fastutil/objects/ObjectIntBiConsumer; Z› œ�PROPERTY_BY_DIRECTIONLjava/util/Map; Ÿ ¡ ¢£ java/util/Mapget&(Ljava/lang/Object;)Ljava/lang/Object;¥=net/minecraft/world/level/block/state/properties/EnumProperty §¨© ª«net/minecraft/core/DirectionDOWNLnet/minecraft/core/Direction;­=net/minecraft/world/level/block/state/properties/RedstoneSide ¬¯ °5 isConnected J² ³´ getRandom#()Lnet/minecraft/util/RandomSource; ¶·¸ ¹º.net/minecraft/world/level/redstone/OrientationrandomS(Lnet/minecraft/util/RandomSource;)Lnet/minecraft/world/level/redstone/Orientation; §¼ ½«UP ¶¿ ÀÁwithUpP(Lnet/minecraft/core/Direction;)Lnet/minecraft/world/level/redstone/Orientation; ÃÄÅ ÆÇ7net/minecraft/world/level/redstone/Orientation$SideBiasLEFT9Lnet/minecraft/world/level/redstone/Orientation$SideBias; ¶É ÊË withSideBiask(Lnet/minecraft/world/level/redstone/Orientation$SideBias;)Lnet/minecraft/world/level/redstone/Orientation; cÍ ÎDintValue Ð ÑÒsetPowerQ(Lnet/minecraft/core/BlockPos;ILnet/minecraft/world/level/redstone/Orientation;)V ÔÕÖ ×Xjava/util/Dequeadd Ù ÚÛpropagateChangeToNeighborss(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;ILnet/minecraft/world/level/redstone/Orientation;Z)V ÔÝ Þ5isEmpty Ôà á9 removeFirst %ã äågetInt(Ljava/lang/Object;)I ç èéunpackOrientation3(I)Lnet/minecraft/world/level/redstone/Orientation; ë ìígetBlockSignalA(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;)I ï ðígetIncomingWireSignal òóô õöjava/lang/Mathmax(II)I Ôø ùXcontainsûjava/lang/IllegalStateExceptioný?Turning off wire while trying to turn it on. Should not happen. úÿ (Ljava/lang/String;)V ¶ DgetIndex+net/minecraft/world/level/redstone/Redstone ¶ é fromIndex   applyR(Lnet/minecraft/world/level/redstone/Orientation;I)Ljava/util/function/BiFunction; % computeE(Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object; ¶ getHorizontalDirections()Ljava/util/List;  .java/util/List()Ljava/util/Iterator; 2java/util/Iterator 7 ?  !relative=(Lnet/minecraft/core/Direction;)Lnet/minecraft/core/BlockPos; ¶# $Á withFront & 'ÛenqueueNeighborWire ¶) *getVerticalDirections T, -.isRedstoneConductorG(Lnet/minecraft/world/level/BlockGetter;Lnet/minecraft/core/BlockPos;)Z 0 12 getWireSignalR(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)I %4 56 getOrDefault(Ljava/lang/Object;I)I 0 9 :;packOrientationAndPower4(Lnet/minecraft/world/level/redstone/Orientation;I)I ’= >?sendBlockValue^(Lnet/minecraft/core/BlockPos;Lnet/minecraft/util/debug/DebugSubscription;Ljava/lang/Object;)V ¶A B getDirections D °ES(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/core/Direction;)Z ¶G HÁwithFrontPreserveUp JJ KLneighborChangedª(Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/Block;Lnet/minecraft/world/level/redstone/Orientation;Z)V §N OP getOpposite ()Lnet/minecraft/core/Direction; JR KSw(Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/Block;Lnet/minecraft/world/level/redstone/Orientation;)V Signature0Ljava/util/Deque;LLit/unimi/dsi/fastutil/objects/Object2IntMap;CodeLineNumberTableLocalVariableTablethisFLnet/minecraft/world/level/redstone/ExperimentalRedstoneWireEvaluator;MethodParametersupdatePowerStrength¤(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/world/level/redstone/Orientation;Z)V updateFlagsI3Lit/unimi/dsi/fastutil/objects/Object2IntMap$Entry;posLnet/minecraft/core/BlockPos;packednewLevelstate2Lnet/minecraft/world/level/block/state/BlockState;level!Lnet/minecraft/world/level/Level; initialPosignored orientation0Lnet/minecraft/world/level/redstone/Orientation;%shapeUpdateWiresAroundInitialPositionZinitialOrientation.Lit/unimi/dsi/fastutil/objects/ObjectIterator; initialWireLocalVariableTypeTableRLit/unimi/dsi/fastutil/objects/Object2IntMap$Entry;‚Lit/unimi/dsi/fastutil/objects/ObjectIterator;>; StackMapTableRuntimeVisibleTypeAnnotations#Lorg/jspecify/annotations/Nullable; serverLevel(Lnet/minecraft/server/level/ServerLevel; directionproperty?Lnet/minecraft/world/level/block/state/properties/EnumProperty;€Lnet/minecraft/world/level/block/state/properties/EnumProperty;incomingOrigination powerToSetoldPower blockPower wirePowernewPowerinitialPosition initialStatepower offsetPosdirectionHorizontal neighborWireneighbor solidBlockdirectionVerticalallowTurningOfftoPower newFromPowerlambda$setPower$0v(Lnet/minecraft/world/level/redstone/Orientation;ILnet/minecraft/core/BlockPos;Ljava/lang/Integer;)Ljava/lang/Integer;keyLjava/lang/Integer;lambda$causeNeighborUpdates$1I(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/core/BlockPos;I)VwirePoslambda$causeNeighborUpdates$0B(Lnet/minecraft/world/level/Level;Lnet/minecraft/core/BlockPos;I)Vi$Ljava/util/Iterator; neighborPos neighborStateneighborOrientationneighborDirection SourceFile&ExperimentalRedstoneWireEvaluator.javaBootstrapMethods¤(Ljava/lang/Object;I)V¦ § ˜™©!(Lnet/minecraft/core/BlockPos;I)V« ¬ •–®8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;° ± ‘’³E(Lnet/minecraft/core/BlockPos;Ljava/lang/Integer;)Ljava/lang/Integer;µ ¶·¸ ¹º"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; InnerClassesEntrySideBias¿%java/lang/invoke/MethodHandles$LookupÁjava/lang/invoke/MethodHandlesLookup! TUTUTVWk'*+·*»Y· µ *»Y· µ*»Y·µ±X&Y'Z['QR\Q]^WDÃ+¸:*+,¶ *´¹$¹*:6¹0™“¹6À::  ¹<À?:  ¹A6  ¸E6 + ¶I:  *´O¶S™J ²Y¶_Àc ¸e¶iš46™š €€6+  ²Y ¸e¶nÀT¶rW§ ¹v6§ÿi*+¶y±XV!#& '#(-)9*E+N,U-].0‚1Œ2”4­5°6·8º9½;Â<Y˜‚+_`9�8a Eubc Nld` Uee` ]]fg ÃZ[ÃhiÃjcÃkgÃlmÃno»pm £.q# ros9�8t £.uvYþ#¶1ÿh J?T¶¶1:?Túÿ  J?T¶¶1\hjklnw x{|WŒ9*´*+º}¹�+Á…™$+À…M,¶‡²‹¶‘™*´,º—¹�±X?R)S8WY yz9Z[9hiv8\h °EW—*²š+¹žÀ¤M,Ç+²¦¦§¬*,¶_À¬¶®¬XZ [\^Y *fg*{« |}s  |~v ü¤@\ f{ W‚+Æ+M§ *¶±¸µM,²»¶¾²Â¶È°Xcd fhY*lmhimlmv  ü¶\ hw x"#WÓ n+,¶I:*´O¶S™%*,²Y¶_Àc¶Ì-¶Ï*´ ,¹ÓW§ *+,-¶Ø*´ ¹Üš¢*´ ¹ßÀ?:*´¹â6¸æ:¸E6*+¶ê6 *+¶î6   ¸ñ6  ¢( ž*´¹÷š*´¹ÓW6 § 6  Ÿ * ¶Ï*+  ¤§¶Ø§ÿX*´¹Üš{*´¹ßÀ?:*´¹â6¸E6*+¶ê6*+¶î6  ¸ñ6 ¸æ:  ¤*  ¶Ï§ ¢ »úYü·þ¿*+  ¶Ø§ÿ±X–%mno'p5s>vJwXxeylzs{||…}Ž€•�¨‚´…º‡¾‰ÅŠÏŒæ�éŽõ��‘’ “)”2–9—@˜M™Tš^œj�mžYÔ·€` XŽbce�d`lzlmss�`|j‚` …aƒ` ŽX„` ¾(€` gbcZd`S�` J‚`)Aƒ` 28„` 91lm nZ[nhin…cnpmg†gvÝ ü5Tÿu  J?¶T?¶üÿ  J?¶T?¶ J?¶ÿ  J?¶T?¶ J?¶ÿ J?¶Tÿc  J?¶T?¶ÿ J?¶T\ h…p :;W= *¶x€¬X¡Y lm ‡`\ l‡ èéW1z¸°X¥Y d`\d GHW/~¬X©Y d`\dÑÒW_*´+-º ¹ W±X ­³Y*Z[bc„`lm\ b„lÚÛW\¶¹:¹™+¹À§:,¶:*+¶"¶%§ÿѶ(¹:¹™°¹À§:,¶:+¶I+¶+6 ¶¹:  ¹™u ¹À§: , ¶: ²»¦% š  ¶: *+  ¶"¶%§4²¦¦,+ ¶I+ ¶+š ¶: *+  ¶"¶%§ÿ‡§ÿL±XJ·"¸*¹;º>»`¼h½v¾˜Á Â­Ã¶ÄÇÅáÇêÈûÊþËÌY˜*ˆc"‰«¶Šc êŠc  [‹c ˜c‰« h–ˆcvˆŒo `ž�«Z[hibc„`lmŽovZü ú1ü ÿ7  J?¶§?ýG§?ù0ÿ J?¶ú\hb„lŽ'ÛWr+,¶I:*´O¶S™a*,¶/6d¢$*´,¹÷š*´,¹ÓW*,¶Ï™*¤$*´ ,¹÷š*´ ,¹ÓW*,¶Ï±X. ÏÐÑÓ1Õ<ÖEØJÚ]ÜhÝqáYRU�`rZ[rhirbcr�`rlmrŽokfgv ýETú+\hb�lŽ12W}*´+¹3>Ÿ¸E¬*+,·7¬Xå æçéY*Z[bcfg d`vü\ bf ‘’Wu-Ç *¸8¸e°-¶Ì¸æ¸8¸e°X®¯ ±Y*lm„`“cd”v  •–WN*¶‡+²‹¸æ¶<±XTY yz—cd`˜™Wê µ¸æ:+,¶I:¶@¹:¹™”¹À§:¸C™{,¶:+¶I: ¶F: + *´O ¶I +¶+™H ¶@¹:  ¹™2 ¹À§:  ¶M¥+ ¶*´O  ¶F¶Q§ÿʧÿh±X>@A B/C9DAEIFRGaHlIŽJ˜K®M±P´QY„ Ž {« x9š› ApœcIh�g R_žm /‚Ÿ«›š›µZ[µhiµ—cµd`¯lm ¨fgvUþ¶Tÿ^  J?¶T§?T¶5ÿ J?¶Tú ¡¢ ´£¥¨´£ª¨´­¯²»:%¼ ö½@¾ÀÂ