Sprucians

안녕하세요, 세메이아입니다.


저도 모딩 거의 못 합니다(...) 하지만 여러 강좌들과 달리 이 글은 방법을 설명하는 게 아니라 그냥 코드를 복붙할 수 있게 하는 게 목표입니다. 그냥 설명 읽고 그대로 따라하시면 됩니다.


뭐, 그러면 일단 기초 환경 세팅부터 하겠습니다.




1. 환경 설정

준비물: 64비트 컴퓨터, 의지




1-1. JDK


Java Development Kit.


http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

여기서 다운로드 가능합니다. 자바 개발 환경에 필수적입니다.




1-2. Eclipse


통합 개발 툴입니다. 이클립스 없이 메모장 써도 되긴 합니다만... 그러고 싶어요? (진지)


https://www.eclipse.org/downloads/

여기서 다운로드 가능합니다. Windows의 경우 설치기가 있습니다.




1-3. Forge Src


Minecraft Forge SouRce Code.


저는 1.7.10버전으로 진행하므로 1.7.10 기준으로 하겠습니다. 1.10.2는 티머님에게 부탁드리세요.


https://files.minecraftforge.net/maven/net/minecraftforge/forge/index_1.7.10.html



들어가 보시면 이런 화면이 뜰 텐데, Src를 눌러서 다운로드하시면 됩니다. 권장(Recommended) 버전을 추천합니다.



다운로드한 Src 파일을 압축해제해 주세요. 폴더명은 상관없지만 경로에 한글이 들어가지 않도록 해 줍시다.



이렇게 나왔을 겁니다.



시프트 우클릭 후 여기서 명령 창 열기를 선택해 주세요. 그러면 CMD가 나옵니다.



다음 명령어를 입력하세요.


gradlew setupDecompWorkspace


설치가 안 될 시에는 2가지 이유가 있습니다.


1. JDK가 없다 -> 설치하세요.

2. 마인크래프트가 없다 -> 설치하세요. 멀티MC 안 됩니다.



잘 끝났군요. 보통 몇 분 걸립니다.



그러면 다음 명령어를 입력합시다.


gradlew eclipse


여기까지 성공하면 준비는 끝났습니다.




1-4. 워크스페이스 설정



이클립스를 처음 설치했다면 바로 경로 설정 창이 뜰 테고, 이전에 작업하던 게 있었다면 이전 워크스페이스가 뜰 텐데 File -> Swith Workspace -> Other... 로 들어가시면 됩니다.



경로 설정을 해 둡시다. SRC 폴더 내의 eclipse 폴더로 설정하시면 됩니다.



짠!



기본적으로 존재하는 com.example.examplemod 패키지(폴더라고 생각하시면 됩니다)와 그 아래 있는 ExampleMod 클래스(코드 덩어리라고 생각하시면 됩니다)를 삭제해 줍시다.


이걸로 환경 설정은 끝났습니다.




1-5. 모드 정보 입력



src/main/java를 우클릭해 새 패키지를 만들어 둡시다. 패키지 이름은 다음과 같이 합시다.


(제작자).(모드이름)



전 이렇게 했습니다.


제작자는 semeia, 모드 이름은 HanaNoNisuisen으로 하겠습니다.



패키지를 우클릭해 새 클래스를 만들어줍시다.



이렇게 되어 있을 겁니다. package semeia.HanaNoNisuisen;은 경로 설정이고 public class HanaNoNisuisen { }은 클래스의 내용입니다.



일단 먼저 몇 가지 클래스를 임포트(import)해 줍시다. 임포트에 대한 자세한 설명은 생략하겠습니다. 그냥 다른 클래스의 정보를 가져오는 구문이라고 보시면 됩니다. 그 클래스에서 정의한 함수나 뭐 그런 것들을 사용 가능하게 하죠. 3줄에 다음 구문을 입력합시다.


import cpw.mods.fml.common.Mod;

import cpw.mods.fml.common.Mod.EventHandler;

import cpw.mods.fml.common.event.FMLInitializationEvent;

import cpw.mods.fml.common.event.FMLPreInitializationEvent;



public class HanaNoNisuisen { 윗줄에 다음 코드를 적어둡시다.


@Mod(modid = HanaNoNisuisen.MODID, version = HanaNoNisuisen.VERSION)


빨간 줄은 곧 고칠 겁니다.



중괄호 안에 다음 코드를 적어둡시다.


public static final String MODID = "HanaNoNisuisen";

public static final String VERSION = "(모드 버전)";


NotEnoughPearls라고 되어 있는 건 제 다른 모드에서 코드를 베껴서 그런 겁니다. 모드 이름을 넣어주세요.


이걸로 모드의 메인 클래스가 만들어졌습니다.



다음은 src/main/resourcesmcmod.info를 열어 주세요.



정보를 입력합시다.


modid - 모드 ID. 아까 쓰던 모드 이름을 넣어 주시면 됩니다.

name = 모드 이름. 겉으로 표시되는 이름입니다.

description = 모드 설명.

version = 모드 버전. 기본적으로 메인 클래스에서 버전 숫자를 가져오니 비워둬도 됩니다.

mcversion = 놔두시면 됩니다.

url = 모드 홈페이지.

updateUrl = 모드 업데이트 페이지.

authorList = 제작자 목록입니다.

credits = 뭐라고 해야 할까... 대충 기본적으로 있는 예시 보시면 아실 겁니다. 도움 준 사람들에게 감사 문구 넣는 거 비슷한 거에요. 아마.



저장 후 Debug 버튼을 누르시면 모드가 적용된 마인크래프트가 실행됩니다.



짠! 4 mods loaded 보이시죠?



잘 적용된 것을 보실 수 있습니다.


그러면 여기까지.