모드 개발 근황 - 2017년 2월 15일
안녕하세요, 세메이아입니다.
오늘도 아침부터 모딩을 시작했죠
자, 오늘은 갑옷을 만들어 봅시다. 갑옷도 도구와 마찬가지로 매티리얼에 따라 능력치가 결정되는데, 갑옷의 경우는 ArmorMaterial을 사용합니다.
이게 ArmorMaterial 추가 구문입니다.
빨간줄은 net.minecraft.item.ItemArmor.ArmorMaterial을 임포트하면 해결됩니다.
결과물. 도구랑 매우 비슷하죠?
public static ArmorMaterial sprucian = EnumHelper.addArmorMaterial("Sprucium", 2015, new int[]{5, 8, 7, 5}, 50);
public static = 다음 객채를 생성하라
ArmorMaterial sprucian = sprucian이라는 ArmorMaterial을 추가합니다
= EnumHelper.addToolMaterial(); = EnumHelper로 괄호 안의 ArmorMaterial을 추가해서 sprucian이라는 ArmorMaterial을 그걸로 정의합니다.
("Sprucian", 2015, new int[]{5, 8, 7, 5}, 50) = 추가할 ArmorMaterial을 설정합니다. 이름은 "Sprucian", 기본 내구도는 2015입니다. 실제 내구도는 여기에다가 투구는 11, 흉갑은 16, 바지는 15, 신발은 13을 곱한 값이죠. 방어력은 투구, 흉갑, 바지, 신발이 각각 5, 8, 7, 5입니다. 마법성은 50입니다.
자, 매티리얼은 추가했으니 아이템 생성용 클래스를 짭시다.
나는 만든다 클래스
짠
자세한 설명은 생략
이렇게 됩니다. 자세한 설명은 생략(...) 귀찮아요
클래스를 활용해서 만든 아이템에 정보를 삽입해 줍시다.
자세히 보시면 문제가 있습니다(...)
당연히 크래시. 고쳤습니다.
그 김에 가독성을 위해 주석 좀 달아놨죠.
잘 되는군요.
아이템 등록 구문을 좀 줄였습니다. 단순히 기존 걸 한줄로 줄인 겁니다. 기존에는 앞에서 만든 아이템에 첫 줄에서 정보를 삽입하고 둘째 줄에서 등록했는데 이번에는 같은 줄에서 정보를 삽입하고 바로 등록합니다.
자, 이번에는 드디어 조합법을 해야겠네요. 하는 법은 전혀 모르지만 티머님이 도와주시겠지(어이
그래서 가르침을 받고 있습니다.
잘 되는군요.
* 조합법 추가 설명
조합법 추가에는 3가지 함수가 있습니다. 무형조합법을 추가하는 GameRegistry.addShapelessRecipe()와 유형조합법을 추가하는 GameRegistry.addRecipe() 및 GameRegistry.addShapedRecipe()가 바로 그것입니다.
먼저 무형조합법부터 알아보도록 하겠습니다.
GameRegistry.addShapelessRecipe(new ItemStack(SemeiasUtilsItems.PlateAkashium), SemeiasUtilsItems.MaruyuHammer, SemeiasUtilsItems.IngotAkashium);
간단합니다. new ItemStack()으로 결과 아이템을 먼저 지정하고, 그 뒤에는 재료 아이템을 죽 늘어놓으면 됩니다. 이 경우는 일회용 망치(SemeiasUtilsItems.MaruyuHammer)와 아카슘 주괴(SemeiasUtilsItems.IngotAkashium)로 아카슘 판(SemeiasUtilsItems.PlateAkashium)을 만드는 조합법입니다.
자, 그러면 유형조합법입니다. 유형조합법에는 GameRegistry.addShapedRecipe()와 GameRegistry.addRecipe() 두 개가 있는데 둘의 차이점은 무엇일까요?
GameRegistry.addShapedRecipe()의 경우에는 무조건 그 모양대로만 조합할 수 있습니다. 예를 들어 (석탄/공백/공백 막대/공백/공백 공백/공백/공백)으로 설정했다면 addShapedRecipe()의 경우는 무조건 저 모양으로만 가능합니다. (공백/석탄/공백 공백/막대/공백 공백/공백/공백) 같은 것은 되지 않습니다.
그런데 GameRegistry.addRecipe()의 경우 좀 더 융통성이 있습니다. 예를 들어 횃불의 조합법을 (석탄 막대)로 설정했다면 (석탄/공백/공백 막대/공백/공백 공백/공백/공백)이든 (공백/석탄/공백 공백/막대/공백 공백/공백/공백)이든 뭐든 상관 없이 (석탄 막대)라는 기본 틀만 지킨다면 다 조합이 됩니다. 또한 조합법을 좌우로 뒤집어도 결과물이 그대로 나옵니다. MTRM의 Mirrored와 같습니다.
그러므로 일반적으로는 GameRegistry.addRecipe()를 사용하는 것이 좋습니다.
잘 됩니다. 임시적으로 철 텍스처를 빌려서 사용했습니다. 텍스처 없는 건 판.
텍스처 만들어 박았습니다.
굳굳
판도 잘 만들어지는군요. 저기 깨진 건 일회용 망치입니다.
투명 설정도 하고 갑옷 텍스처도 만들었습니다. 퀄은 저 모양이지만.
그러면 여기까지. 곧 0.3.0버전이 출시됩니다. 자고 나서는 광물을 만들 예정이에요.
'모딩 이야기 > 세메이아의 삽질 공방' 카테고리의 다른 글
모딩 강좌 - 1. 환경 설정 (5) | 2017.02.28 |
---|---|
아 ! 이 얼마나 무서운가 (3) | 2017.02.16 |
Semeias Utils 0.2.1 (0) | 2017.02.15 |
Semeias Utils 로고 (4) | 2017.02.14 |
모드 개발 근황 - 2017년 2월 14일 (8) | 2017.02.14 |