Deine Frage-Antwort-Community
Frage stellen
    • Meinung des Tages: Ukraine-Verhandlungen in Istanbul ohne Putin & Trump - welche Erwartungen habt Ihr an den Gipfel?
    • Bald sollen Beamte und Selbständige in die Rentenkasse einzahlen. Wie findet ihr das?
    • Was ist die unschönste Eigenschaft die man haben kann?
    • Wie sehr begleitet dich KI im Alltag?
    • Macht ihr Euch Gedanken über eure Altersversorgung oder habt sogar Angst vor Altersarmut?
    • Welchen Job würdest du wollen, wenn du im Mittelalter leben würdest?
    • Alle Beiträge
    • Radiokooperation mit Absolut HOT 🔥
    • Meinung des Tages
    • Themenspecial: Wechseljahre (mit der Influencerin blondbynana)
    • Blickwechsel: Deine Fragen an einen unheilbar kranken Lungenkrebspatienten
    • Ask Me Anything:
      Alle Blickwechsel
    • Ask Me Anything:
      Alle Themenspecials
    • gutefrage Tipps
    • gutefrage Highlights
    • Computer
    • Internet & Social Media
    • Kreativität, Freizeit & Hobby
    • Lokales, Reiseziele & Urlaub
    • Medien, Unterhaltung & Musik
    • Mode & Beauty
    • Software & Apps
    • Spiele & Gaming
    • Sport & Fitness
    • Alle Themenwelten
In wenigen Minuten
Antworten auf Deine Fragen.
Frage stellen
Du hast noch kein gutefrage Profil? Jetzt kostenlos erstellen
Profil Beiträge Antworten Antworten

verreisterNutzer

05.07.2022
Übersicht
0
Hilf. Antw.
1
Antwort
0
Beiträge
0
Danke
0
Komplim.
0
Freunde
lollo939l
04.07.2022, 21:49
For-Schleife zählt nicht korrekt?

Hey,

Ich hab ne Methode geschrieben, die durch jeden Inventarslot in Minecraft geht, der eigentlich Inhalt ist egal, die Sache ist nur, dass die Schleife richtig unregelmäßig oder manchmal auch einfach gar nicht hochzählt.

Folgendes habe ich:

if (mc.currentScreen instanceof GuiInventory) {
    for (int i = 0; i < 36; i++) {
        if (timeHelper.hasReached(100)) {
            mc.thePlayer.sendMessage(String.valueOf(i));
            timeHelper.reset();
        }
    }
}

Das wird jeden Tick gecallt (1 Tick = 1/20 Sekunde).

Insofern das Delay 0 ist, funktioniert das tatsächlich auch (zählt unregelmäßig hoch, funktioniert aber)

Und wenn das Delay höher als null ist, zählt i gar nicht mehr hoch.

Wenn ich aber im Debug Modus das Schritt für Schritt durchgehe, funktioniert es.

Warum zählt die Schleife so gar nicht mehr hoch nachdem das Delay größer als 0 ist?

Danke schonmal im Voraus

...zum Beitrag
Antwort
von verreisterNutzer
05.07.2022, 12:34

Der Timer läuft weiter und blockiert nicht den Thread, also deine for-Schleife.

Du kannst einen Thread-Pool erzeugen und das Versenden der Nachrichten dahin auslagern. Nach der for-Schleife wartest du, bis der Thread-Pool alle Threads abgearbeitet hat. Erst dann setzt du die weitere Ausführung fort.

...zur Antwort
gutefrage
  • Beitrag erstellen
  • Stöbern
  • Alle Themen
  • Hilfe / FAQ
  • Richtlinien
  • gutefrage Highlights
Partner
  • Businesspartner
  • Partner werden
Unternehmen
  • Über uns
  • Jobs
  • Kontakt
  • Presse
Rechtliches
  • Impressum
  • Datenschutz
  • AGB
  • Utiq verwalten
Weil es immer jemand weiß.
gutefrage ist so vielseitig wie keine andere Frage-Antwort-Plattform. Bei uns findest Du schnell neue Perspektiven - egal zu welchem Thema.
Gmacht in Minga. Mit
❤
Facebook Pixel