반응형
## 게시글을 보기 전 확인 해주세요. ##
이번 게시글은 "BlockPlaceEvent"를 통한 블럭 설치 제한 플러그인을 포스팅 하겠습니다.
최종 결과물 파일 : 예제4.zip
만약, 위 결과물을 알카이브 파일로 추가를 못한다면 아래의 링크를 눌러주세요.
우선 이클립스를 켜주세요.
이전 게시물을 통해 만들어둔 결과물을 바탕으로 진행을 하도록 하겠습니다.
만약, 파일이 없으신 분들은 아래의 링크를 눌러주세요.
[Minecraft]마인크래프트 개발을 위한 메이븐 프로젝트를 만들어보자.
1 2 3 4 5 6 7 8 9 10 11 12 13 | @SuppressWarnings("deprecation") @EventHandler public void BlockPlaceEvent(BlockPlaceEvent e) { Player player = (Player) e.getPlayer(); Block block = (Block) e.getBlock(); int Ban_Item_Code[] = {1, 2, 3}; for(int i : Ban_Item_Code) { if(block.getType().getId() == i) { player.sendMessage(block.getType() + " 블럭은 설치가 불가능 합니다."); e.setCancelled(true); } } } | cs |
위 이미지는 소스코드를 삽입한 결과 입니다.
## 아래는 소스코드에 대한 해석 입니다. ##
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | @SuppressWarnings("deprecation") @EventHandler public void BlockPlaceEvent(BlockPlaceEvent e) { //이벤트를 통해 player 변수에 플레이어를 담는다. Player player = (Player) e.getPlayer(); //이벤트를 통해 설치중인 블럭을 block변수에 블럭 정보를 담는다. Block block = (Block) e.getBlock(); //자신이 금지하고 싶은 아이템 코드를 배열에 담아준다. int Ban_Item_Code[] = {1, 2, 3}; //포이치문을 통해 폴문을 돌려준다. for(int i : Ban_Item_Code) { //현재 설치중인 블럭의 아이템 코드와 폴문을 돌리는 i의 값이 동일하다면 if(block.getType().getId() == i) { //메시지를 출력한다. player.sendMessage(block.getType() + " 블럭은 설치가 불가능 합니다."); //해당하는 이벤트를 취소시킨다. e.setCancelled(true); } } } | cs |
## 실행 결과 ##
반응형
'마인크래프트 > 플러그인 강의 (구)' 카테고리의 다른 글
[Minecraft]마인크래프트 타이머를 사용해 시간과 날씨를 관리하자! (0) | 2018.11.30 |
---|---|
[Minecraft]마인크래프트 아이템 조합 제한을 두자! (0) | 2018.11.30 |
[Minecraft]마인크래프트 명령어를 통해 아이템을 지급하자! (0) | 2018.11.30 |
[Minecraft]마인크래프트 이벤트를 사용해보자! (1) | 2018.11.30 |
[Minecraft]마인크래프트 개발을 위한 메이븐 프로젝트를 만들어보자. (0) | 2018.11.30 |