• Es freut uns dass du in unser Minecraft Forum gefunden hast. Hier kannst du mit über 130.000 Minecraft Fans über Minecraft diskutieren, Fragen stellen und anderen helfen. In diesem Minecraft Forum kannst du auch nach Teammitgliedern, Administratoren, Moderatoren , Supporter oder Sponsoren suchen. Gerne kannst du im Offtopic Bereich unseres Minecraft Forums auch über nicht Minecraft spezifische Themen reden. Wir hoffen dir gefällt es in unserem Minecraft Forum!

Spigot Langsam aufbauender Partikelkreis

Mr_Redstone19

Schafhirte
Mitglied seit
31 Januar 2018
Beiträge
103
Alter
44
Diamanten
0
Guten Tag,
ich programmiere gerade ein kleines Minispiel, für das ich eben diesen Partikelkreis benötige.
Dieser soll sich in 5 Sekunden um einen Spieler aufgebaut haben. Sollte der Spieler während dem Aufbauen aus dem Kreis
rausgehen, so soll dieser abgebrochen werden. Falls der Kreis vollendet wird, soll etwas passieren. Was genau weiß ich noch nicht.

Ein Freund hat mir das hier geschickt, weil mein Code den kreis nur sofort erstellt hat und ich da kein Delay reinbekommen habe:
Java:
    static int d;

    public static void summonCircleLightning(Location location, int size) {
        ExecutorService EXECUTOR_SERVICE = Executors.newCachedThreadPool();
        EXECUTOR_SERVICE.submit(() -> {
            for (d = 0; d <= 90; d += 1) {
                Location particleLoc = new Location(location.getWorld(), location.getX(), location.getY(), location.getZ());
                particleLoc.setX(location.getX() + Math.cos(d) * size);
                particleLoc.setZ(location.getZ() + Math.sin(d) * size);
                PacketPlayOutWorldParticles packet = new PacketPlayOutWorldParticles(EnumParticle.VILLAGER_HAPPY, false, (float) particleLoc.getX(), (float) particleLoc.getY(), (float) particleLoc.getZ(), (float) 0.01, (float) 0.01, (float) 0.01, 0, 2, 1);

                broadcastParticles(packet);
                try {
                    Thread.sleep(100);
                } catch (InterruptedException e) {
                    e.printStackTrace();
                }
            }
        });

    }
Dieser Code erstellt jedoch den Kreis von drei Seiten quasi. Also jedes Drittel vom Kreis wird irgendwie durch einen Thread aufgebaut. Ich weiß nicht genau, wie man das beschreiben soll. Der Kreis soll jedenfalls an einem Punkt beginnen und dann ein mal rund rum in 5 Sekunden gehen.

Hat da vielleicht jemand eine Idee?
Danke!
 
Oben