import org.bukkit.Bukkit;
import org.bukkit.Location;
import org.bukkit.Material;
import org.bukkit.entity.Arrow;
import org.bukkit.entity.EntityType;
import org.bukkit.entity.Player;
import org.bukkit.event.EventHandler;
import org.bukkit.event.Listener;
import org.bukkit.event.entity.EntityDamageByEntityEvent;
import org.bukkit.event.entity.EntityShootBowEvent;
import org.bukkit.plugin.java.JavaPlugin;
import org.bukkit.util.Vector;
public class ExplosiveCrossbow extends JavaPlugin implements Listener {
@Override
public void onEnable() {
Bukkit.getPluginManager().registerEvents(this, this);
}
@EventHandler
public void onShoot(EntityShootBowEvent event) {
if (event.getEntity() instanceof Player) {
Player player = (Player) event.getEntity();
// Здесь можно добавить логику для создания стрелы с эффектом взрыва
}
}
@EventHandler
public void onArrowHit(EntityDamageByEntityEvent event) {
if (event.getDamager() instanceof Arrow) {
Arrow arrow = (Arrow) event.getDamager();
if (arrow.getShooter() instanceof Player) {
Player shooter = (Player) arrow.getShooter();
if (event.getEntity() instanceof Player) {
Player hitPlayer = (Player) event.getEntity();
// Логика взрыва
explode(arrow.getLocation());
hitPlayer.damage(20); // Наносим урон
arrow.remove(); // Удаляем стрелу
}
}
}
}
private void explode(Location location) {
location.getWorld().createExplosion(location, 4.0F); // Создаем взрыв
}
}