Стрела как предмет из стрелы как entity

SuperCoolCoder229

Ньюби
Баллы
1
Плагин взрывающиеся стрелы
Как узнать какой стрелой стреляет игрок,обычной или имеющей другое имя/зачарование и т.д.?
 
Код:
@EventHandler
public void onProjectileHitEvent(ProjectileHitEvent e) {
Arrow arrow = null;
Player p = null;
if(e.getEntity() instanceof Arrow) arrow = (Arrow) entity;
else return;
if(arrow.getShooter() instanceof Player) p = (Player) arrow.getShooter();
else return;
if(arrow.getMetadata("DisplayName").equals("Название")) {
  Location loc = arrow.getLocation();
  p.getWorld.createExplosion(loc, 4.0F);
  p.sendMessage("BOOM");
}
}
Писал на скорую руку, но как то так..
 
Код:
@EventHandler
public void onProjectileHitEvent(ProjectileHitEvent e) {
Arrow arrow = null;
Player p = null;
if(e.getEntity() instanceof Arrow) arrow = (Arrow) entity;
else return;
if(arrow.getShooter() instanceof Player) p = (Player) arrow.getShooter();
else return;
if(arrow.getMetadata("DisplayName").equals("Название")) {
  Location loc = arrow.getLocation();
  p.getWorld.createExplosion(loc, 4.0F);
  p.sendMessage("BOOM");
}
}
Писал на скорую руку, но как то так..
Спасибо,а не знаете,где можно увидеть список всех метадат?
Код:
@EventHandler
public void onProjectileHitEvent(ProjectileHitEvent e) {
Arrow arrow = null;
Player p = null;
if(e.getEntity() instanceof Arrow) arrow = (Arrow) entity;
else return;
if(arrow.getShooter() instanceof Player) p = (Player) arrow.getShooter();
else return;
if(arrow.getMetadata("DisplayName").equals("Название")) {
  Location loc = arrow.getLocation();
  p.getWorld.createExplosion(loc, 4.0F);
  p.sendMessage("BOOM");
}
}
Писал на скорую руку, но как то так..
Не работает, в DisplayName ничего нет, т.е. getMetaData("DisplayName").size() = 0
 
Спасибо,а не знаете,где можно увидеть список всех метадат?

Не работает, в DisplayName ничего нет, т.е. getMetaData("DisplayName").size() = 0
Вообще то он запилил проверку стрелы. При создании стрелы ты просто даёшь ей нужное имя, после проверяешь имя в этом эвенте.
 
Назад
Верх