본문으로 바로가기
반응형

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

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

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

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

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


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


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

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

[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
Main.Java를 열어주신뒤 위의 소스코드를 삽입 해주세요.


위 이미지는 소스코드를 삽입한 결과 입니다.


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

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[] = {123};
        //포이치문을 통해 폴문을 돌려준다.
        for(int i : Ban_Item_Code) {
            //현재 설치중인 블럭의 아이템 코드와 폴문을 돌리는 i의 값이 동일하다면
            if(block.getType().getId() == i) {
                //메시지를 출력한다.
                player.sendMessage(block.getType() + " 블럭은 설치가 불가능 합니다.");
                //해당하는 이벤트를 취소시킨다.
                e.setCancelled(true);
            }
        }
    }
cs

## 실행 결과 ##



반응형