Ever 20 Opublikowano 30 listopada 2018 Udostępnij Opublikowano 30 listopada 2018 (edytowane) Siema, zrobiłem kod na zapisywanie/odczytywanie hashmapy z configu. Wszystko działa gdy tylko jedna osoba jest w configu Problem zaczyna sie gdy sa np. 2osoby. Wtedy nie dziala plugin wgl public void loadLvL() { lvl = new HashMap<String, Integer>(); if(plugin.getConfig().getConfigurationSection("lvl") != null ) { Set<String> set = plugin.getConfig().getConfigurationSection("lvl").getKeys(true); for(String credit : set) { int value = plugin.getConfig().getConfigurationSection("lvl").getInt(credit); lvl.put(credit, value); set.clear(); } } } public void saveLvL() { for(String level : lvl.keySet()) { int value = lvl.get(level); plugin.getConfig().set("lvl." + level, value); } plugin.saveConfig(); } } I przy onEnable loadLvl, a przy onDisable saveLvL Edytowane 30 listopada 2018 przez Ever Odnośnik do komentarza https://skript.pl/temat/30595-problem-z-odczytywaniem-hash-mapy/ Udostępnij na innych stronach Więcej opcji udostępniania...
0 yooniks 347 Opublikowano 30 listopada 2018 Udostępnij Opublikowano 30 listopada 2018 (edytowane) po co ten set.clear() ? a tak to: public void saveLvL() { for(String level : lvl.keySet()) { int value = lvl.get(level); plugin.getConfig().set("lvl." + level, value); } plugin.saveConfig(); } mozesz zamienic na public void saveLvl() { lvl.forEach((uuid, level) -> config.set("lvl." + uuid, level)); plugin.saveConfig(); } chociaz w sumie nw czym jest credit i ogolnie ten kod wyglada jakos brzydko=( juz nawet nie wspomne o tym ze takie zapisywanie do yaml jest bez sensu, tymabrdziej ze czym plik bedzie wiekszy tym dluzej bedzie sie go ladowalo itd. sam sie o tym kiedys przekonalem jak takie coinsy itd trzymalem w jednym pliku, plik byl ogromny i ladowal sie wiecej niz 10 minut, a poand 100 graczy czekało na wejscie na serwer przeciez teraz jest tyle fajnych baz danych=( Edytowane 30 listopada 2018 przez yooniks Ever 1 Odnośnik do komentarza https://skript.pl/temat/30595-problem-z-odczytywaniem-hash-mapy/#findComment-199820 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Ever 20 Opublikowano 30 listopada 2018 Autor Udostępnij Opublikowano 30 listopada 2018 1 minutę temu, yooniks napisał: po co ten set.clear() ? a tak to: public void saveLvL() { for(String level : lvl.keySet()) { int value = lvl.get(level); plugin.getConfig().set("lvl." + level, value); } plugin.saveConfig(); } mozesz zamienic na public void saveLvl() { lvl.forEach((uuid, level) -> config.set("lvl." + uuid, level)); plugin.saveConfig(); } chociaz w sumie nw czym jest credit i ogolnie ten kod wyglada jakos brzydko=( zaraz zobacze, a kod wiem ze jakis super nie jest, ale to tylko odlamek Odnośnik do komentarza https://skript.pl/temat/30595-problem-z-odczytywaniem-hash-mapy/#findComment-199821 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Ever 20 Opublikowano 30 listopada 2018 Autor Udostępnij Opublikowano 30 listopada 2018 Nwm co sie stalo, ale po usunieciu set.clear zaczelo dzialac, dzieki Odnośnik do komentarza https://skript.pl/temat/30595-problem-z-odczytywaniem-hash-mapy/#findComment-199822 Udostępnij na innych stronach Więcej opcji udostępniania...
0 Ixidi 719 Opublikowano 30 listopada 2018 Udostępnij Opublikowano 30 listopada 2018 Problem został rozwiązany. Odnośnik do komentarza https://skript.pl/temat/30595-problem-z-odczytywaniem-hash-mapy/#findComment-199847 Udostępnij na innych stronach Więcej opcji udostępniania...
Pytanie
Ever 20
Siema, zrobiłem kod na zapisywanie/odczytywanie hashmapy z configu.
Wszystko działa gdy tylko jedna osoba jest w configu
Problem zaczyna sie gdy sa np. 2osoby. Wtedy nie dziala plugin wgl
I przy onEnable loadLvl, a przy onDisable saveLvL
Edytowane przez EverOdnośnik do komentarza
https://skript.pl/temat/30595-problem-z-odczytywaniem-hash-mapy/Udostępnij na innych stronach
4 odpowiedzi na to pytanie
Rekomendowane odpowiedzi