본문 바로가기

게임/마인크래프트

플러그인의 1부터 10까지! - 이벤트


플러그인의 1부터 10까지라고 쓰고 오늘의 주제는 이벤트라고 읽는다!



이번 강좌에서는 이벤트를 다뤄볼 예정입니다.

이벤트라 하면 생일파티 같은 그런 이벤트가 아니라는걸 알아두시길 바랍니다.


마인크래프트 버킷 이벤트에는 많은 것이 있습니다.

채팅 칠 때 / 움직일 때 / 죽었을 때 / 데미지를 가했을 때 / 인벤토리를 클릭했을 때 등 다양한 이벤트가 있습니다.


이번 강좌에서는 이벤트를 등록해주는 방법을 알아보고 간단한 응용을 해보겠습니다.



프로젝트를 준비합시다!

이벤트를 만드는 방법은 간단합니다. 일단 implements Listener으로 이벤트를 사용할 것이다! 라고 알려줍시다.


강좌에서는 플레이어가 접속 했을 때 일어나는 이벤트를 사용하겠습니다.


1
2
3
public void onJoin(PlayerJoinEvent e){
    // 코드        
}
cs


이런 식으로 작성해주시면 됩니다.

메소드 인자에는 발동 될 이벤트가 들어가며 아래 링크에서 확인할 수 있습니다.


https://hub.spigotmc.org/javadocs/spigot/org/bukkit/event/player/PlayerEvent.html

(플레이어 이벤트만 있습니다.)


버킷 Doc을 이용하면 많은 도움이 됩니다!


이벤트에서는 이벤트를 취소 할 수 있는 함수를 지원합니다.

(일부는 지원 안함)


그러면 한번 플레이어의 접속 메세지를 바꿔봅시다.


1
2
3
public void onJoin(PlayerJoinEvent e){
    e.setJoinMessage(e.getPlayer().getName() + "님 접속!");
}
cs


간단하게 완성을 했습니다.

이제 이 함수는 이벤트 함수라는걸 알려주기 위해 @EventHandler 어노테이션을 붙혀줍시다.


마지막으로 버킷에 이벤트를 등록해주기 위해 onEnable()에 아래 코드를 써줍시다.


1
getServer().getPluginManager().registerEvents(thisthis);
cs


* 필자의 경우 메인 클래스에 이벤트를 만들었기에 this를 사용했습니다. 다른 클래스에서 사용시

 해당 클래스의 생성자를 넣어주면 됩니다.


아래는 최종 코드입니다.



자 이제 plugin.yml를 만들고 테스트를 해봅시다!



설정한 문구가 잘뜹니다.


플러그인을 만들 때 이벤트는 거의 들어가는 요소 중 하나입니다.

자신만의 이벤트를 직접 만들 수도 있습니다.


오늘 강좌는 여기까지입니다!



검색어:

마인크래프트 플러그인, 마인크래프트 플러그인 만들기, 마인크래프트, 마인크래프트 플러그인 강좌,

마인크래프트 플러그인 이벤트, 마인크래프트 이벤트, 마크, 마인크래프트플러그인