1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите Спавнить партикл по взгяду игрока!

Тема в разделе "Разработка плагинов для новичков", создана пользователем YUROO, 17 янв 2021.

  1. Автор темы
    YUROO

    YUROO Активный участник Пользователь Заблокирован

    Баллы:
    66
    Имя в Minecraft:
    YUROO
    Я хачу чтобы при нажатии на мотыгу спавнился луч по направленнию прицелла.
    Вот код каторий я написал :
    Код:
        @EventHandler
        public void use(PlayerInteractEvent e) {
            Player p = e.getPlayer();
            if(e.getAction() != Action.RIGHT_CLICK_AIR) return;
            if(e.getPlayer().getItemInHand().getType() != Material.WOOD_HOE) return;
            ItemStack staff = e.getPlayer().getItemInHand();
            if(!staff.getItemMeta().hasDisplayName()) return;
            if(!staff.getItemMeta().getDisplayName().equals(ChatColor.GRAY + "WoodStaff " + ChatColor.AQUA + "Tier 1")) return;
            
            if(e.getAction() == Action.RIGHT_CLICK_AIR) {
                World world = Bukkit.getWorld("world");
                double pitch = p.getEyeLocation().getPitch();
                float yaw = p.getEyeLocation().getYaw();
                Location loc;
                loc = p.getLocation();
                loc.setPitch((float) pitch);
                loc.setYaw((float) yaw);
                Vector lineOfSight = p.getEyeLocation().getDirection().normalize();
    
                
                if(yaw > 135 || yaw < -135) {
                    double z = loc.getZ();
                    z = z - 2;
                    loc.setX(z);
                    world.spawnParticle(Particle.FLAME, loc, 2, 2, 0, 0, 0);
                }
                
                
                
                world.spawnParticle(Particle.FLAME, loc, 2, 2, 0, 0, 0);
                p.sendMessage("OK!");
            }
        }
        
    // Рабочий код но не работает pitch
        //private void yaws(Player p) {
            //World world = Bukkit.getWorld("world");
            //Location loc;
            //loc = p.getLocation();
            
            //float yaw = loc.getYaw();
            //float pitch = loc.getPitch();
            
            //vertical -
            //if(pitch > -90) {
                //double y = loc.getY();
                //for(pitch = -90; pitch == -0 ; pitch--) {
                    //y = y + 0.1;
                //}
            //}
            //vertical +
            //if(pitch < 90) {
                //double y = loc.getY();
                //for(pitch = 90; pitch == 0 ; pitch--) {
                    //y = y - 0.1;
                //}
            //}
            //east
            //if(yaw > -135 && yaw < -45) {
                //double x = loc.getZ();
                //x = x + 2;
                //loc.setX(x);
                //for(int i =1 ; i <=10; i++) {
                    //world.spawnParticle(Particle.FLAME, loc, 2, 2, 0, 0, 0);
                //}
            //}
            //west
            //if(yaw > 135 && yaw < 45) {
                //double x = loc.getX();
                //x = x - 2;
                //loc.setX(x);
            //}
            //south
            //if(yaw > -45 && yaw < 45) {
                //double z = loc.getZ();
                //z = z + 2;
                //loc.setX(z);
            //}
            //north
            //if(yaw > 135 && yaw < -135) {
                //double z = loc.getZ();
                //z = z - 2;
                //loc.setX(z);
            //}
        //}
     

Поделиться этой страницей