Mr_Redstone19
Schafhirte
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:
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!
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();
}
}
});
}
Hat da vielleicht jemand eine Idee?
Danke!