You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
37 lines
1.7 KiB
37 lines
1.7 KiB
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"); //산탄화살 발사 |
|
} |
|
} |
|
} |
|
} |
|
}
|
|
|