Minecraft bukkit 玩家用弓射击了另一名玩家
Minecraft bukkit player shot another player with a bow
我如何检测一个玩家是否用弓射中了另一个玩家?
我想获得球员的姓名。
那我该怎么做呢?
使用 bukkit events,特别是 EntityDamageByEntityEvent。然后简单地查看玩家是谁:
@EventHandler
public void onEntityDamageByEntity(EntityDamageByEntityEvent event) {
Entity damager = event.getDamager();
if(damager instanceof Arrow) { // check if the damager is an arrow
Arrow arrow = (Arrow) damager;
if(arrow.getShooter() instanceof Player) {
// the arrow.getShooter() here is the player who fired the arrow
}
Entity entityHit = event.getEntity();
if(entityHit instanceof Player) {
Player playerHit = (Player) entityHit;
// playerHit here is the player who got hit
}
}
这基本上就是你获得球员的方式,现在你只需要使用这些信息在聊天或任何你想做的事情中打印出来。祝你好运!
我如何检测一个玩家是否用弓射中了另一个玩家? 我想获得球员的姓名。 那我该怎么做呢?
使用 bukkit events,特别是 EntityDamageByEntityEvent。然后简单地查看玩家是谁:
@EventHandler
public void onEntityDamageByEntity(EntityDamageByEntityEvent event) {
Entity damager = event.getDamager();
if(damager instanceof Arrow) { // check if the damager is an arrow
Arrow arrow = (Arrow) damager;
if(arrow.getShooter() instanceof Player) {
// the arrow.getShooter() here is the player who fired the arrow
}
Entity entityHit = event.getEntity();
if(entityHit instanceof Player) {
Player playerHit = (Player) entityHit;
// playerHit here is the player who got hit
}
}
这基本上就是你获得球员的方式,现在你只需要使用这些信息在聊天或任何你想做的事情中打印出来。祝你好运!