본문 바로가기

Game/Minecraft

플러그인의 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를 만들고 테스트를 해봅시다!



설정한 문구가 잘뜹니다.


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

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


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



검색어:

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

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

반응형