ÊþºŸEŒ  java/lang/Object()V   net/minecraft/core/BlockPosmutable/()Lnet/minecraft/core/BlockPos$MutableBlockPos;  &net/minecraft/server/level/ServerLevel getRandom#()Lnet/minecraft/util/RandomSource;  net/minecraft/util/MthrandomBetweenInclusive&(Lnet/minecraft/util/RandomSource;II)I  +net/minecraft/core/BlockPos$MutableBlockPos setWithOffsetL(Lnet/minecraft/core/Vec3i;III)Lnet/minecraft/core/BlockPos$MutableBlockPos;  !"getWorldBorder0()Lnet/minecraft/world/level/border/WorldBorder; $%& '(,net/minecraft/world/level/border/WorldBorderisWithinBounds (Lnet/minecraft/core/BlockPos;)Z *+, -.net/minecraft/util/SpawnUtilmoveToPossibleSpawnPosition€(Lnet/minecraft/server/level/ServerLevel;ILnet/minecraft/core/BlockPos$MutableBlockPos;Lnet/minecraft/util/SpawnUtil$Strategy;)Z 0 12getX()I?à 6 72getY 9 :2getZ <=> ?@%net/minecraft/world/entity/EntityType getSpawnAABB$(DDD)Lnet/minecraft/world/phys/AABB; B CD noCollision"(Lnet/minecraft/world/phys/AABB;)Z <F GHcreateÉ(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/world/entity/PostSpawnProcessor;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/entity/EntitySpawnReason;ZZ)Lnet/minecraft/world/entity/Entity;Jnet/minecraft/world/entity/Mob IL MNcheckSpawnRulesZ(Lnet/minecraft/world/level/LevelAccessor;Lnet/minecraft/world/entity/EntitySpawnReason;)Z IP QRcheckSpawnObstruction*(Lnet/minecraft/world/level/LevelReader;)Z T UVaddFreshEntityWithPassengers&(Lnet/minecraft/world/entity/Entity;)V IX YplayAmbientSound [\] ^_java/util/Optionalof((Ljava/lang/Object;)Ljava/util/Optional; Ia bdiscard [d efempty()Ljava/util/Optional;  i jksetI(Lnet/minecraft/core/Vec3i;)Lnet/minecraft/core/BlockPos$MutableBlockPos; m no getBlockStateQ(Lnet/minecraft/core/BlockPos;)Lnet/minecraft/world/level/block/state/BlockState; qrs tunet/minecraft/core/DirectionDOWNLnet/minecraft/core/Direction; w xymoveM(Lnet/minecraft/core/Direction;)Lnet/minecraft/core/BlockPos$MutableBlockPos; q{ |uUP ~ g(Lnet/minecraft/core/Vec3i;Lnet/minecraft/core/Direction;)Lnet/minecraft/core/BlockPos$MutableBlockPos; ‚ƒ „…%net/minecraft/util/SpawnUtil$Strategy canSpawnOnÉ(Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;Lnet/minecraft/core/BlockPos;Lnet/minecraft/world/level/block/state/BlockState;)ZCodeLineNumberTableLocalVariableTablethisLnet/minecraft/util/SpawnUtil; trySpawnMobÛ(Lnet/minecraft/world/entity/EntityType;Lnet/minecraft/world/entity/EntitySpawnReason;Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/core/BlockPos;IIILnet/minecraft/util/SpawnUtil$Strategy;Z)Ljava/util/Optional;dxIdzmob Lnet/minecraft/world/entity/Mob;i entityType'Lnet/minecraft/world/entity/EntityType; spawnReason.Lnet/minecraft/world/entity/EntitySpawnReason;level(Lnet/minecraft/server/level/ServerLevel;startLnet/minecraft/core/BlockPos; spawnAttempts spawnRangeXZ spawnRangeYstrategy'Lnet/minecraft/util/SpawnUtil$Strategy;checkCollisionsZ searchPos-Lnet/minecraft/core/BlockPos$MutableBlockPos;random!Lnet/minecraft/util/RandomSource;LocalVariableTypeTableTT;,Lnet/minecraft/world/entity/EntityType; StackMapTable«net/minecraft/util/RandomSourceMethodParameters Signature (Lnet/minecraft/world/entity/EntityType;Lnet/minecraft/world/entity/EntitySpawnReason;Lnet/minecraft/server/level/ServerLevel;Lnet/minecraft/core/BlockPos;IIILnet/minecraft/util/SpawnUtil$Strategy;Z)Ljava/util/Optional; currentState2Lnet/minecraft/world/level/block/state/BlockState;yabovePos aboveStateµ0net/minecraft/world/level/block/state/BlockState SourceFileSpawnUtil.java NestMembers InnerClassesMutableBlockPosStrategy!*†/*·±‡ˆ ‰Š ‹Œ† Ì-¶: ,¶ : 6  ¢µ tž6  tž6  -  ¶W,¶ ¶#™~, ž)š§n™+,* ¶/‡3c ¶5‡ ¶8‡3c¶;¶Aš§A*, +¶EÀI:Æ,,+¶K™,¶O™,¶S¶WžZ°¶`„ §ÿJžc°‡N ".;TW!"„%”&™'¬(²)·*œ,ÂÈ0ˆ˜" Ž .”Ž ”.‘¹’Ž ̓”Ì•–̗˜̙š̛Ž̜Ž̝Ž̞ŸÌ ¡Æ¢£ À€¥ Š”.§̓š©þªýG,ü8Iøú¬% “•—™›œž ­® -.†_»Y·g,¶h:*¶l:6t¡A,²p¶vW,²z¶}W*,¶l:-*,¹€™ ,²z¶vW¬:„ÿ§ÿŸ¬‡2 X Y[\']1_8`IaQbSdW[]fˆR8¯°E±Ž_—˜_Ž_¢£_žŸ R²£J³°©þŽü:Žù ¬—¢ž¶·ž¹º *»