diff --git a/src/main/java/net/petersil98/thresh/collection/Challenges.java b/src/main/java/net/petersil98/thresh/collection/Challenges.java index 2e21362..bd5a633 100644 --- a/src/main/java/net/petersil98/thresh/collection/Challenges.java +++ b/src/main/java/net/petersil98/thresh/collection/Challenges.java @@ -15,8 +15,4 @@ public static Challenge getChallenge(int id) { public static List getChallenges() { return challenges; } - - public static void setChallenges(List challenges) { - Challenges.challenges = challenges; - } } diff --git a/src/main/java/net/petersil98/thresh/collection/Champions.java b/src/main/java/net/petersil98/thresh/collection/Champions.java index 36dd4c6..fdeacd1 100644 --- a/src/main/java/net/petersil98/thresh/collection/Champions.java +++ b/src/main/java/net/petersil98/thresh/collection/Champions.java @@ -20,8 +20,4 @@ public static Champion getChampionByName(String name){ public static List getChampions() { return champions; } - - public static void setChampions(List champions) { - Champions.champions = champions; - } } diff --git a/src/main/java/net/petersil98/thresh/collection/Items.java b/src/main/java/net/petersil98/thresh/collection/Items.java index 4411287..454f632 100644 --- a/src/main/java/net/petersil98/thresh/collection/Items.java +++ b/src/main/java/net/petersil98/thresh/collection/Items.java @@ -15,8 +15,4 @@ public static Item getItem(int id){ public static List getItems() { return items; } - - public static void setItems(List items) { - Items.items = items; - } } diff --git a/src/main/java/net/petersil98/thresh/collection/Maps.java b/src/main/java/net/petersil98/thresh/collection/Maps.java index 7ea9581..bf2b020 100644 --- a/src/main/java/net/petersil98/thresh/collection/Maps.java +++ b/src/main/java/net/petersil98/thresh/collection/Maps.java @@ -15,8 +15,4 @@ public static Map getMap(int id){ public static List getMaps() { return maps; } - - public static void setMaps(List maps) { - Maps.maps = maps; - } } diff --git a/src/main/java/net/petersil98/thresh/collection/QueueTypes.java b/src/main/java/net/petersil98/thresh/collection/QueueTypes.java index 59c24d2..6078b3a 100644 --- a/src/main/java/net/petersil98/thresh/collection/QueueTypes.java +++ b/src/main/java/net/petersil98/thresh/collection/QueueTypes.java @@ -15,8 +15,4 @@ public static QueueType getQueueType(int id){ public static List getQueueTypes() { return queueTypes; } - - public static void setQueueTypes(List queueTypes) { - QueueTypes.queueTypes = queueTypes; - } } diff --git a/src/main/java/net/petersil98/thresh/collection/RuneStats.java b/src/main/java/net/petersil98/thresh/collection/RuneStats.java index 8e5e660..f025a39 100644 --- a/src/main/java/net/petersil98/thresh/collection/RuneStats.java +++ b/src/main/java/net/petersil98/thresh/collection/RuneStats.java @@ -15,8 +15,4 @@ public static RuneStat getRuneStat(int id){ public static List getRuneStats() { return runeStats; } - - public static void setRuneStats(List runeStats) { - RuneStats.runeStats = runeStats; - } } diff --git a/src/main/java/net/petersil98/thresh/collection/RuneStyles.java b/src/main/java/net/petersil98/thresh/collection/RuneStyles.java index 4d44471..72e06a6 100644 --- a/src/main/java/net/petersil98/thresh/collection/RuneStyles.java +++ b/src/main/java/net/petersil98/thresh/collection/RuneStyles.java @@ -15,8 +15,4 @@ public static RuneStyle getRuneStyle(int id){ public static List getRuneStyles() { return runeStyles; } - - public static void setRuneStyles(List runeStyles) { - RuneStyles.runeStyles = runeStyles; - } } diff --git a/src/main/java/net/petersil98/thresh/collection/Runes.java b/src/main/java/net/petersil98/thresh/collection/Runes.java index a15c26d..35e3f5e 100644 --- a/src/main/java/net/petersil98/thresh/collection/Runes.java +++ b/src/main/java/net/petersil98/thresh/collection/Runes.java @@ -15,8 +15,4 @@ public static Rune getRune(int id){ public static List getRunes() { return runes; } - - public static void setRunes(List runes) { - Runes.runes = runes; - } } diff --git a/src/main/java/net/petersil98/thresh/collection/SummonerSpells.java b/src/main/java/net/petersil98/thresh/collection/SummonerSpells.java index ccd5391..0a4360b 100644 --- a/src/main/java/net/petersil98/thresh/collection/SummonerSpells.java +++ b/src/main/java/net/petersil98/thresh/collection/SummonerSpells.java @@ -15,8 +15,4 @@ public static SummonerSpell getSummonerSpell(int id){ public static List getSummonerSpells() { return summonerSpells; } - - public static void setSummonerSpells(List summonerSpells) { - SummonerSpells.summonerSpells = summonerSpells; - } } diff --git a/src/main/java/net/petersil98/thresh/util/LoLLoader.java b/src/main/java/net/petersil98/thresh/util/LoLLoader.java index b6614db..7ea4462 100644 --- a/src/main/java/net/petersil98/thresh/util/LoLLoader.java +++ b/src/main/java/net/petersil98/thresh/util/LoLLoader.java @@ -9,6 +9,7 @@ import net.petersil98.core.data.Sprite; import net.petersil98.core.util.Loader; import net.petersil98.core.util.settings.Settings; +import net.petersil98.thresh.Thresh; import net.petersil98.thresh.collection.*; import net.petersil98.thresh.data.Challenge; import net.petersil98.thresh.data.Item; @@ -21,6 +22,7 @@ import org.apache.logging.log4j.core.util.IOUtils; import java.io.*; +import java.lang.reflect.Field; import java.net.URL; import java.nio.file.Files; import java.nio.file.Paths; @@ -109,7 +111,7 @@ private void loadRuneStyles(){ runeStyle.get("key").asText()) ); } - RuneStyles.setRuneStyles(runeStyles); + setFieldInCollection(RuneStyles.class, runeStyles); } catch (IOException e) { e.printStackTrace(); } @@ -134,7 +136,7 @@ private void loadRunes(){ } } } - Runes.setRunes(runes); + setFieldInCollection(Runes.class, runes); } catch (IOException e) { e.printStackTrace(); } @@ -175,7 +177,7 @@ private void loadRuneStats(){ runeStyle.get("longDesc").asText()) ); } - RuneStats.setRuneStats(runeStats); + setFieldInCollection(RuneStats.class, runeStats); } catch (IOException e) { e.printStackTrace(); } @@ -211,7 +213,7 @@ private void loadMaps(){ sprite) ); } - Maps.setMaps(maps); + setFieldInCollection(Maps.class, maps); } catch (IOException e) { e.printStackTrace(); } @@ -229,7 +231,7 @@ private void updateChampionsFile(){ private void loadChampions(){ try { String content = Files.readString(Paths.get(CHAMPIONS_FILE_PATH)); - Champions.setChampions(MAPPER.readValue(content, TypeFactory.defaultInstance().constructCollectionType(List.class, Champion.class))); + setFieldInCollection(Champions.class, MAPPER.readValue(content, TypeFactory.defaultInstance().constructCollectionType(List.class, Champion.class))); } catch (IOException e) { e.printStackTrace(); } @@ -250,7 +252,7 @@ private void updateQueueTypesFile(){ private void loadQueueTypes(){ try { String content = Files.readString(Paths.get(QUEUE_TYPES_FILE_PATH)); - QueueTypes.setQueueTypes(MAPPER.readValue(content, TypeFactory.defaultInstance().constructCollectionType(List.class, QueueType.class))); + setFieldInCollection(QueueTypes.class, MAPPER.readValue(content, TypeFactory.defaultInstance().constructCollectionType(List.class, QueueType.class))); } catch (IOException e) { e.printStackTrace(); } @@ -324,7 +326,7 @@ private void loadItems(){ ITEMS_SPECIAL_RECIPE.put(Integer.parseInt(entry.getKey()), node.get("specialRecipe").asInt()); } } - Items.setItems(items); + setFieldInCollection(Items.class, items); Items.getItems().forEach(Item::postInit); } catch (IOException e) { e.printStackTrace(); @@ -385,7 +387,7 @@ private void loadSummonerSpells(){ ) ); } - SummonerSpells.setSummonerSpells(list); + setFieldInCollection(SummonerSpells.class, list); } catch (IOException e) { e.printStackTrace(); } @@ -406,7 +408,7 @@ private void updateChallengesFile() { private void loadChallenges(){ try { String content = Files.readString(Paths.get(CHALLENGES_FILE_PATH)); - Challenges.setChallenges(MAPPER.readValue(content, TypeFactory.defaultInstance().constructCollectionType(List.class, Challenge.class))); + setFieldInCollection(Challenges.class, MAPPER.readValue(content, TypeFactory.defaultInstance().constructCollectionType(List.class, Challenge.class))); } catch (IOException e) { e.printStackTrace(); } @@ -474,4 +476,17 @@ private void renameFieldInNode(ObjectNode node, String fieldName, String newFiel node.set(newFieldName, node.get(fieldName)); node.remove(fieldName); } + + private void setFieldInCollection(Class collectionClass, List elements) { + try { + char[] fieldName = collectionClass.getSimpleName().toCharArray(); + fieldName[0] += 32; + Field field = collectionClass.getDeclaredField(new String(fieldName)); + field.setAccessible(true); + field.set(null, elements); + field.setAccessible(false); + } catch (NoSuchFieldException | IllegalAccessException e) { + Thresh.LOGGER.error("Couldn't set collection Type of class " + collectionClass.getSimpleName(), e); + } + } } \ No newline at end of file