스샷 찍을 비석을 위해 자신의 아이를 태우는 무서운 사람



이거 왜 쓰고 있냐 럽홀


직관적이고 판타스틱한 GUI를 만드십쇼.




안녕 럽홀




에고고 극혐 텍스쳐!




BlockHandmill 부분에 이렇게 넣어줍니다.



그림을 준비합니다.




오오..



안녕하세요 로페카 최강 귀염둥이 럽홀입니다.


이번에는 클래스를 추가하거나 패키지를 만드는 부분은 안보여드리고 텍스트로만 적겠습니다.

제가 너무 힘들고.. 이번엔 제가 먼저 짜고 따로 강의를 드리는거라서 어쩔수가 없습니다.


이전 강의때 만든 정성을 갈아 만든 모델 텍스쳐는 여기다 넣어둡시다.

src/main/resources/assets/loveholytech/textures/blocks 입니다.




패키지와 클래스입니다. 이대로 만들어주시면 됩니다.

여기다가 저번에 JAVA로 저장한 내용을 넣고 약간만 변경시켜주시면 됩니다.



빨간색 체크되어 있는 부분은 원본 소스가 원래 에러를 뿜뿜하기 때문에 이렇게 수정을 해주셔야 합니다.

그리고 네모 부분은 우리가 렌더를 사용하기 위해서 필요한 부분인데 새로 짠 부분입니다.

setRotation은 저번에 썼던 techne 프로그램에서 파란색 구를 중심으로 돌아가는 부분입니다.

Shape2와 Shape3이 어처구니 부분이였으니 이 부분은 돌려줘야 하겠죠?


이제 TileEntityHandmill 부분입니다. 뭔가 추가된게 많죠?

틱 처리 부분(updateEntity)에는 rotation이 6.4를 넘으면 0으로 가게 합니다.

rotation는 회전을 관리해주는 변수이고 6.4를 넘었다는것은 한바퀴를 돌았다라는 뜻이기 때문입니다.

그리고 setRotation과 getRotation은 외부에서 rotation의 값에 접근하기 위해서 사용되는 메소드입니다.

그 아래 readFromNBT와 writeToNBT는 블록의 NBT에 내용을 기록하기 위해 사용됩니다.

그 밑에 두개의 메소드는 서버와 클라이언트 사이에 있는 데이터를 통합시키기 위해서 사용되는 부분입니다. 꼭 추가하셔야 합니다.



렌더링을 위한 패키지 loveholy.loveholytech.render 를 만들어줍시다.

그리고 밑에 있는 아이템 렌더링을 맡는 ItemRenderHandmill 과 RenderHandmill 부분을 생성합니다.

이제 렌더링을 맡는 RenderHandmill을 편집합시다.

ResourceLocation texture를 선언하여 아까 저장해놨던 경로를 입력해주시면 됩니다.


나머지 부분은 공간을 확보하고 텍스쳐를 입힌 다음에

타일엔티티에서 회전값을 받아서 모델을 렌더링하는 부분입니다.


ItemRenderHandmill 부분입니다.

아이템을 렌더링할때에는 좀 더 작게 렌더링해야 하기 떄문에 특수한 처리가 필요합니다.

이렇게 적어두시면 됩니다.


BlockHandmill 부분도 꽤 손을 봤습니다.

onBlockActivated는 오른쪽 클릭을 했을때 인데

이 부분에서 클릭했을때 회전값을 올려주기로 했습니다.

그리고 getRenderType은 따로 렌더링 하고 있다고 하기 위해서 -1을 리턴하였고

이게 완전히 네모 모양인가를 알려주는 메소드에도 마찬가지로 false

이게 일반 블록 렌더링을 쓸건지 물어보는 부분도 마찬가지로 false를 하게 해놨습니다.



렌더링을 위해서 이게 클라이언트인지, 서버인지 가려주는 부분이 필요합니다.

그 역할이 proxy라는 놈들이 해주는데요. 이 패키지를 추가하고

두개의 클래스를 추가해줍시다.


CommonProxy 부분입니다. 

여긴 메소드가 있다~ 라는 것만 알려주면 되기 떄문에 내용은 텅텅 비워도 괜찮습니다.



ClientProxy 부분입니다. Client만 사용하는 것들을 여기다가 구현을 하시면 되는데요.

일딴 렌더러를 만들고 그걸 레지스트리에 등록을 합니다.

그리고 마찬가지로 아이템도 등록을 해주어야겠죠.



LoveHolyTech 클래스 부분으로 넘어와서 이 빨간색 상자 세개를 꼭 추가시켜줍니다.

맨 위에 부분은 별 상관이 없는데(나중에 쓰게 될거 같아서 넣었는데 쓰게 되면 설명해드리겠습니다.)

두번째 상자 부분은 이제 등록된 부분을 어딜 참고를 할지 선택하는 부분입니다.

그리고 세번째는 렌더러를 호출하는 부분이죠.


자 이제 완성. 실행해볼까염? ㅎㅎ



돌아라 낙오자여



안녕하냐해. 럽홀이다헤.


Techne라는 프로그램을 이용해서 모델을 만들어보도록 하겠습니다.


Techne는 


Techne.zip


를 눌러서 다운받으시면 됩니다.



적당하게 만듭니다. 저기는 width랑 height이 64/32로 나와있는데 128 / 64로 만듭시다.



적당하게 큐브를 만듭니다.



두부를 만듭니다(일본에는 stone을 두부라고 부릅니다. 우리가 말도 안되는 꾸븐돌이라고 부르듯)

왼쪽에 보시면 여러가지 값을 입력해두는 부분이 있는데 하나 하나씩 설명 드리곘습니다.

Dimensions

크기 입니다. 순서대로 x y z의 크기입니다. 저는 지상에서 높이 y 10정도 그리고 가로 세로가 16으로 꽉 차는 두부를 만들었습니다.

Position

저기 보이는 파란색 공의 위치입니다. 저는 14로 두었습니다.

Offset

두부와 공과의 위치입니다. 저는 저 파란색 공이 중앙에 위치하게 설정해놨습니다.

Offset

오른쪽 상단에 보면 텍스쳐가 있습니다.이걸 옮겨주는겁니다. 저는 일단 이 두부를 만드는건 기본값으로 설정해놨습니다.


맷돌을 만들려면 어처구니가 필요하겠졈. 어처구니를 만들어봅시다.



이미지 재탕 ><




짜잔. 이렇게 Cube를 2개 더 만들어서 어처구니를 만들었습니다.

일딴 어처구니의 텍스쳐 오프셋을 조금 이동시키겠습니다.


Shape2의 offset 위치입니다.

Shape3의 offset 위치입니다.


이제 텍스쳐를 뒤집어 씌워봅시다.



지금 있는 텍스쳐 맵을 저장을 합니다.




T윗부분

B아랫부분

L왼쪽

F앞쪽

R오른쪽

B뒤쪽



정성을 갈아 넣어라



텍스쳐를 불러들여와봅시다.




예상 외로 그렇게 극혐이진 않습니다.



이제 자바로 저장해서 다음 강좌때 써먹으면 됩니다.

+ Recent posts