개인 자료란 (JE)

  서버 커뮤니티

Profile HeartPattern 대표칭호 없음
Profile

커뮤니티 소통 개발하기 API

MCVersions: 마인크래프트 버전 정보 라이브러리

2020.01.31 조회 수 356 추천 수 1

MCVersions

마인크래프트 버전 정보 요청 및 파싱 라이브러리

이 라이브러리는 Mojang 서버에 버전 정보를 요청하며, 요청 결과를 파싱하여 POJO로 반환합니다.

의존성 추가

Gradle(Kotlin DSL)

1
2
3
4
5
6
7
repositories {
    maven("https://maven.heartpattern.kr/repository/maven-public/")
}
 
dependencies {
    implementation("kr.heartpattern:MCVersions:1.0.0-SNAPSHOT")
}

cs

Gradle(Groovy DSL)

1
2
3
4
5
6
7
8
9
repositories {
    maven {
        url 'https://maven.heartpattern.kr/repository/maven-public/'
    }
}
 
dependencies {
    implementation 'kr.heartpattern:MCVersions:1.0.0-SNAPSHOT'
}
cs

Maven

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<repositories>
    <repository>
      <id>heartpattern</id>
    <url>https://maven.heartpattern.kr/repository/maven-public/</url>
  </repository>
</repositories>
 
<dependencies>
    <dependency>
      <groupId>kr.heartpattern</groupId>
    <artifactId>MCVersions</artifactId>
    <version>1.0.0-SNAPSHOT</version>
  </dependency>
</dependencies>
cs

사용법

Kotlin

코틀린 메서드는 Coroutine을 사용합니다. Coroutine을 선호하지 않는다면 자바 메서드를 사용하시면 됩니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import kotlinx.coroutines.runBlocking
import kr.heartpattern.mcversions.MCVersions
 
val client = MCVersions() // 새로운 MCVersion Client 생성
 
runBlocking{ // Coroutine
    val versions = client.requestVersionSet() // 버전 목록 요청
    val latestVersionSummary = versions.versions.first() // 첫번째 버전을 가져옴
    val latestVersion = client.requestVersion(latestVersionSummary) // 자세한 정보 요청
  
    println(latestVersion.id)
    println(latestVersion.releaseTime)
}
 
client.close() // Client 닫기
cs

Java

자바 메서드는 Java8의 CompletableFuture를 사용합니다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import kr.heartpattern.mcversions.MCVersions;
import kr.heartpattern.mcversions.model.Version;
import kr.heartpattern.mcversions.model.VersionSet;
import kr.heartpattern.mcversions.model.VersionSummary;
 
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
 
class Scratch {
    public static void main(String[] args) throws ExecutionException, InterruptedException {
        MCVersions client = new MCVersions();
 
        CompletableFuture<VersionSet> versionsFuture = client.requestVersionSetAsync();
        VersionSet versions = versionsFuture.get();
 
        VersionSummary latestVersionSummary = versions.getVersions().get(0);
 
        CompletableFuture<Version> latestVersionFuture = client.requestVersionAsync(latestVersionSummary);
        Version latestVersion = latestVersionFuture.get();
 
        System.out.println(latestVersion.getId());
        System.out.println(latestVersion.getReleaseTime());
        client.close();
    }
}
cs

링크

Github: https://github.com/HeartPattern/MCVersions

Jenkins: https://jenkins.heartpattern.kr/job/HeartPattern/job/MCVersions/

Maven: https://maven.heartpattern.kr/repository/maven-public/

5개의 댓글

DDang_
2020.01.31

감사합니다

윈초
2020.02.03

버전 정보에는 어떤것들이 포함되있나요?

HeartPattern
2020.02.12
@윈초

버전 정보에는 마인크래프트 실행에 필요한 라이브러리의 이름과 다운로드 주소, 마인크래프트 파일의 주소, 버전, 릴리즈 날짜, 명령줄 인수, 메인 클래스, 로거 정보 등이 포함됩니다.

윈초
2020.02.12
@HeartPattern

기ㅣㅁ사합니다

형준hjun
2020.04.04

감사합니다

뉴스 및 창작물
/files/thumbnails/150/925/003/262x150.crop.jpg?20241123005717

건축

응답하라 1988 ?

팀뉴일리시

2024-11-23

1

/files/thumbnails/761/908/003/262x150.crop.jpg?20241025153749

건축

서울 숭례문(崇禮門) 5

KHC

2024-10-25

2

/files/thumbnails/578/899/003/262x150.crop.jpg?20241010142350

건축

경주 월정교 1

KHC

2024-10-10

2

/files/thumbnails/219/899/003/262x150.crop.jpg?20241009200950

건축

송전탑+도시 2

dbasd12

2024-10-09

2

/files/thumbnails/246/898/003/262x150.crop.jpg?20241008102328

레드스톤

단다단 - 오토노케(オトノケ) | 마인크래프트 노트블럭 커버

노트블럭전문가

2024-10-08

1