본문 바로가기

Game Dev/MineCraft - Mod18

종합 아이템 생성 클래스 생성하기 말머리 대상 : 포지모드 개발환경 설정이 다 되어있고, 자바 프로그래밍을 어느정도 아시는분들 중간중간 패키지명이나 클래스명이 달라지거나, 패키지 구조, 클래스 위치가 달라질 수 있습니다. 구조가 달라서 적용에 문제가 있는부분은 방울크래프트 모드는 오픈소스상태이니 깃헙에서 구조를 확인해보시기 바랍니다. 또, 패키지 생성이나 클래스 생성에 대한 부분은 본인이 판단하여 센스있게 생성해주시기 바랍니다. 설명시 클래스위치는 패키지경로.클래스명 순으로 알려드립니다. 강좌시 몇몇 부분에서는 해당 클래스 소스 전체를 올려드리지만, 대부분의 상황에서는 해당 클래스의 일부 메소드 소스만 예시로 보여드립니다. 소스 작성시 일부 자료형등에서 빨간 밑줄이 쳐질경우 해당 클래스를 직접 임포트해주시기 바랍니다. 일부 경우에는 임포.. 2014. 12. 14.
블럭 하베스트레벨, 부술시 나오는 아이템 지정하기 말머리 대상 : 포지모드 개발환경 설정이 다 되어있고, 자바 프로그래밍을 어느정도 아시는분들 중간중간 패키지명이나 클래스명이 달라지거나, 패키지 구조, 클래스 위치가 달라질 수 있습니다. 구조가 달라서 적용에 문제가 있는부분은 방울크래프트 모드는 오픈소스상태이니 깃헙에서 구조를 확인해보시기 바랍니다. 또, 패키지 생성이나 클래스 생성에 대한 부분은 본인이 판단하여 센스있게 생성해주시기 바랍니다. 설명시 클래스위치는 패키지경로.클래스명 순으로 알려드립니다. 강좌시 몇몇 부분에서는 해당 클래스 소스 전체를 올려드리지만, 대부분의 상황에서는 해당 클래스의 일부 메소드 소스만 예시로 보여드립니다. 소스 작성시 일부 자료형등에서 빨간 밑줄이 쳐질경우 해당 클래스를 직접 임포트해주시기 바랍니다. 일부 경우에는 임포.. 2014. 12. 6.
모드를 입맛대로 설정가능하게하기! (Config) 말머리 대상 : 포지모드 개발환경 설정이 다 되어있고, 자바 프로그래밍을 어느정도 아시는분들 중간중간 패키지명이나 클래스명이 달라지거나, 패키지 구조, 클래스 위치가 달라질 수 있습니다. 구조가 달라서 적용에 문제가 있는부분은 방울크래프트 모드는 오픈소스상태이니 깃헙에서 구조를 확인해보시기 바랍니다. 또, 패키지 생성이나 클래스 생성에 대한 부분은 본인이 판단하여 센스있게 생성해주시기 바랍니다. 설명시 클래스위치는 패키지경로.클래스명 순으로 알려드립니다. 강좌시 몇몇 부분에서는 해당 클래스 소스 전체를 올려드리지만, 대부분의 상황에서는 해당 클래스의 일부 메소드 소스만 예시로 보여드립니다. 소스 작성시 일부 자료형등에서 빨간 밑줄이 쳐질경우 해당 클래스를 직접 임포트해주시기 바랍니다. 일부 경우에는 임포.. 2014. 12. 3.
Bell Craft 모드 Github 오픈소스 https://github.com/Bell-Soft-Network/BellCraft 에서 보실 수 있습니다. 2014. 12. 2.
화로 조합법 등록하기 bellcraft.recipe.FurnaceRecipe 에 다음과같이 코딩해줍니다. package bellcraft.recipes; import bellcraft.blocks.Blocks; import bellcraft.core.BellCraft; import bellcraft.items.Items; import net.minecraft.item.ItemStack; import cpw.mods.fml.common.registry.GameRegistry; public class FurnaceRecipe { public static void registerRecipe() { // (블럭, new ItemStack(아이템, 개수, 메타태그), 필요한 열) GameRegistry.addSmelting(Block.. 2014. 12. 2.
블럭 밝기설정, 불투명도 설정, 강도설정, 소리설정 등 블럭설정과 조합법 추가하기 이번에는 블럭 밝기 및 불투명도, 강도설정과 함께 조합법 추가도 하겠습니다 ~_~ 아, 여기서 NEI 조합법 가이드 추가는 API를 사용해야하나?? 하기때문에 나중에 따로 강좌하겠습니다. 우선 가독성도 높일겸 여러 등록은 등록 클래스에서 관리하도록 합니다. bellcraft.core 패키지에 Registry 클래스를 생성해줍니다. package bellcraft.core; import bellcraft.items.Items; import net.minecraft.item.ItemStack; import net.minecraft.item.crafting.IRecipe; import cpw.mods.fml.common.registry.GameRegistry; public class Registry { pub.. 2014. 12. 2.
빌드 최적화 / 빌드시 한글주석 때문에 별 외계어가 뜰때 빌드해서 마크키기 귀찮아서 이클립스에서 디버깅하면서 모드개발을 쮸꾸쮸꾸 하다가 어느날 한번 마크내에서 잘 작동하나 확인해보려고 빌드하는순간..!! 아주그냥 연설하네 저딴식으로 인코딩에러가 쮸꾸쮸꾸 나는 상황을 여러분들도 맛보셨을겁니다. 이클립스안에서는 인코딩을 UTF-8로 바꿨는데 빌드할때는 인코딩이 UTF-8이 아닌 기본값인 MS949 인코딩으로 빌드되어서 발생하는 에러입니다. 어짜피 한글은 대부분 주석이라 상관없는데 저렇게 빌드할때 계속 에러가 발생하면 깔끔한 느낌도 안들고 나중에 진짜 에러가 발생했을때는 찾기가 힘들어질 수 있죠. 그러므로 이클립스에서 build.gradle 파일을 드래그 & 드롭으로 열어줍니다. (노트패드++같은 텍스트 편집기 사용하셔도 되는데, 저는 작업 편의상 이클립스내에서 하.. 2014. 12. 1.
플레이어 로그인 이벤트 발생시 채팅띄우기 및 채팅 번역 이번엔 심심풀이로 플레이어가 로그인하면 채팅메시지로 무언갈 알려주는걸 추가해보도록 하겠습니다. 단언컨데 모드는 다국어 지원이 되어야 좋은 평을 받을 수 있습니다! 그러므로 다국어 지원이 되도록 모든 언어들을 지정해줘야겠죠 일단 bellcraft.core 패키지에 Events 클래스를 만들어줍니다. Events.java package bellcraft.core; import net.minecraft.util.ChatComponentTranslation; import cpw.mods.fml.common.eventhandler.SubscribeEvent; import cpw.mods.fml.common.gameevent.PlayerEvent.PlayerLoggedInEvent; public class Even.. 2014. 12. 1.
광물블럭 추가 및 월드에서 광물 자동생성하기 오늘은 광물 추가 및 월드젠을 해봅시다~_~ 먼저 bellcraft.blocks 패키지에 BlockOre 클래스를 맹글어줍니다. 앞으로 왠만한 임포트는 직접 해주세요. 빨간 밑줄 쳐진곳 마우스 갖다대면 임포트 추천나오는데, 거기서 나열된 클래스중에 마인크래프트 관련 클래스를 임포트해주시면됩니다. public class BlockOre extends Block { @SideOnly(Side.CLIENT) // 클라이언트에서만 작동 private IIcon icon; private final String customUnlocalizedName; public BlockOre(String arg1) { super(Material.rock); // 돌 재질의 블럭으로 설정 customUnlocalizedName .. 2014. 12. 1.
랜덤박스 티어별로 생성 및 랜덤아이템교환기능 추가하기 일단 bellcraft.items 패키지에 ItemRandomBox 클래스로 가줍니다. 그 다음 다음과같이 코딩(...강좌인데 너무 성의없군)합니다. package bellcraft.items; import java.util.List; import java.util.Random; import bellcraft.core.BellCraft; import net.minecraft.client.renderer.texture.IIconRegister; import net.minecraft.creativetab.CreativeTabs; import net.minecraft.entity.player.EntityPlayer; import net.minecraft.entity.player.InventoryPlayer; .. 2014. 12. 1.