Pobranie danych z configu, konwersja i wyswietlenie uzytkownikowi

0

Witam, mam nastepujacy problem. Piszę plugin do Minecrafta. Znam podstawy Javy, ale malo w niej pisalem, jak i w innych jezykach. Chcialbym pobrac dane z configu, nastepnie zapisac je do jakiejs zmiennej/tablicy/listy, a potem wyswietlic uzytkownikowi. Dane wiem jak pobrac, problem z tym jak je zapisac, bo skladaja sie z dwoch czesci, taka jakby mapa.
Skrawek configu (pisane w yaml):

# Tutaj podajemy liste map wraz z typem rozgrywki
# Ma to wygladac tak:
#   "nazwa mapy",numerek typu(0-ctf,1-tdm,2-dm)
mapy:
  "MapaCTF1",0
  "MapaTDM1",1
  "MapaDM1",2 

Teraz pobieram dane i wlasnie nie wiem gdzie zapisac. Probowalem czegos takiego:

List<Map<?, ?>> mapy;

public void onEnable(){
        
        mapy = this.getConfig().getMapList("mapy"); // pobiera z configu liste map
        
}

public boolean onCommand(CommandSender sender, Command cmd, String commandLabel, String[] args){
    // tutaj jakis tam kod sprawdzajacy czy sender to gracz
            if(args[0].equalsIgnoreCase("mapy")){
            	player.sendMessage("### [***-****.pl] Lista map: ###"); // wysyla wiadomosc do gracza
            	// no i wlasnie tutaj nie wiem jak wyciagnac dane z tej listy map
                // i czy wogole to by dzialalo
            }
            return false;
    } 

// dalszy kod pluginu

Pomozecie?

0

Nikt nie pomoze?

0

Naprawde nikt nie ja kto zrobic? Wydawalo mi sie, ze to nie jest jakis wyzszy poziom programowania.

0

Jeśli dobrze zrozumiałem, to masz to już pobrane do zmiennej mapy. W czym problem?

0

Jak to wyswietlic, tzn, jak wyciagnac ta nazwe mapy i typ z listy map.

0

Wpierw metoda keySet() - dostaniesz zbiór (Set) kluczy, a potem tworzysz iterator po zbiorze kluczy.

0

Chodzi o coś takiego?

List<Map<?,?>> mapy = MapVote.mapy;
Set<?> klucze = ((Map<?, ?>) mapy).keySet();
Iterator<?> iterator = klucze.iterator();

Co zawiera zmienna iterator, bo jestem w tym kompletnie zielony? I co zrobic dalej, zeby wyswietlic uzytkownikowi na koncu dane?

0

Naprawde tak trudno o pomoc na tym forum, że aby ją uzyskać muszę pisać 2/3 posty pod rząd?

0
Iterator k = map.keySet().iterator();
    while (k.hasNext()) {
      String key = (String) k.next();
      System.out.println("Key " + key + "; Value " + (String) map.get(key));
    }
0

A tak trudno zajrzeć do dokumentacji? Set nie ma kolejności elementów, iterator pozwala obrabiać elementy Seta w pewnej kolejności.

while(iterator.hasNext())
{
    key = iterator.next();
    value = mapy.get(key);
    //zrób co chcesz z parą (key,valuse)    
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1