나무모에 미러 (일반/어두운 화면)
최근 수정 시각 : 2024-11-19 11:17:06

마인크래프트/모드/패브릭

파일:상위 문서 아이콘.svg   상위 문서: 마인크래프트/모드
{{{#!wiki style="display:inline-block; margin:-10px; vertical-align:bottom;"<tablebordercolor=darkgreen> 파일:modrinth/icon/loader/forge/white.svg파일:modrinth/icon/loader/neoforge/white.svg파일:modrinth/icon/loader/fabric/white.svg 파일:마인크래프트 로고 화이트.svg
버전별 모드로더 · API
}}}
{{{#!wiki style="min-height:calc(1.5em + 5px); margin:0 -10px -5px; word-break:keep-all;"
{{{#!folding [ 펼치기 · 접기 ]
{{{#!wiki style="margin:-6px -1px -11px;"
<colbgcolor=#eee,#2d2f34>
베타
Risugami's ModLoader
1.1 ~ 1.6
파일:마인크래프트 포지 아이콘.svg 포지 ''''''
1.7 ~ 1.12
1.13
1.14 ~ 1.20.1
파일:FabricMC 로고.png 패브릭
1.20.2 ~
볼드 표시: 주요 모드로더
화살표: 분리된 모드로더
}}}}}}}}} ||

1. 개요2. 특징3. 단점4. 설치 방법
4.1. 옵티파인 사용 방법
5. 기타

1. 개요

다양한 모드들의 호환과 다른 모드들을 쉽게 만들 수 있도록 만들어주는 비공식 모드 플랫폼. 경쟁 상대로 Forge가 있다.

공식 홈페이지 Fabric Loader Fabric 위키 Fabric API

2. 특징

Yarn과 Intermediray, Loom, Fabric Loader, Fabric, Cuchaz의 Enigma 포크와 여러개의 작은 도구들을 포함하고 있다. Fabric을 사용해 개발된 모드들은 Fabric과 Fabric Loader를 설치해야 구동할 수 있다. 기존의 포지, 리프트와 같은 모드로더랑은 다르게 더 간단하고 가벼우며, 특정 버전으로의 포팅이 간편하여 개발 속도가 빠른편이다. 스냅샷 버전도 지원하며, 심지어 구버전에 이식시킨 사례도 있다. 이식에 성공한 가장 오래된 버전이 알파 1.2.2a[1]다! 또한 포지가 바닐라 코드들을 수정하여 후킹 코드들을 삽입하는 것과 달리 패브릭은 바닐라 코드에 최대한 비침습적인 방법으로 접근하는 특징을 가진다.[2]

또한 OptiFine보다 훨씬 강력한 소듐(Sodium)이라는 최적화 모드가 존재하며, 소듐과 동시에 구동할 수 있는 최적화 모드들이 추가로 있어서 옵티파인과 비교가 안 될 정도의 강력한 최적화가 가능하다. 다만 소듐은 1.16.1 이상 버전에서만 사용할 수 있는데, 왜냐하면 이 모드의 개발 취지가 스피드런에서 옵티파인이 밴[3]을 먹으며 최적화 모드가 사용 불가능해지자 이에 대응하기 위해 만든 것이기 때문이다. 소듐 하나로는 셰이더 적용이 불가능하며 셰이더 적용을 위해서는 아이리스라는 셰이더 툴이 필요하다. 아이리스만 설치할 때에는 소듐을 자체적으로 내장하지만 다른 패브릭 모드처럼 jar파일로 사용하려면 소듐을 따로 다운로드 해야한다. 이를 사용하면 셰이더를 쓸 때 큰 이점을 가진다.

2018년 12월에 첫 등장한 모드 플랫폼으로 비교적 신생 모드 플랫폼임에도 불구하고 단순 좋은 성능으로 빠르게 포지와 양대산맥을 구축할 수 있었다.

3. 단점

아무래도 일반 사용자 입장에서는 포지보다 모드풀이 좁은게 느껴진다. 마인크래프트 버전 1.1부터, 혹은 그 이전부터 지원해온 포지와 비교하면 대형 모드의 부재가 꽤 크게 다가온다.

제공되는 API 코드의 수가 포지에 비해 적은 편이기에 이를 보완하기 위한 코드들을 모드내에 자체적으로 구현하거나 라이브러리 모드를 사용해야 하는 점이 있다. 예컨대 포지에는 다양한 이벤트 핸들러가 있지만, 패브릭에서는 Mixin이라는 ASM[4] 툴을 이용하여 바닐라 코드에 직접 만든 이벤트를 삽입시켜야 한다. 이러한 이유로 패브릭 모드에서는 한 라이브러리/엔진을 서로 공유하는 경우가 흔하다. 또한 상술한 아이리스가 최적화가 엄청나긴 하나 지원하는 셰이더가 적은 게 단점.[5]

그리고 포지와는 다르게 API와 Loader가 분리되어 있다. 즉 Fabric Loader를 설치한 다음에 Fabric API를 mods 폴더에 넣어야 한다는 것이다. 그렇지만 Fabric API가 없어도 실행은 되기 때문에 Fabric Loader만 설치하고 실행해 본 뒤 정상적으로 설치된 것을 확인하고 게임을 끈 후에 모드를 넣어서 다시 실행했는데 오류가 나면 포지를 써오다가 패브릭을 처음 쓴다면 당황할수도 있다. 이런 단점이 있지만 장점도 있다. 포지는 업데이트 기능이 없어서 같은 버전의 포지 최신버전이 나오면 새로 설치해야 해서 이걸 반복하다보면 같은 버전의 포지가 런처에 주르르륵 나오지만 패브릭은 API가 업데이트되면 다운로드받아서 mods 폴더에 들어가서 이전 버전의 API를 삭제하고 새 버전의 API를 넣어주면 된다. 그럼 다음에 Loader를 실행하고 모드 목록에서 확인해보면 업데이트된 API를 볼 수 있다.

다만 Fabric Loader의 버전이 업데이트되는 경우도 있으며, 이 경우 새로 설치해줘야 한다.

4. 설치 방법

공식 홈페이지에서 인스톨러의 버전중 최신 버전을 다운로드하여 실행하고 마인크래프트 버전과 Loader 버전을 선택하고 Install을 눌러주면 된다. 설치 이후 이곳에 들어가서 API를 받은 후 mods 폴더에 넣어주자. 넣어야 대부분의 모드가 작동한다. 모드설치는 mods 폴더에 Fabric을 지원하는 모드 .jar 파일을 넣어주면 된다.

4.1. 옵티파인 사용 방법

기본적으로 옵티파인은 사용하지 않는 것이 권장되지만, 옵티파인이 오히려 프레임이 잘 나오는 등 특수한 상황에서 사용할 수 있는 방법이다.

옵티파인과 같이 사용하기 위해서는 옵티파인을 설치한 후 OptiFabric이라는 모드를 깔아줘야 하며, 옵티파인 파일도 함께 "%APPDATA%\\.minecraft\\mods"에 넣어야 한다. 하지만 셰이더 관련해서 버그가 있기 때문에 설치한 후에 .minecraft\\config\\fabric에 있는 indigo-renderer.properties 파일을 메모장으로 연 후에 always-tesselate-blocks를 auto에서 false로, ambient-occlusion-mode를 enhanced에서 vanilla로 바꿔줘야 한다.

옵티패브릭은 상술한 아이리스소듐을 지원하지 않기 때문에 셰이더 최적화가 패브릭만 쓸 때보다 오히려 떨어지고 모드 호환성은 매우 나빠지므로 정말 특수한 상황이 아니면 권장되지 않는 방법이다.

5. 기타



[1] pack.png가 촬영된 그 버전 맞다.[2] 그래서인지 패브릭 기반 모드들은 대부분 바닐라 친화적인 특징을 지닌다. 반대로 포지는 테라퍼마처럼 바닐라 시스템 자체를 갈아엎어버리는 모드들도 있다.[3] 시야 확대 기능(줌 모드) 사용 금지, 안개 제거 옵션, 빠른 계산으로 인한 오차, 바닐라보다 높은 렌더 거리, 셰이더 금지, 애니메이션 차단 금지, 옵티파인 리소스팩 사용 금지, 맑은 물 금지, 세부 파티클 설정 금지, 스무스 청크, FPS 표시 금지, 물속 안개 제거 금지 등. 옵티파인 설정 제한 규칙만 해도 2페이지로 넘어가는 바람에 옵티파인 사용을 금지시킨 것.[4] 자바 바이트코드를 조작하여 소스코드를 간접적으로 수정하는 기능이다.[5] 그나마 보편적으로 인기 있는 셰이더는 대부분 지원하고있으며, Iris 출시 이후에 나온 대부분의 셰이더 팩은 OptiFine과 Iris 둘다 지원하는 추세이다. 또한 Iris 쪽에서도 점점 옵티파인 셰이더를 지원 가능하게 개발하는 중이다.[6] IC2, 빌드크래프트, Applied Energistics 등의 예외가 있긴 하나 아직 소수이다.[7] Forge의 경우 mods.toml, Fabric의 경우 fabric.mod.json

파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는
문서의 r3125
, 번 문단
에서 가져왔습니다. 이전 역사 보러 가기
파일:CC-white.svg 이 문서의 내용 중 전체 또는 일부는 다른 문서에서 가져왔습니다.
[ 펼치기 · 접기 ]
문서의 r3125 (이전 역사)
문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)

문서의 r (이전 역사)