http://leejg1313.blog.me/50102826615 - 기본적인 실행환경 - 1
http://leejg1313.blog.me/50102857038 - 기본적인 실행환경 - 2
http://leejg1313.blog.me/50102944626 - 기본적인 실행환경 - 3
알아서 잘 보세요.
강좌에서는 HEY0 모드라는걸 사용하는것 같은데.
이건 2011년 1월달에 생성된거기 때문에
그냥 bukkit 을 사용하시면 됩니다.
뭐 이외에도 지금 사용하지 않는 api 라던가 좀 나오는거 같은데...
저건 걍 플러그인 개발을 위한 eclipse 사용법으로만 참고하시길.
가장 기본적인 플러그인입니다.
내가 갖고 있는 블럭을 바닥에 놓으면 해당 아이템의 이름이 내 채팅창에 뜨는거죠.
// 표시는 주석입니다. 실제 코드가 아닌 설명이죠.
//플러그인 이름은 SelectItem 입니다. 제가 멋대로 지은거죠.
// JavaPlugin - bukkit 에서 제공하는 틀정도로 제공하는 플러그인 클래스를 상속받습니다.
public class SelectItem extends JavaPlugin{
// ItemListener 는 사용자가 동작할때 동작을 정의하는 클래스입니다. 제가 멋대로 정한 이름입니다.
ItemListener itemListener = new ItemListener(this);
// 플러그인이 활성화 될때 동작
@Override
public void onEnable() {
// TODO Auto-generated method stub
// 버킷 플러그인 매니저를 가져옵니다. 플러그인을 플러그인 관리자에 등록을 시켜야 동작되겠죠.
PluginManager pm = this.getServer().getPluginManager();
// Type.PLAYER_INTERACT - 플레이어가 공기 또는 블럭과 상호작용할때
// itemListener - itemListener 클래스를 통해 동작을 정의합니다.
// Priority.Highest - 우선순위는 높음
// this - 현재 클래스에서 상속됩니다.
pm.registerEvent(Type.PLAYER_INTERACT, itemListener, Priority.Highest, this);
}
// 플러그인이 종료될때 동작
@Override
public void onDisable() {
// TODO Auto-generated method stub
}
}
===============================================================================================
// ItemListener - 유저의 행위를 감시하는 플러그인
// extends PlayerListener - 버킷으로부터 유저를 행동을 전달받는 클래스를 확장합니다.
public class ItemListener extends PlayerListener{
// 부모클래스의 저장(위 클래스에서 this로 전달된 클래스가 저장되는거죠. 없어도 무방합니다.)
SelectItem plugin;
public ItemListener(SelectItem plugin) {
// TODO Auto-generated constructor stub
this.plugin = plugin;
}
// onPlayerInteract - 플레이어가 상호작용할때 동작됩니다. -> 앞서 플러그인 매니저에 동작을 정의하는 클래스를 적어뒀었죠.
@Override
public void onPlayerInteract(PlayerInteractEvent event) {
// TODO Auto-generated method stub
// 유저가 블럭과 상호작용할때 해당 유저를 저장해둡니다.
Player player = event.getPlayer();
// 유저가 만약 오른쪽 클릭을 할때
if(event.getAction().equals(Action.RIGHT_CLICK_BLOCK)){
// 공기(AIR)가 아닌 블럭을 사용한다면 동작됩니다.
if(!event.getPlayer().getItemInHand().getType().equals(Material.AIR)){
// 사용자가 사용한 블럭의 이름을 사용자에게 다시 전달.
player.sendMessage(event.getPlayer().getItemInHand().getType().toString());
}
}
}
}
뭐 이런겁니다.
프로그래밍은 하루아침만에 할 수 있는건 아니지만.
남이 해놓은걸 노력해서 따라하다보면
많은걸 얻을 수 있습니다.
위키 플러그인 개발법들.
http://wiki.bukkit.org/Developing_a_Plugin http://wiki.bukkit.org/Developing_a_permissions_plugin http://wiki.bukkit.org/HUGE_Plugin_Tutorial 플러그인 개발 동영상 - 저도 처음에 이걸 보고 시작했죠... 물론 자바는 알고 있었습니다..
3회로 링크되어있네요. 1회부터 차근차근 보고 따라만 해도 될거 같은데?
http://www.youtube.com/user/dinnerbone http://www.youtube.com/user/thenewboston#p/c/FE2CE09D83EE3E28/0/Hl-zzrqQoSE