Mixin은 ASM을 사용하고 플러그인 가능한 내장 서비스 또는 사용자 제공 서비스 세트를 통해 런타임 클래스 로딩 프로세스에 연결되는 Java용 특성/믹스인 프레임워크입니다. 내장 서비스는 현재 Mojang의 LegacyLauncher 시스템을 지원하지만 확장성이 뛰어나고 Java 8 이상을 지원하는 cpw의 ModLauncher를 위해 더 이상 사용되지 않습니다.
Mixin 의 주요 문서는 Wiki에서 찾을 수 있습니다.
개별 기능 및 주석에 대한 추가 문서는 광범위한 Javadoc에서 찾을 수 있습니다. 추가적인 도움을 받으려면 Sponge Discord 서버의 #mixin
채널을 사용하세요.
Mixin 바이너리는 Jenkins를 통해 제공되며 다음 Maven 저장소에 게시됩니다.
난독화 작업을 처리하기 위해 Mixin은 컴파일 타임에 적용할 툴체인에 대한 난독화 매핑을 생성하는 주석 프로세서를 제공합니다. Gradle 5 이상을 사용하는 경우 주석 프로세서는 더 이상 compile
구성에서 자동으로 로드되지 않으며 annotationProcessor
구성을 통해 명시적으로 지정해야 합니다. 이를 위해 Mixin은 :processor
분류자를 통해 필요한 모든 종속성을 포함하는 "fat jar" 아티팩트를 제공합니다. 예를 들어 빌드가 종속성 org.spongepowered:mixin:1.2.3
사용하는 경우 AnnotationProcessor 구성은 종속성 org.spongepowered:mixin:1.2.3:processor
지정해야 합니다.
Minecraft Forge 프로젝트에서 Mixin을 사용하는 경우 MixinGradle 플러그인을 사용하여 Mixin Annotation Processor 구성을 단순화할 수 있습니다. 이는 프로젝트에 맞게 Mixin AP를 구성하기 위한 간단한 구문을 제공합니다. MixinGradle 구성 방법은 MixinGradle README를 참조하세요.
Mixin을 사용하여 개발할 때 Eclipse 내의 Mixin Annotation Processor를 사용하면 상황에 맞는 오류 및 경고를 제공하여 믹스인 문제를 보다 쉽게 해결할 수 있습니다. 그렇게 하려면:
gradle build
명령을 실행하여 mixin jar을 생성합니다.Java Compiler
-> Annotation Processing
-> Factory Path
로 이동합니다.Enable project specific settings
확인란을 선택합니다.Add External JARs
버튼을 클릭하고 -processor 접미사를 사용하여 생성된 mixin jar를 선택합니다(힌트: Mixin/build/libs
에 있어야 함).Java Compiler
-> Annotation Processing
Enable project specific settings
확인란을 선택합니다.Enable annotation processing
확인란을 선택합니다.Processor options
상자 옆에 있는 New...
버튼을 클릭합니다.Key
reobfSrgFile 로 설정Value
mcp-srg.srg
파일의 정규화된 경로로 설정합니다(매핑 파일의 위치는 플랫폼에 따라 다릅니다. 파일 위치를 잘 모르는 경우 아래 discord 링크를 따르십시오).OK
을 클릭하세요.IntelliJ IDEA에서 Mixin 작업을 위한 향상된 기능은 DemonWav에서 개발한 IntelliJ IDEA용 Minecraft 개발 플러그인을 통해 사용할 수 있습니다.
구성에서 minVersion
속성을 지정하는 것은 매우 중요합니다. 다음 버전 기록은 어떤 minVersion
지정해야 하는지 결정하는 데 도움이 되도록 기능이 도입된 시기(때때로 주요 버그가 처리된 시기)를 결정하는 데 사용될 수 있습니다.
버전 | 날짜 | 기능/변경 사항 |
---|---|---|
0.8.3 | 2021년 2월 |
|
| 2020년 9월 |
|
0.8 | 2020년 1월 |
|
0.7.11 | 2018년 7월 |
|
0.7.10 | 2018년 6월 |
|
0.7.9 | 2018년 4월 |
|
0.7.8 | 2018년 4월 |
|
0.7.7 | 2018년 3월 |
|
0.7.6 | 2017년 11월 |
|
0.7.5 | 2017년 10월 |
|
0.7.4 | 2017년 9월 |
|
0.7.3 | 2017년 8월 |
|
0.7.2 | 2017년 8월 |
|
0.7.1 | 2017년 8월 |
|
0.7 | 2017년 7월 |
|
0.6.15 | 2017년 7월 |
|
0.6.14 | 2017년 7월 |
|
0.6.13 | 2017년 7월 |
|
0.6.12 | 2017년 6월 |
|
0.6.11 | 2017년 6월 |
|
0.6.10 | 2017년 5월 |
|
0.6.8 | 2017년 2월 |
|
0.6.7 | 2017년 1월 |
|
0.6.6 | 2017년 1월 |
|
0.6.5 | 2017년 1월 |
|
0.6.4 | 2017년 1월 |
|
0.6.3 | 2016년 12월 |
|
0.6.2 | 2016년 12월 |
|
0.6.1 | 2016년 11월 |
|
0.6 | 2016년 10월 |
|
0.5.17 | 2016년 10월 |
|
0.5.16 | 2016년 10월 |
|
0.5.14 | 2016년 9월 |
|
0.5.13 | 2016년 9월 |
|
0.5.10 | 2016년 6월 |
|
0.5.9 | 2016년 6월 |
|
0.5.8 | 2016년 6월 |
|
0.5.7 | 2016년 6월 |
|
0.5.6 | 2016년 5월 |
|
0.5.5 | 2016년 4월 |
|
0.5.4 | 2016년 4월 |
|
0.5.3 | 2016년 2월 |
|
0.5.2 | 2016년 2월 |
|
0.5.1 | 2016년 2월 |
|
19년 4월 4일 | 2016년 2월 |
|
18.04.04 | 2016년 2월 |
|
0.4.17 | 2016년 1월 |
|
0.4.15 | 2016년 1월 |
|
0.4.14 | 2016년 1월 |
|
0.4.13 | 2016년 1월 |
|
0.4.11 | 2016년 1월 |
|
0.4.10 | 2015년 12월 |
|
0.4.8 | 2015년 12월 |
|
0.4.6 | 2015년 9월 |
|
0.4.4 | 2015년 7월 |
|
0.4.3 | 2015년 5월 |
|
0.4 | 2015년 5월 |
|
0.3.2 | 2015년 4월 |
|
0.3.1 | 2015년 4월 |
|
0.3 | 2015년 3월 |
|
0.2 | 2015년 3월 |
|
0.1 | 2015년 1월 |
|