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

Erledigt Random TP bei SkyWars

Minecraft Version
Java

ToDiYT

Minecrafter
Registriert
10 März 2019
Beiträge
6
Diamanten
100
Hey, ich bin zurzeit am Programmieren eines SkyWars plugin. Aber der Random Teleport functioniert nicht bzw. man wird manchmal an die gleiche stelle telepotiert. Könnte mir da jemand helfen?
Random Teleport:
for (Player all : Bukkit.getOnlinePlayers()) {



    ArrayList<Location> locs = new ArrayList<>();



    Location loc1 = (Location) Main.main.getConfig().get("skywars.1");

    Location loc2 = (Location) Main.main.getConfig().get("skywars.2");

    Location loc3 = (Location) Main.main.getConfig().get("skywars.3");

    Location loc4 = (Location) Main.main.getConfig().get("skywars.4");



    locs.add(loc1);

    locs.add(loc2);

    locs.add(loc3);

    locs.add(loc4);



    Random r = new Random();



    Location loc = locs.get(r.nextInt(locs.size()));

    locs.remove(loc);

    Bukkit.getScheduler().runTaskLater(Main.main, new Runnable() {

        @Override

        public void run() {

            if (locs.contains(loc)) {

                all.teleport(loc);

            }

        }

    }, 10 * 1L);

}
 

JOO200

Braumeister
Registriert
18 Dezember 2016
Beiträge
422
Diamanten
191
Du liest für jeden Spieler der online ist die Config neu aus.
Dann erstellst du für jeden Spieler eine eigene ArrayList, fügst vier Locations hinzu und suchst aus diesen 4 locations einen zufälligen Punkt zum Teleportieren aus.

Überleg dir nochmal, ob die Vorgehensweise von dir aktuell so gut gewählt ist.
 

ToDiYT

Minecrafter
Registriert
10 März 2019
Beiträge
6
Diamanten
100
Du liest für jeden Spieler der online ist die Config neu aus.
Dann erstellst du für jeden Spieler eine eigene ArrayList, fügst vier Locations hinzu und suchst aus diesen 4 locations einen zufälligen Punkt zum Teleportieren aus.

Überleg dir nochmal, ob die Vorgehensweise von dir aktuell so gut gewählt ist.
Okay, So wie ich das gemacht habe, so habe ich das halt gelernt aber dann muss ich mir wohl eine andere Möglichkeit suchen.

EDIT: Danke, du hast mich auf eine Idee gebracht die jetzt auch functioniert
 
Zuletzt bearbeitet:
Oben