Class MapQuery

java.lang.Object
xyz.krmentos.adofaigg.query.MapQuery

public class MapQuery extends Object
이 클래스는 Adofai.gg API에서 사용되는 맵 데이터를 필터링하기 위한 클래스입니다.

MapQuery를 사용하여 맵 데이터를 특정 조건에 맞게 필터링할 수 있습니다.

다양한 메서드를 통해 각 필터 조건을 설정하고, checkMap(MapData...) 메서드를 호출하여 필터링된 클리어 데이터를 얻을 수 있습니다.

See Also:
  • Constructor Details

    • MapQuery

      public MapQuery()
  • Method Details

    • setSong

      public MapQuery setSong(String song)
      맵의 제목을 설정합니다.
      Parameters:
      song - 설정할 맵의 제목입니다.
      Returns:
      MapQuery 개체 자신을 반환합니다.
      Throws:
      NullPointerException - 값이 null일 경우 예외가 발생합니다.
    • setArtist

      public MapQuery setArtist(String artist)
      맵의 아티스트를 설정합니다.
      Parameters:
      artist - 설정할 맵의 아티스트입니다.
      Returns:
      MapQuery 개체 자신을 반환합니다.
      Throws:
      NullPointerException - 값이 null일 경우 예외가 발생합니다.
    • setDifficulty

      public MapQuery setDifficulty(float difficulty)
      맵 데이터의 난이도를 설정합니다.
      Parameters:
      difficulty - 설정할 맵 데이터의 난이도입니다.
      Returns:
      MapQuery 개체 자신을 반환합니다.
      Throws:
      IllegalArgumentException - 값이 0보다 작고 존재하지 않는 난이도일 경우 예외가 발생합니다.
    • setDifficulty

      public MapQuery setDifficulty(float minDifficulty, float maxDifficulty)
      맵 데이터의 난이도 범위를 설정합니다.
      Parameters:
      minDifficulty - 최소 난이도 값입니다.
      maxDifficulty - 최대 난이도 값입니다.
      Returns:
      MapQuery 개체 자신을 반환합니다.
      Throws:
      IllegalArgumentException - 값이 0보다 작고 존재하지 않는 난이도거나 최소값이 최대값보다 큰 경우 발생합니다.
    • setMinDifficulty

      public MapQuery setMinDifficulty(float minDifficulty)
      맵 데이터의 최소 난이도 범위를 설정합니다.
      Parameters:
      minDifficulty - 최소 난이도 값입니다.
      Returns:
      MapQuery 개체 자신을 반환합니다.
      Throws:
      IllegalArgumentException - 값이 0보다 작고 존재하지 않는 난이도일 경우 예외가 발생합니다.
    • setMaxDifficulty

      public MapQuery setMaxDifficulty(float maxDifficulty)
      맵 데이터의 최대 난이도 범위를 설정합니다.
      Parameters:
      maxDifficulty - 최대 난이도 값입니다.
      Returns:
      ClearQuery 개체 자신을 반환합니다.
      Throws:
      IllegalArgumentException - 값이 0보다 작고 존재하지 않는 난이도일 경우 예외가 발생합니다.
    • setCreator

      public MapQuery setCreator(String creator)
      맵의 제작자를 설정합니다.
      Parameters:
      creator - 설정할 맵의 제작자입니다.
      Returns:
      MapQuery 개체 자신을 반환합니다.
      Throws:
      NullPointerException - 값이 null일 경우 예외가 발생합니다.
    • setEW

      public MapQuery setEW(boolean ew)
      맵의 광과민성 발작주의를 설정합니다.
      Parameters:
      ew - 설정할 맵의 광과민성 발작주의 여부입니다.
      Returns:
      MapQuery 개체 자신을 반환합니다.
    • setBPM

      public MapQuery setBPM(double bpm)
      맵 데이터의 BPM를 설정합니다.
      Parameters:
      bpm - 설정할 맵 데이터의 BPM입니다.
      Returns:
      MapQuery 개체 자신을 반환합니다.
      Throws:
      IllegalArgumentException - 값이 0보다 작을 경우 예외가 발생합니다.
    • setBPM

      public MapQuery setBPM(double minBPM, double maxBPM)
      맵 데이터의 BPM 범위를 설정합니다.
      Parameters:
      minBPM - 최소 BPM 값입니다.
      maxBPM - 최대 BPM 값입니다.
      Returns:
      MapQuery 개체 자신을 반환합니다.
      Throws:
      IllegalArgumentException - 값이 0보다 작거나 최소값이 최대값보다 큰 경우 발생합니다.
    • setMinBPM

      public MapQuery setMinBPM(double minBPM)
      맵 데이터의 최소 BPM 범위를 설정합니다.
      Parameters:
      minBPM - 최소 BPM 값입니다.
      Returns:
      MapQuery 개체 자신을 반환합니다.
      Throws:
      IllegalArgumentException - 값이 0보다 작을 경우 예외가 발생합니다.
    • setMaxBPM

      public MapQuery setMaxBPM(double maxBPM)
      맵 데이터의 최대 BPM 범위를 설정합니다.
      Parameters:
      maxBPM - 최대 BPM 값입니다.
      Returns:
      MapQuery 개체 자신을 반환합니다.
      Throws:
      IllegalArgumentException - 값이 0보다 작을 경우 예외가 발생합니다.
    • setTiles

      public MapQuery setTiles(int tiles)
      맵 데이터의 타일수를 설정합니다.
      Parameters:
      tiles - 설정할 맵 데이터의 타일수입니다.
      Returns:
      MapQuery 개체 자신을 반환합니다.
      Throws:
      IllegalArgumentException - 값이 0보다 작을 경우 예외가 발생합니다.
    • setTiles

      public MapQuery setTiles(int minTiles, int maxTiles)
      맵 데이터의 타일수 범위를 설정합니다.
      Parameters:
      minTiles - 최소 타일수 값입니다.
      maxTiles - 최대 타일수 값입니다.
      Returns:
      MapQuery 개체 자신을 반환합니다.
      Throws:
      IllegalArgumentException - 값이 0보다 작거나 최소값이 최대값보다 큰 경우 발생합니다.
    • setMinTiles

      public MapQuery setMinTiles(int minTiles)
      맵 데이터의 최소 타일수 범위를 설정합니다.
      Parameters:
      minTiles - 최소 타일수 값입니다.
      Returns:
      MapQuery 개체 자신을 반환합니다.
      Throws:
      IllegalArgumentException - 값이 0보다 작을 경우 예외가 발생합니다.
    • setMaxTiles

      public MapQuery setMaxTiles(int maxTiles)
      맵 데이터의 최대 타일수 범위를 설정합니다.
      Parameters:
      maxTiles - 최대 타일수 값입니다.
      Returns:
      MapQuery 개체 자신을 반환합니다.
      Throws:
      IllegalArgumentException - 값이 0보다 작을 경우 예외가 발생합니다.
    • setTags

      public MapQuery setTags(boolean tagAllNeed, Tag... tags)
      맵 데이터의 태그를 설정합니다.
      Parameters:
      tagAllNeed - 모든 태그가 필요한지 여부를 설정합니다.
      tags - 설정할 맵의 태그입니다.
      Returns:
      MapQuery 개체 자신을 반환합니다.
      Throws:
      IllegalArgumentException - 모든 태그가 필요할 경우 태그가 5개가 넘을 경우 예외가 발생합니다.
      NullPointerException - 태그가 null일 경우 예외가 발생합니다.
    • setDlc

      public MapQuery setDlc(boolean dlc)
      맵의 DLC 여부를 설정합니다.
      Parameters:
      dlc - 설정할 맵의 DLC 여부입니다.
      Returns:
      MapQuery 개체 자신을 반환합니다.
    • checkMap

      public List<MapData> checkMap(MapData... mapData)
      맵 데이터를 필터링하여 설정된 조건에 맞는 데이터를 반환합니다.
      Parameters:
      mapData - 맵 데이터 배열입니다.
      Returns:
      조건에 맞는 클리어 데이터의 목록입니다.