Danke euch!
Es können oft schon die einfachen Ding sein, die einem Kopfschmerzen bereiten. Funktioniert alles wie gewollt.
Danke euch!
Es können oft schon die einfachen Ding sein, die einem Kopfschmerzen bereiten. Funktioniert alles wie gewollt.
Hallo Community,
Zuersteinmal, ich weiß, ich muss objekt orientiert programmieren. Nur fällt mir das Verstehen von gettern und settern so schwer.
Hier zu meinem Problem:
// für die Ausgabe der Mapnamen
private static ArrayList<String> maps = new ArrayList<String>();
// 1 vote pro player
private static ArrayList<Player> voted = new ArrayList<Player>();
//alle maps der Config reinladen um danach zu sortieren
private static ArrayList<String> zwischenspeicher = new ArrayList<String>();
Public void startvotemap(){
maps.clear();
voted.clear();
zwischenspeicher.clear();
Main.votemaps.clear() //Hier werden später die votes gezählt = hashmap
Zwischenspeicher.addAll(MapFile.getFileconfiguration.getFileSection("Location.Spawns");
for(int i = 0; i <= Zwischenspeicher.getSize()-1; i++) {
String spawns = Zwischenspeicher.get(i);
if(spawns != MapFile.getFileConfiguration().getString("Lobbymap"){
Main.votemaps.entrySet(spawns, 0);
maps.add(spawns);
}
}
}
Alles anzeigen
Das ist jetzt nur ein Ausschnitt zusammengeschrieben. Der Eintrag Lobbymap in der Config wird durch einen Befehl gesetzt. Zeitgleich wird ein Eintrag in Location.spawns gesetzt. Ich kann also über die args[0] einen String eingeben, welcher dann in die config an beide Stellen eingetragen wird.
Jetzt möchte ich alle Einträge von Location.spawns in ArrayList Zwischenspeicher speichern.
Später in der for schleife möchte ich die Lobbymap dort aber raus nehmen.
Also loope ich durch alle Einträge des Zwischenspeichers und und Vergleiche ob der Mapname den configeintrag Lobbymap entspricht. Wenn ja, wird dieser Wert nicht in die ArrayList map & Hashmap votemaps eingetragen.
Aber das Ergebnis der ifschleife ist immer false.
Es macht kein Sinn.
Ich habe mir beide Werte einzeln ausgeben lassen (komplett identisch). Habe versucht jeweils einen Wert direkt durch einen String zu ersetzen, immer false.
Wenn ich jetzt beide Werte eindeutig durch einen String ersetze, z.b. "A" wird das Ergebnis wie erwartet true.
Ich raff es einfach nicht
Ich bin gerade nicht am Rechner, aber sollte das nicht gehen wenn du im InventoryClickEvent nach dem if e.getClicked (keine ahnung wie das genau war) == material.AIR? und dann cancelst du das event innerhalb der if abfrage. Somit sollte alles andere funktionieren.
Oder, und das denke ich funktioniert mehr:
Du gehst über die e.getSlot (wieder keine Ahnung wie das genau heißt) du fragst nach dem slot und wenn der slot dann z.b. 0-10 15
28-35 ist cancelst du das event.