본문으로 바로가기
반응형

## 게시글을 보기 전 확인 해주세요. ##

이번 게시글은 "BlockPlaceEvent"를 통한 블럭 설치 제한 플러그인을 포스팅 하겠습니다.

최종 결과물 파일 :  예제5.zip

만약, 위 결과물을 알카이브 파일로 추가를 못한다면 아래의 링크를 눌러주세요.

[Spring] 알카이브 파일 추가하기


우선 이클립스를 켜주세요.


이전 게시물을 통해 만들어둔 결과물을 바탕으로 진행을 하도록 하겠습니다.

만약, 파일이 없으신 분들은 아래의 링크를 눌러주세요.

[Minecraft]마인크래프트 개발을 위한 메이븐 프로젝트를 만들어보자.


위 소스코드를 Main.java에 넣어주세요.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    @SuppressWarnings("deprecation")
    @EventHandler
    public void CraftItemEvent(CraftItemEvent e) {
        
        Player player = (Player) e.getWhoClicked();
        
        
        int Ban_Item_Code[] = {58};
        
        for(int i : Ban_Item_Code) {
         
            if(e.getRecipe().getResult().getType().getId() == i) {
                player.sendMessage(e.getRecipe().getResult().getType() + "아이템은 제작이 불가능 합니다.");
                e.setCancelled(true);
            }
        }
    }
cs


위 소스코드를 삽입한 결과 입니다.


## 아래는 소스코드에 대한 해석 입니다. ##

  cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
    @SuppressWarnings("deprecation")
    @EventHandler
    public void CraftItemEvent(CraftItemEvent e) {
        //이벤트를 통해 player 변수에 플레이어를 담는다.
        Player player = (Player) e.getWhoClicked();
        
        //자신이 금지하고 싶은 아이템 코드를 배열에 담아준다.
        int Ban_Item_Code[] = {58};
        //포이치문을 통해 폴문을 돌려준다.
        for(int i : Ban_Item_Code) {
            //제작된 아이템의 아이디를 구한뒤 i와 대조
            if(e.getRecipe().getResult().getType().getId() == i) {
                player.sendMessage(e.getRecipe().getResult().getType() + "아이템은 제작이 불가능 합니다.");
                //해당하는 이벤트를 취소시킨다.
                e.setCancelled(true);
            }
        }
    }
cs


## 실행 결과 ##


반응형