TheRedCraft Posted March 15, 2018 Posted March 15, 2018 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
boomer41 Posted March 16, 2018 Posted March 16, 2018 ...indem du für jeden Punkt den Partikel spawnen lässt?
TheRedCraft Posted March 16, 2018 Author Posted March 16, 2018 vor 1 Stunde schrieb boomer41: ...indem du für jeden Punkt den Partikel spawnen lässt? Ja das könnte ich aber wenn ich z.b. ein 20x20 großes Quadrat habe wäre das zu viel code. Außerdem kann ich es dann nicht in beliebiger Größe machen. Weil die Größe von Spieler definiert werden sollen.
TheRedCraft Posted March 16, 2018 Author Posted March 16, 2018 vor 19 Minuten schrieb boomer41: https://de.wikipedia.org/wiki/For-Schleife Ja mir ist schon bewusst das ich das Problem mit einer for schleife lösen kann aber ich weiß nicht wie.
boomer41 Posted March 16, 2018 Posted March 16, 2018 Du machst für alle drei Richtungen jeweils ne Schleife und rechnest dann vom Anfang eben jenen Abstand immer drauf...
TheRedCraft Posted March 16, 2018 Author Posted March 16, 2018 könntest du mir ein Code beispiel geben, wie ich das mit den Locations reche?
boomer41 Posted March 16, 2018 Posted March 16, 2018 for (int x = 0; x < 10; x++) { // Andere zwei Schleifen müssen auch noch rein. Location l = start.clone().add(x, y, z); // ... }
TheRedCraft Posted March 16, 2018 Author Posted March 16, 2018 ok ... also ich versuche mein Problem genauer zu definieren. Also: ich Hole mir die Locations im PlayerInteractEvent: @EventHandler public void on(PlayerInteractEvent e) { Player p = e.getPlayer(); if (p.getItemInHand().getType() == Material.BONE) { if (p.getGameMode() == GameMode.CREATIVE) { Location loc1; Location loc2; if (e.getAction() == Action.LEFT_CLICK_BLOCK) { loc1 = e.getClickedBlock().getLocation(); loc1.setY(255); GS.loc1.put(p.getUniqueId().toString(), loc1); p.sendMessage("§7Position 1 gesetzt"); } if (e.getAction() == Action.RIGHT_CLICK_BLOCK) { loc2 = e.getClickedBlock().getLocation(); loc2.setY(1); GS.loc2.put(p.getUniqueId().toString(), loc2); p.sendMessage("§7Position 2 gesetzt"); } } } } so ähnlich wie in worldedit. diese will ich mit einen Quadrat aus Partikeln markieren. Was ich jetzt wissen will ist wie ich dieses Quadrat mache.
boomer41 Posted March 16, 2018 Posted March 16, 2018 Ich gebe dir sicher keinen fertigen Code den du Copy-Pasten kannst. Deshalb sind meine Antworten auch nur Stücke damit du es selber lernst. Du kannst mir gerne deinen ganzen Code geben, anschauen werde ich den nicht. Allein vom Copy-Pasten lernt man nicht. Denk nach.
TheRedCraft Posted March 16, 2018 Author Posted March 16, 2018 (edited) vor 6 Minuten schrieb boomer41: Ich gebe dir sicher keinen fertigen Code den du Copy-Pasten kannst. Deshalb sind meine Antworten auch nur Stücke damit du es selber lernst. Du kannst mir gerne deinen ganzen Code geben, anschauen werde ich den nicht. Allein vom Copy-Pasten lernt man nicht. Denk nach. Darüber bin ich mir bewusst allerdings nützt es mir auch nichts wenn ich mir den Kopf über etwas zerbreche, dass ich nicht kann. Zitat for (int x = 0; x < 10; x++) { // Andere zwei Schleifen müssen auch noch rein. Location l = start.clone().add(x, y, z); // ... } diese for schleife wird 10 mal ausgeführt das habe ich kapiert aber was ich nicht ganz verstehe ist wie ich die Location für die Partikel bekomme und was ist wenn mein Quadrat grösser als 11x11 Blöcke ist , dann müsste ich ja die for schleife öfters als 10 mal ausführen. Edited March 16, 2018 by TheRedCraft
boomer41 Posted March 16, 2018 Posted March 16, 2018 Location l = start.clone().add(x, y, z); Zum Startpunkt werden in X-Richtung "x" hinzugezählt, usw. Wenn du deine Schleife a mal ausführen willst, dann ersetze das "10" einfach durch die Variable..
TheRedCraft Posted March 16, 2018 Author Posted March 16, 2018 vor 2 Minuten schrieb boomer41: Location l = start.clone().add(x, y, z); Zum Startpunkt werden in X-Richtung "x" hinzugezählt, usw. Wenn du deine Schleife a mal ausführen willst, dann ersetze das "10" einfach durch die Variable.. danke das ist genau das was ich brauchte
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now