Guest User

Untitled

a guest
Nov 3rd, 2024
55
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.91 KB | None | 0 0
  1. package com.example.arrowhit;
  2.  
  3. import org.bukkit.Bukkit; // Импортируем класс Bukkit для взаимодействия с сервером
  4. import org.bukkit.Material; // Импортируем класс Material для работы с блоками
  5. import org.bukkit.entity.Arrow; // Импортируем класс Arrow для работы со стрелами
  6. import org.bukkit.entity.Entity; // Импортируем класс Entity для работы с сущностями
  7. import org.bukkit.entity.Player; // Импортируем класс Player для работы с игроками
  8. import org.bukkit.event.EventHandler; // Импортируем аннотацию для обработки событий
  9. import org.bukkit.event.Listener; // Импортируем интерфейс Listener для обработки событий
  10. import org.bukkit.event.entity.EntityDamageByEntityEvent; // Импортируем событие столкновения сущностей
  11. import org.bukkit.plugin.java.JavaPlugin; // Импортируем класс JavaPlugin для создания плагина
  12. import org.bukkit.Location; // Импортируем класс Location для работы с координатами блоков
  13.  
  14. public class ArrowHitPlugin extends JavaPlugin implements Listener { // Главный класс плагина, который расширяет JavaPlugin и реализует Listener
  15.    
  16.     @Override
  17.     public void onEnable() { // Метод, вызываемый при активации плагина
  18.         Bukkit.getPluginManager().registerEvents(this, this); // Регистрируем слушателя событий
  19.     }
  20.  
  21.     @EventHandler // Аннотация для обработки события
  22.     public void onArrowHit(EntityDamageByEntityEvent event) { // Метод, который срабатывает при уроне между сущностями
  23.         Entity damager = event.getDamager(); // Получаем сущность, которая наносит урон
  24.         Entity victim = event.getEntity(); // Получаем сущность, которая получает урон
  25.        
  26.         // Проверяем, что дамажащая сущность - это стрела
  27.         if (damager instanceof Arrow) {
  28.             // Проверяем, что жертва - это игрок
  29.             if (victim instanceof Player) {
  30.                 Player player = (Player) victim; // Приводим жертву к типу Player
  31.  
  32.                 // Получаем локацию блока под игроком
  33.                 Location location = player.getLocation().subtract(0, 1, 0);
  34.  
  35.                 // Устанавливаем блок паутины под игроком
  36.                 location.getBlock().setType(Material.COBWEB);
  37.             }
  38.         }
  39.     }
  40. }
  41.  
Advertisement
Add Comment
Please, Sign In to add comment