난 당신이 엔티티 손상 이벤트Bukkit 1.11.2 가져 오기
event.getCause() == DamageCause.ENTITY_ATTACK
으로 손상 원인을 얻을 수 있다는 사실을 알고 다른 플레이어에 손상을했던 선수,하지만 난 개체를 반환하는 방법을 발견하지 않은 피해를 입혔다. 플레이어가 인벤토리에 특정 항목이 있는지 확인할 수 있도록이 항목을 찾아야합니다.
난 당신이 엔티티 손상 이벤트Bukkit 1.11.2 가져 오기
event.getCause() == DamageCause.ENTITY_ATTACK
으로 손상 원인을 얻을 수 있다는 사실을 알고 다른 플레이어에 손상을했던 선수,하지만 난 개체를 반환하는 방법을 발견하지 않은 피해를 입혔다. 플레이어가 인벤토리에 특정 항목이 있는지 확인할 수 있도록이 항목을 찾아야합니다.
사용 EntityDamageByEntityEvent
하고 당신이 EntityDamageByEntityEvent를 사용해야합니다, 당신이 원하는 것을 달성하기 위해 선수
에 damager를 캐스팅.
기본적으로 엔티티가 다른 엔티티에 의해 손상 될 때마다 발생하는 이벤트이며 플레이어는 엔티티입니다.
@EventHandler
public void onPlayerDamage(EntityDamageByEntityEvent e) {
Entity damager = e.getDamager();
Entity damageTaker = e.getEntity();
if (damageTaker instanceof Player) {
//DamageTaker is a Player
Player taker = (Player) damageTaker;
if (damager instanceof Player) {
//Damage Causer is also a player
Player damagerPlayer = (Player) damager;
}
}
이벤트를 사용하는 방법을 추가하는 방법 damager를 복구하는 방법으로 질문을 개선해야 :
이제, 이벤트 처리는이 방법을 수행 할 수 있습니다. 사용자는해야 할 일을 이해하기 위해 다른 사이트를 방문 할 필요가 없습니다. – Kerooker