디컴파일된 마인크래프트 버전 비교
⚠️ You cannot publish any of Minecraft's source code!
이 자습서에서는 shulkr을 사용하여 Minecraft: Java Edition의 Wild Update에 도입된 모든 코드 변경 사항을 확인합니다.
슐커 설치
Shulkr를 사용하면 여러 버전의 Minecraft: Java Edition을 디컴파일, 관리 및 비교할 수 있습니다. pip로 설치할 수 있습니다.
pip install -U shulkr
이를 사용하려면 Git 및 Python 3가 설치되어 있어야 합니다. (yarn 매핑을 사용하려면 JDK 17 이상이 필요합니다.)
Minecraft 1.18.2 디컴파일
시작하려면 Caves & Cliffs 업데이트의 마지막 패치를 디컴파일해 보겠습니다.
mkdir minecraft
cd minecraft
shulkr --mappings mojang 1.18.2
이렇게 하면 현재 디렉터리에 3개의 커밋이 포함된 git repo가 생성됩니다.
$ git log --oneline
49f1ec5 (HEAD -> main, tag: 1.18.2) version 1.18.2
87b4c68 add .gitignore
51f09e4 add .shulkr
가장 최근 커밋은 우리가 신경 쓰는 유일한 커밋입니다. 클라이언트 및 서버 소스와 함께 src 디렉토리를 추가합니다.
Shulkr의 현재 기본값은 원사 매핑을 사용하여 Minecraft를 디컴파일하는 것입니다. Mojang에서 게시한 공식 파일을 사용하려면
--mappings mojang
를 포함합니다. 리포지토리당 한 번만 제공하면 됩니다.마인크래프트 1.19 디컴파일
이제 Wild Update를 디컴파일할 수 있는 두 가지 옵션이 있습니다. shulkr에게 각 1.19의 스냅샷을 개별적으로 디컴파일하고 커밋하도록 지시하거나 단일 커밋으로 1.19를 생성하도록 지시할 수 있습니다.
각 스냅샷을 개별적으로 생성:
shulkr ...1.19
여기서는 snapshot range 구문을 사용하여 1.19까지 모든 스냅샷을 포함합니다.
커밋 기록을 보면 이제 다음을 볼 수 있습니다.
$ git log --oneline
75c1db5 (HEAD -> main, tag: 1.19) version 1.19
db6f94c (tag: 1.19-rc2) version 1.19-rc2
920103c (tag: 1.19-rc1) version 1.19-rc1
9b22ccc (tag: 1.19-pre5) version 1.19-pre5
92ccdc0 (tag: 1.19-pre4) version 1.19-pre4
86eeac5 (tag: 1.19-pre3) version 1.19-pre3
4e6b60f (tag: 1.19-pre2) version 1.19-pre2
e2f126e (tag: 1.19-pre1) version 1.19-pre1
7b2ed57 (tag: 22w19a) version 22w19a
d77b8bc (tag: 22w18a) version 22w18a
8c26849 (tag: 22w17a) version 22w17a
473997f (tag: 22w16b) version 22w16b
c2abe5b (tag: 22w16a) version 22w16a
1f1d0e3 (tag: 22w15a) version 22w15a
c9d0fbd (tag: 22w14a) version 22w14a
2461716 (tag: 22w13oneblockatatime) version 22w13oneblockatatime
ada384b (tag: 22w13a) version 22w13a
f149097 (tag: 22w12a) version 22w12a
e2f0705 (tag: 22w11a) version 22w11a
49f1ec5 (tag: 1.18.2) version 1.18.2
87b4c68 add .gitignore
51f09e4 add .shulkr
단일 커밋으로 1.19 생성:
shulkr 1.19
이 명령은 하나의 버전만 디컴파일하기 때문에 이전 명령보다 훨씬 빠르게 실행됩니다. 여기에서 커밋 기록을 보면 다음을 볼 수 있습니다.
$ git log --oneline
e23cdba (HEAD -> main, tag: 1.19) version 1.19
49f1ec5 (tag: 1.18.2) version 1.18.2
87b4c68 add .gitignore
51f09e4 add .shulkr
버전 비교
이제 1.19에서 변경된 모든 코드를 볼 수 있습니다.
git diff 1.18.2 1.19
수정된 파일을 나열하기 위해 다음을 실행할 수 있습니다.
git diff --stat 1.18.2 1.19
이 튜토리얼을 확인해 주셔서 감사합니다 😄 문제가 있으면 open an issue .
Reference
이 문제에 관하여(디컴파일된 마인크래프트 버전 비교), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/clabe45/diff-decompiled-minecraft-versions-43ml텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)