본문 바로가기
Minecraft Forge/팁

Forge API 의 구조

by 정우 :P 2016. 4. 21.

 기본적으로 작업하는 마인크래프트 포지의 구조는 아래와 같이 되어 있습니다.

 

- Vanilla Minecraft (기본적인 마인크래프트 소스 입니다. 즉 원본 소스를 의미합니다)

- Minecraft Forge (포지에서 추가한 여러 소스들입니다. 대표적으로 Forge Hooks, events, 렌더링 등 여러 부분에 걸쳐 추가되어 있습니다.)

- Forge Mod Loader (포지 모드로더에서 추가한 여러 소스들입니다. 모드 로딩, 모드간의 호환성 담당, ASM, 레지스트리, 프록시 등이 추가되어 있습니다.)

 

 

즉 흔히 아시는 forge-버전-universal.jar << 이 파일에 저 세 소스가 몽땅 들어가 있다고 보시면됩니다.

 

어떤 소스가 바닐라 소스인지 혹은 포지 소스인지 아니면 FML 소스인지 확인하는 방법은 간단합니다.

해당 클래스/인터페이스 의 패키지명을 확인하시면 됩니다.

 

Vanilla Minecraft : net.minecraft.xxx

Minecraft Forge : net.minecraftforge.xxx

 

1.8이상

FML : net.minecraftforge.fml.xxx

 

1.8 미만

FML : cpw.mods.fml.xxx

 

아래는 대략적인 마인크래프트 구조입니다. (우선적으로 생각나는거만 넣었습니다. 빠진 부분이 있을 수 있습니다.)

 

 

 

 

즉, Minecraft 클라이언트와 서버간에 패킷(Packet) 을 이용해 Netty 네트워크 엔진으로 통신을 하며,

클라이언트에서 LWJGL 을 이용해 렌더링 및 사운드 제어를 하고,

Log4j, Guava 등과 같은 여러 유틸리티 라이브러리를 사용하며

그 위에 또는 소스 중간중간에 Minecraft Forge 소스들이 추가되어 있으며

FML은 주로 모드들의 편의 사항(?) 을 담당하고 있다고 볼 수 있습니다.

 

(물론 이렇게 다양한 소스들이 있지만 우리가 실제로 다뤄야 할 부분은 상당히 적습니다 걱정마세요 :)

 

이 대략적인 구조를 보시고 어느정도 감을 잡으셨길 바라면서 이번 글을 마치겠습니다 :)

(질문은 댓글로 남겨주세요)

 

'Minecraft Forge > ' 카테고리의 다른 글

MCP? FML? Forge? Bukkit?  (0) 2016.03.17

댓글