• 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!

Partikel

sebi1353

Minecrafter
Registriert
28 Mai 2015
Beiträge
2
Diamanten
0
Hey Leute ich suche nach einer Methode, mit der ich Partikel blockförmig spanen kann z.b. von Koordinate X:-252 Y:64 Z:281 bis X:-256 Y:64 Z:285

erstellt. und das von beliebigen Koordinaten wie die von e.getClickedBlock().getLocation();. Ich Hoffe auf eure Hilfe
default_biggrin.png
 

SirYwell

PlotSquared Entwickler
Registriert
30 Juni 2017
Beiträge
540
Diamanten
488
Minecraft
SirYwell
Wenn du die Location eines Blockes hast (also wo X, Y und Z Ganzzahlen sind), kannst du in drei ineinander verschachtelten for-Schleifen abhängig von der Dichte immer einen bestimmten Wert dazuzählen (z.B. 0.1), bis sich die Zahl vor dem Komma ändert.
 

petomka

Redstoneengineer
Registriert
8 Oktober 2012
Beiträge
41
Alter
26
Diamanten
322
Was @SirYwell dir geantwortet hat ist quasi schon die direkte Lösung. Was du erwartest, ist, dass jetzt andere dein Plugin für dich schreiben. Was du erreichen möchtest, ist wirklich mit den grundlegendsten Grundlagen zu erreichen.

Hier nochmal mehr zu Schleifen.

Nochmal, was du zu tun hast, in Pseudo Code:
Java:
for(int x = locFrom.getX(); x < locTo.getX(); x++) {
  for(int y = locFrom.getX(); x < locTo.getY(); y++) {
    for(int z = locFrom.getX(); x < locTo.getZ(); z++) {
      createParticles(x,y,z);
    }
  }
}

Das ist dein Skelett. Wenn du das lieber wie von @SirYwell vorgeschlagen mit Kommazahlen implementieren möchtest, wirst du im Internet bereits viele Ähnliche Fragestellungen inklusive Lösungsansätze finden.

Setze dich also bitte mit dem Thema Programmieren und dann v.a. Java auseinander. Das erspart dir und Leuten in Foren viel Zeit. Das ist nicht böse gemeint, aber es gibt viele die denken, dass sie so voran kommen.

Wichtig ist beim Lernen auch, dass du herumprobierst, schaust, was passiert, wenn dies, wenn das. Das ist nicht nur interessant (und macht ggf. sogar Spaß), sondern man lernt auch wirklich was dabei und sammelt so schon Mal ein bisschen Erfahrung.

Eine kurze Google Suche hat mich ebenfalls zu dieser Website geführt, auf der man (auf Englisch) die Grundlagen von Java vermittelt bekommt (habe nur flüchtig drübergeschaut, scheint aber OK).

Viel Erfolg.
 
Zuletzt bearbeitet:

BlackHole

Workaholic
Registriert
1 Juli 2012
Beiträge
752
Diamanten
0
Minecraft
BlackHole
Wichtig ist hier noch, dass locFrom auf die minimalen und locTo auf die maximalen Koordinaten gesetzt wird. In dem Beispiel also locFrom auf X:-256 Y:64 Z:281 und locTo auf X:-252 Y:64 Z:285. Hier könnten die Methoden Math.min() und Math.max() nützlich sein. Wenn die Partikel auch noch den letzten Block komplett umschließen sollen, müsste man es so anpassen:
Code:
for (int x = locFrom.getBlockX(); x <= locTo.getBlockX() + 1; x++) {
    for (int y = locFrom.getBlockY(); y <= locTo.getBlockY() + 1; y++) {
        for (int z = locFrom.getBlockZ(); z <= locTo.getBlockZ() + 1; z++) {
            createParticles(x, y, z);
        }
    }
}

Für mehrere Partikel pro Block müsste man x, y und z als double definieren und die Schrittweite entsprechend herabsetzen.
 

SirYwell

PlotSquared Entwickler
Registriert
30 Juni 2017
Beiträge
540
Diamanten
488
Minecraft
SirYwell
Da hab ich wohl etwas unaufmerksam gelesen :D über mehrere Blöcke verteilt ist natürlich der Vorschlag von @petomka eindeutig sinnvoller.
Um die Dichte zu erhöhen, würde sich diese Methode sehr gut eignen. Dabei kann man dann immer als x,y,z die Koordinaten des Blockes plus 0.5 angeben und als Offset auch jeweils 0.5. Wenn man diese Methode nun zum Beispiel zwei mal pro Block aufruft, sollte man theoretisch zwei Partikel pro Block an einer zufälligen Position haben. Sinnvoll ist das aber nur, wenn man keine exakte Abgrenzungen haben möchte.
 
Oben