Войти или зарегистрироваться
  • Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.

Помогите Анимация эффектов

Energy warrior

Активный участник
Пользователь
Баллы
76
Привет ребята! Я конечно понимаю что лучше подождать и поучиться но к сожалению я человек который любит всё и сразу. Поэтому я хочу чтобы мне подсказали как сделать пакетами эффект и чтобы он кружил вокруг игрока. как эффект делать я знаю а вот как нужно его спавнить чтобы он крутился нет?
 
Тригонометрия. Так что быстро не получится. Иди закончи школу.
 
Тригонометрия. Так что быстро не получится. Иди закончи школу.
maxresdefault.jpg
 
Понятно что тригонометрия я это гуглил и искал способы чтобы сделать это сейчас. Да даже если бы я знал что это такое я бы не понимал как это сделать
 
В общем я немного покрутил снус x и косинус z, покрутил ранеблы и циклы и получил вот это
Ребят, чё сделать чтобы само крутилось а не когда я y координату меняю
Вот код если чё.
Код:
Player p = (Player) sender;
                Bukkit.getScheduler().runTaskTimer(this, ()->{
                        for(int i = 0; i < 360; i++)
                        {
                            Location loc = p.getLocation();
                            float newz = (float) Math.cos(loc.getY()+ 0.01);
                            float newx = (float) Math.sin(loc.getY()+ 0.01);
                            float newy = (float) (Math.sin(newx) + Math.cos(newz));
                            PacketPlayOutWorldParticles packet = new PacketPlayOutWorldParticles(EnumParticle.FLAME, true,
                                    (float)loc.getX() + newx,(float)loc.getY() + newy,(float)loc.getZ() + newz, 0, 0, 0, 0, 0);
                            PlayerConnection pc = ((CraftPlayer)p).getHandle().playerConnection;
                            pc.sendPacket(packet);
                        }
                }, 0, 1);
 
Последнее редактирование:
В общем я немного покрутил снус x и косинус z, покрутил ранеблы и циклы и получил вот это
Ребят, чё сделать чтобы само крутилось а не когда я y координату меняю
Вот код если чё.
Код:
Player p = (Player) sender;
                Bukkit.getScheduler().runTaskTimer(this, ()->{
                        for(int i = 0; i < 360; i++)
                        {
                            Location loc = p.getLocation();
                            float newz = (float) Math.cos(loc.getY()+ 0.01);
                            float newx = (float) Math.sin(loc.getY()+ 0.01);
                            float newy = (float) (Math.sin(newx) + Math.cos(newz));
                            PacketPlayOutWorldParticles packet = new PacketPlayOutWorldParticles(EnumParticle.FLAME, true,
                                    (float)loc.getX() + newx,(float)loc.getY() + newy,(float)loc.getZ() + newz, 0, 0, 0, 0, 0);
                            PlayerConnection pc = ((CraftPlayer)p).getHandle().playerConnection;
                            pc.sendPacket(packet);
                        }
                }, 0, 1);
Рандомить координаты
 
Код:
package Example.runs;

import java.util.List;

import org.bukkit.Location;
import org.bukkit.Particle;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.util.Vector;

public class Scheduler extends BukkitRunnable {
    List<Player> ps;

    public Scheduler(List<Player> ps) {
        this.ps = ps;
    }

    @Override
    public void run() {
        for(Player p : ps) {
            runs(p.getLocation(), p);
        }
    }
    
    public void runs(Location start, Player p) {
        start = start.add(new Vector(0,0,-1.7));
        for (double t = 0; t < 2 * Math.PI; t += 0.1) {
            try {
                Thread.sleep(20);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            Location news = start.add(0.2 * Math.cos(t), 0, 0.2 * Math.sin(t));
            p.spawnParticle(Particle.LAVA, news.clone(), 1, 0.1, 0.1, 0.1, 0);
        }
    }
}
 
Код:
package Example.runs;

import java.util.List;

import org.bukkit.Location;
import org.bukkit.Particle;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.util.Vector;

public class Scheduler extends BukkitRunnable {
    List<Player> ps;

    public Scheduler(List<Player> ps) {
        this.ps = ps;
    }

    @Override
    public void run() {
        for(Player p : ps) {
            runs(p.getLocation(), p);
        }
    }
   
    public void runs(Location start, Player p) {
        start = start.add(new Vector(0,0,-1.7));
        for (double t = 0; t < 2 * Math.PI; t += 0.1) {
            try {
                Thread.sleep(20);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            Location news = start.add(0.2 * Math.cos(t), 0, 0.2 * Math.sin(t));
            p.spawnParticle(Particle.LAVA, news.clone(), 1, 0.1, 0.1, 0.1, 0);
        }
    }
}
+ в копилку знаний.
 
Код:
package Example.runs;

import java.util.List;

import org.bukkit.Location;
import org.bukkit.Particle;
import org.bukkit.entity.Player;
import org.bukkit.scheduler.BukkitRunnable;
import org.bukkit.util.Vector;

public class Scheduler extends BukkitRunnable {
    List<Player> ps;

    public Scheduler(List<Player> ps) {
        this.ps = ps;
    }

    @Override
    public void run() {
        for(Player p : ps) {
            runs(p.getLocation(), p);
        }
    }
  
    public void runs(Location start, Player p) {
        start = start.add(new Vector(0,0,-1.7));
        for (double t = 0; t < 2 * Math.PI; t += 0.1) {
            try {
                Thread.sleep(20);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
            Location news = start.add(0.2 * Math.cos(t), 0, 0.2 * Math.sin(t));
            p.spawnParticle(Particle.LAVA, news.clone(), 1, 0.1, 0.1, 0.1, 0);
        }
    }
}
Не пойдёт. У моей спиральки анимация лучше. Я когда двигаюсь она за мной бегает. А эта просто обновляется.
Хоть она и стоит на месте пока я корды не поменяю
 
Не пойдёт. У моей спиральки анимация лучше. Я когда двигаюсь она за мной бегает. А эта просто обновляется.
Хоть она и стоит на месте пока я корды не поменяю
А ты че думал, в сказку попал? Этот код юзался для статических координат с арморстендами.
Для кастома учи тригонометрию сам.
 
А ты че думал, в сказку попал? Этот код юзался для статических координат с арморстендами.
Для кастома учи тригонометрию сам.
Крайне интересное видео, что вызывает неотложный вопрос, как менять угол поворота частей армор стенда и сам армор стенд? гугл молчит
 

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

Назад
Верх