package org.poopki.duckdns.user_db; import org.bukkit.entity.Arrow; import org.bukkit.entity.Player; import org.bukkit.event.EventHandler; import org.bukkit.event.Listener; import org.bukkit.event.block.Action; import org.bukkit.event.entity.ProjectileHitEvent; import org.bukkit.event.player.PlayerInteractEvent; import org.bukkit.inventory.ItemStack; public class itemeffect_eventhandler implements Listener { @EventHandler public void onProjectileHit(ProjectileHitEvent e) { //투사체 착탄시 실행 if (e.getEntity().hasMetadata("shotgun")) { //만약 화살이 명령어로 생성되었다면 Arrow arrow = (Arrow) e.getEntity(); //객체를 화살로 변환 arrow.getWorld().createExplosion(arrow.getLocation(), 1); //화살의 착탄 위치에 폭발 생성 arrow.remove(); //화 삭제 } } @EventHandler public void onPlayerInteract(PlayerInteractEvent e) { //플레이어가 상호작용을 할 때 실행 Player player = e.getPlayer(); //상호작용한 플레이어 Action action = e.getAction(); //플레이어가 한 상호작용 ItemStack item = e.getItem(); //플레이어가 상호작용할 때 손에 들고 있던 아이템 //플레이어가 좌클릭을 눌렀을 때(허공을 때리거나 블럭을 때릴 때) if (action.equals(Action.LEFT_CLICK_AIR) || action.equals(Action.LEFT_CLICK_BLOCK)) { if (item != null) { //플레이어 손에 무언가 있으면 switch (item.getType()) { case BOW: //그 무언가가 활이라면 player.performCommand("User_DB:shotgun"); //산탄화살 발사 } } } } }