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

Millisekunden im PlugIn zu schnell?

Mr_Redstone19

Schafhirte
Registriert
31 Januar 2018
Beiträge
103
Alter
50
Diamanten
0
Hmm. Die Frage verwirrt, da Millisekunden nicht zu schnell ablaufen können...
Jedoch ist das das folgende Problem:
Ich habe für BedWars ItemSpawner erstellt. Beim Start fangen sie an Items zu spawnen, von den man sich dann Sachen kaufen kann. Dies ist meine ItemSpawner-Klasse und die getTime()-Methode ist weiter unten in CodeTags.

ItemSpawner-Klasse: https://pastebin.com/WBhmuYFr

getTime()-Methode:

Javascript:
public static String getTime() {
        int sec = time;
        int min = 0;
        while(sec >= 60) {
            sec -=60;
            min++;
        }
        if(String.valueOf(sec).split("").length == 1) {
            return min + ":0" + sec;
        }else {
            return min + ":" + sec;
        }
    }

Sollte ich etwas vergessen haben, dann werde ich es noch dazugeben
 

JOO200

Braumeister
Registriert
18 Dezember 2016
Beiträge
442
Diamanten
228
Hinweis zu deiner getTime()-Methode:

Deine while-Schleife kann man durchaus schöner machen bzw entfernen, indem du folgendes benutzt:
Code:
int minutes = (int)(seconds / 60);  // wird automatich auf die nächste ganze Zahl abgerundet. Also 123 Sekunden ergibt 2 Minuten
int seconds = seconds % 60; // Modulo hilft bei sowas extrem. Einfach mal googeln.

Deinen String kannst du auch mit MessageFormat schöner zusammenstellen:
Code:
MessageFormat.format("%02d:%02d", minutes, seconds);
 

SirYwell

PlotSquared Entwickler
Registriert
30 Juni 2017
Beiträge
540
Diamanten
488
Minecraft
SirYwell
60 ist die Anzahl von Sekunden pro Minute. Wenn du nun von einer beliebigen natürlichen Zahl mittels des Modulo-Operators den Rest bei Teilen durch 60 ermittelst, bleibt dir immer eine Zahl zwischen 0 und 59. Beispiel:

180 % 60 = 0
68 % 60 = 8
135 % 60 = 15
 
Oben