meraki-analytics / orianna Goto Github PK
View Code? Open in Web Editor NEWA Java framework for the Riot Games League of Legends API (http://developer.riotgames.com/).
License: MIT License
A Java framework for the Riot Games League of Legends API (http://developer.riotgames.com/).
License: MIT License
Is there a way to get AggregatedStats
for a summoner s
?
com.robrua.orianna.type.exception.APIException: A NOT_FOUND (404) error was received from the server for URI https://global.api.pvp.net/api/lol/static-data/eune/v1.2/item/2004?MYAPIKEYWASHERE
I am only getting this exception with certain summoners (tried on summoner name "silent moon").
Could this be caused by not having any siege games?
java.lang.IllegalArgumentException: No enum constant com.robrua.orianna.type.core.stats.PlayerStatsSummaryType.Siege
at java.lang.Enum.valueOf(Unknown Source)
at com.robrua.orianna.type.core.stats.PlayerStatsSummaryType.valueOf(PlayerStatsSummaryType.java:3)
at com.robrua.orianna.api.core.StatsAPI.getStats(StatsAPI.java:97)
at com.robrua.orianna.api.core.RiotAPI.getStats(RiotAPI.java:1779)
RiotAPI.setMirror(Region.NA);
RiotAPI.setRegion(Region.NA);
RiotAPI.setAPIKey("banana");
Summoner summoner = RiotAPI.getSummonerByName("SpiritedDusty");
for (League league : LeagueAPI.getLeagueEntriesBySummoner(summoner)) {
if (league.getQueueType() == QueueType.RANKED_SOLO_5x5) {
System.out.println(league.getParticipantEntry());
}
}
Pretty much what the title says. getParticipantEntry() returns null. I'm assuming it's supposed to return the LeagueEntry for the summoner object.
Do those two methods return a double no greater than 1.00 or a double no greater than 100?
In other words, if someone has +5% critical chance runes, does the method getFlatCritChanceMod()
return 0.05 or 5?
Hey, I think I found a new Issue:
CurrentGame Game = RiotAPI.getCurrentGame(message[1]);
for(Participant g: Game.getParticipants()){
Summoner summ = RiotAPI.getSummonerByName(g.getSummonerName());
Tier tier = Tier.UNRANKED;
try{
for(League leag: RiotAPI.getLeaguesBySummoner(g.getSummoner())){
tier = leag.getTier();
}}catch(Exception e){
tier = Tier.UNRANKED;
}
System.out.println(tier);
Some player gets a wrong output (like a plat player get as output "BRONZE" or a ranked player gets unranked) I think thats an issue with the API but I am nor sure. (tried it manually with the riotapi and got the right tier)
Hi, looking at the API I can see methods for getting a Participants previous highest ranked tier, but no current. Do you know how I'd go about getting that?
Thanks
Hey,
I'm getting two errors since today:
java.lang.IllegalArgumentException: No enum constant com.robrua.orianna.type.core.common.QueueType.RANKED_FLEX_TT
at java.lang.Enum.valueOf(Enum.java:238)
at com.robrua.orianna.type.core.common.QueueType.valueOf(QueueType.java:6)
at com.robrua.orianna.type.core.league.League.getQueueType(League.java:152)
same for TEAM_BUILDER_RANKED_SOLO
Riot recently added the Current Game and Featured Games commands, which are currently not supported.
I noticed some errors when setting a database as the datastore using hibernate.
The description and sanitizedDescription fields in Mastery are varchar(255) but some of them exceed that length and throw an error, so those might have to be lengthened.
Also, the column name "full" in Image is a reserved word in Postgres (I know you use Mysql but just an FYI).
The problem is still actual for a really close range of summoners. Can't get,what's wrong, but some summoners throw that error, leaving message, that request is null. Example code : http://pastebin.com/dS9bB2WY . Using Orianna 2.3.5 for Android.
In 4.21, Riot removed Atma's Impaler from the game. Since then, If I call Summoner.getRecentGames it will throw an exception because the call to https://global.api.pvp.net/api/lol/static-data/na/v1.2/item/3005 returns a 404 HTTP response code.
This may only happen for summoners who have recent games in which a player purchased the item, but I haven't tested that.
I'm not particularly interested in the item data for my specific use case, so lazy-loading the item data would both speed up the method and circumvent the issue for me. However, for users who do need item data for the match, some sort of solution that gracefully handles the removal of items from the game will be needed.
Are you willing to provide maven support? As in releasing it to Maven Central? It would help a lot with projects that depend on Maven to manage their dependencies.
I've got a simple app that just loads the API and does a single call. It works fine through an emulator and physical device, but it crashes when running it through the Google Chrome ARC Welder. Stack trace below:
stack_trace: java.lang.RuntimeException
at android.os.AsyncTask$5.done(AsyncTask.java:384)
at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:355)
at java.util.concurrent.FutureTask.setException(FutureTask.java:222)
at java.util.concurrent.FutureTask.run(FutureTask.java:242)
at android.os.AsyncTask$SerialExecutor$2.run(AsyncTask.java:280)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:841)
Caused by com.robrua.orianna.type.exception.OriannaException
at com.robrua.orianna.api.dto.BaseRiotAPI.get(BaseRiotAPI.java:237)
at com.robrua.orianna.api.dto.BaseRiotAPI.get(BaseRiotAPI.java:165)
at com.robrua.orianna.api.dto.StaticDataAPI.getChampions(StaticDataAPI.java:51)
at com.robrua.orianna.api.dto.BaseRiotAPI.getChampions(BaseRiotAPI.java:277)
at com.robrua.orianna.api.core.StaticDataAPI.getChampions(StaticDataAPI.java:86)
at com.robrua.orianna.api.core.RiotAPI.getChampions(RiotAPI.java:81)
at com.example.branch.MainActivity$1.doInBackground(MainActivity.java:39)
at com.example.branch.MainActivity$1.doInBackground(MainActivity.java:35)
at android.os.AsyncTask$4.call(AsyncTask.java:372)
at java.util.concurrent.FutureTask.run(FutureTask.java:237)
...4 more
Most of the internals are complete and ready to go for v3, just need to wrap up the core layer and the entry points for users.
Summoner: 19996006
NullPointerException when accessing the mastery pages of the above summoner. Looking at the JSON response, the mastery page is named (@@!PaG3!@@35337971).
I tried reproducing by setting one of my own mastery pages to the above, but the client does not let you. I assume thats how they internally name the pages. Either way, the JSON response does have mastery content for this ghost page.
04-29 21:47:31.495 18972-20037/com.prefanatic.porosnax E/AndroidRuntime﹕ FATAL EXCEPTION: Thread-11402
Process: com.prefanatic.porosnax, PID: 18972
java.lang.NullPointerException: Attempt to invoke interface method 'java.util.Iterator java.util.List.iterator()' on a null object reference
at com.robrua.orianna.type.dto.summoner.MasteryPages.getMasteryIDs(MasteryPages.java:77)
at com.robrua.orianna.api.core.SummonerAPI.getMasteryPagesByID(SummonerAPI.java:80)
at com.robrua.orianna.api.core.SummonerAPI.getMasteryPagesByID(SummonerAPI.java:97)
at com.robrua.orianna.api.core.SummonerAPI.getMasteryPagesByID(SummonerAPI.java:106)
at com.robrua.orianna.api.core.SummonerAPI.getMasteryPages(SummonerAPI.java:55)
at com.robrua.orianna.api.core.AsyncRiotAPI$63.run(AsyncRiotAPI.java:1600)
at java.lang.Thread.run(Thread.java:818)
The following code gets a player's ranked stats (Wins/Losses) for all the possible seasons. getStats(Season)
does not accept Season.PRESEASON****
and returns BAD_REQUEST (400) error
as I have stated here.
If a summoner has not played a ranked game in Season 4 (so no data of ranked solo queue), but has played other game modes for example, then mss.containsKey(PlayerStatsSummaryType.RankedSolo5x5)
would return false. The map would not be null as there may be other elements in the map.
If a summoner account was created in Season 5, meaning he/she has not played a game in Season 4 or 3, the following code gives NullPointerException
:
Map<PlayerStatsSummaryType, PlayerStatsSummary> mss = s.getStats(seas);
I'm assuming it's because there is no such data of the player in Season 3 or 4.
Here is my full code:
for (Season seas : Season.values()) {
if (seas == Season.PRESEASON2014 || seas == Season.PRESEASON2015
|| seas == Season.PRESEASON3) {
continue;
}
System.out.println(seas.name());
Map<PlayerStatsSummaryType, PlayerStatsSummary> mss = s
.getStats(seas);
if (mss.containsKey(PlayerStatsSummaryType.RankedSolo5x5)) {
totalWins += mss.get(PlayerStatsSummaryType.RankedSolo5x5)
.getWins();
totalLosses += mss.get(PlayerStatsSummaryType.RankedSolo5x5)
.getLosses();
}
}
Is this something that you can fix? Or is there a workaround?
I tested this on Riot's API page. My LOL account was created in Season 4, and when I input my ID here for Season 3, the response body is empty: {"summonerId": XXXXXXXX}
(I removed my actual summonerid)
I have a list of Participants, List<Participant> participants
containing 10 participants and I want to create an ImageView
that contains the champion image/picture.
Image img = participants.get(0).getChampion().getImage();
Now how would I use img
to have it display on the ImageView?
Or is it better to just download the champion images individually?
Error occurs when I call getRecentGames() on android
com.robrua.orianna.type.exception.APIException: A NOT_FOUND (404) error was received from the server for URI https://global.api.pvp.net/api/lol/static-data/eune/v1.2/item/3417?api_key=(**KEY**)&itemData=all
com.robrua.orianna.api.dto.BaseRiotAPI.get(BaseRiotAPI.java:225)
com.robrua.orianna.api.dto.BaseRiotAPI.get(BaseRiotAPI.java:165)
com.robrua.orianna.api.dto.StaticDataAPI.getItem(StaticDataAPI.java:65)
com.robrua.orianna.api.dto.BaseRiotAPI.getItem(BaseRiotAPI.java:335)
com.robrua.orianna.api.core.StaticDataAPI.getItem(StaticDataAPI.java:199)
com.robrua.orianna.api.core.StaticDataAPI.getItems(StaticDataAPI.java:252)
com.robrua.orianna.api.core.RiotAPI.getItems(RiotAPI.java:240)
com.robrua.orianna.api.core.StaticDataAPI.getChampions(StaticDataAPI.java:94)
com.robrua.orianna.api.core.StaticDataAPI.getChampionsByID(StaticDataAPI.java:131)
com.robrua.orianna.api.core.RiotAPI.getChampionsByID(RiotAPI.java:90)
com.robrua.orianna.api.core.GameAPI.getRecentGames(GameAPI.java:29)
com.robrua.orianna.api.core.GameAPI.getRecentGames(GameAPI.java:52)
com.robrua.orianna.api.core.RiotAPI.getRecentGames(RiotAPI.java:952)
I'm new to Android Programming, and I was wondering, why is using AsyncRiotAPI a lot different than using RiotAPI?
For example, to do the same thing as this:
Summoner summoner = RiotAPI.getSummonerByName("FatalElement");
System.out.println(summoner.getName() + " is a level " + summoner.getLevel() + " summoner on the NA server.");
How come for Android programming (by using Async) it has to be like this:
AsyncRiotAPI.getSummonerByName(new Action<Summoner>() {
@Override
public void perform(Summoner summoner) {
System.out.println(summoner.getName() + " is a level " + summoner.getLevel() + " summoner on the NA server.");
}
public void handle(APIException e) {
System.out.println("Couldn't get summoner FatalElement");
}
}, "FatalElement");
and not just:
Summoner summoner = AsyncRiotAPI.getSummonerByName("FatalElement"); System.out.println(summoner.getName() + " is a level " + summoner.getLevel() + " summoner on the NA server.");
?
Apparently, Ranked SOLO for season 7 uses a different type of queue than s6 and previous ones. Can you add the constant to QueueType?
Hi again,
Sorry for all of these questions, please bear with me.
Is there a way to save the data from RiotAPI.getChampions();
and reuse/read that data instead of retrieving the same data from Riot's servers every time? In terms of Android programming, I do not want to retrieve so much data every time I launch my app.
I think I would need to do List<Champion> champions = RiotAPI.getChampions();
and save that to a file somehow and then when I launch my app, I need to read that file and process it? Or is that the wrong way to do it?
(For LoadPolicy.LAZY
or LoadPolicy.UPFRONT
)
For summoner "SalvadorDali1" on EUNE last 10 games he played just Jinx, Fiora and Pantheon (since exception root is for getChampionIDs)
new ArrayList<>(RiotAPI.getRecentGames(summonerName));
java.lang.NullPointerException: Attempt to invoke interface method 'java.util.Iterator java.util.List.iterator()' on a null object reference
com.robrua.orianna.type.dto.game.Game.getChampionIDs(Game.java:76)
com.robrua.orianna.type.dto.game.RecentGames.getChampionIDs(RecentGames.java:69)
com.robrua.orianna.api.core.GameAPI.getRecentGames(GameAPI.java:29)
com.robrua.orianna.api.core.GameAPI.getRecentGames(GameAPI.java:52)
com.robrua.orianna.api.core.RiotAPI.getRecentGames(RiotAPI.java:951)
For some summoners, I get an error:
java.lang.IllegalArgumentException: Bilgewater is not a constant in com.robrua.orianna.type.core.stats.PlayerStatsSummaryType
when I perform getStats()
You probably did not account for the new gamemode Bilgewater.
No enum constant com.robrua.orianna.type.core.stats.PlayerStatsSummaryType.RankedFlexSR
when i try summoner.getStats(Season.SEASON2016);
When I use
List<Participant> myList = currentgame.getParticipants();
for (int i = 0; i < myList.size(); i++) {
Log.i(String.valueOf(i), myList.get(i).toString());
}
it takes 5-10 seconds to load all of the participants, which is a really long time. Is there a faster way to do it? I have tried using RiotAPI.setLoadPolicy(LoadPolicy.LAZY);
.
I serialize an object of List<Champion>
and save it to a file named champions
. I use the following code to read that file and save it to List<Champion> champion
. How do I use champion
to be used by future API requests?
try {
FileInputStream fileInputStream = mContext.openFileInput("champions");
ObjectInputStream objectInputStream = new ObjectInputStream(fileInputStream);
List<Champion> champion = (List<Champion>) objectInputStream.readObject();
objectInputStream.close();
fileInputStream.close();
} catch (IOException e) {
e.printStackTrace();
}
I have the following code somewhere else and it does not seem to be using the champion data I loaded from the file: String champion_name = par.get(position_number).getChampion().getName();
I wish to only use RiotAPI.getChampions();
once, when saving it to a file.
I load a CurrentGame and its Participants, with LoadPolicy.UPFRONT
. When I call participants.get(pos).getSummoner().getLevel();
, or participants.get(pos).getSummoner().getLeagues()
, they are not loaded before hand it has to query Riot's API servers.
Got this error when trying to use API. Is anything changed?
Found something else that seems like a bug. Using Participant
from RiotAPI.getMatch
, the following code results in a null value, which then throws null pointer on attempting to access its fields
val participant: Participant = ...
val summoner = participant.getSummoner
// At this point summoner is null, so the calls below fail
summoner.getID
summoner.getMatchHistory
// So on and so forth
Like last issue, more than willing to help out, but not familiar with code base.
If I want to process data for a summoner with the same name, but on different regions/servers, it gives me the same data as the account on the first region, as shown below.
It seems RiotAPI.setMirror(Region.LAN);
and RiotAPI.setRegion(Region.LAN);
are not changing the region?
RiotAPI.setMirror(Region.NA);
RiotAPI.setRegion(Region.NA);
RiotAPI.setAPIKey("KEY_HERE");
Summoner summoner = RiotAPI.getSummonerByName("TheOddOne");
System.out.println(summoner.getID());
RiotAPI.setMirror(Region.LAN);
RiotAPI.setRegion(Region.LAN);
summoner = RiotAPI.getSummonerByName("TheOddOne");
System.out.println(summoner.getID());
The code above gives me the same output, even though they should be different.
This happens for both RiotAPI and AsyncRiotAPI.
Do you have a date for the release of the V3?
The following code does not work for any unranked players in a mixed rank game (both ranked & unranked players in the game).
for (League league : par.get(i).getSummoner().getLeagueEntries()) {
LeagueEntry entry = league.getParticipantEntry();
if (league.getQueueType().name().equals("RANKED_SOLO_5x5")) {
solo_queue_ranks[i] = league.getTier() + " " + entry.getDivision() +
" " + entry.getLeaguePoints();
break;
}
else {
solo_queue_ranks[i] = "";
}
}
I get an APIException 404 Not Found:
com.robrua.orianna.type.exception.APIException: A NOT_FOUND (404) error was received from the server for URI https://na.api.pvp.net/api/lol/na/v2.5/league/by-summoner/32172885/entry?api_key=744e79b3-a84f-49c2-aa78-4fab3d9b0401
`
So when a ban is missing the champion_id is -1 which will lead to the following request:
A NOT_FOUND (404) error was received from the server for URI https://global.api.pvp.net/api/lol/static-data/euw/v1.2/champion/-1?api_key
I'm not sure why exactly it even makes the APIcall as I'm just working with the match timeline and did not make requests for the champions.
I have a list of Participants, List<Participant> participants
containing 10 participants and I want to create an ImageView
that contains the champion image/picture.
Image img = participants.get(0).getChampion().getImage();
Now how would I use img
to have it display on the ImageView? I haven't found a way to convert the Image img
into a bitmap.
I am using Orianna in a JavaFX application with Riot API calls built into the classes. I would like to leave stack trace printing in a public runnable release for debugging. Could an option be added to remove the api key from the end of printed URIs?
Exception in thread "main" com.robrua.orianna.type.exception.APIException: A NOT_FOUND (404) error was received from the server for URI https://global.api.pvp.net/api/lol/static-data/euw/v1.2/item/2043?api_key=RGAPI-611a56a2-3f74-4309-88a9-72f3f4497566&itemData=all
at com.robrua.orianna.api.dto.BaseRiotAPI.get(BaseRiotAPI.java:249)
at com.robrua.orianna.api.dto.BaseRiotAPI.get(BaseRiotAPI.java:162)
at com.robrua.orianna.api.dto.StaticDataAPI.getItem(StaticDataAPI.java:62)
at com.robrua.orianna.api.dto.BaseRiotAPI.getItem(BaseRiotAPI.java:375)
at com.robrua.orianna.api.core.StaticDataAPI.getItem(StaticDataAPI.java:206)
at com.robrua.orianna.api.core.StaticDataAPI.getItems(StaticDataAPI.java:265)
at com.robrua.orianna.api.core.RiotAPI.getItems(RiotAPI.java:352)
at com.robrua.orianna.api.core.MatchAPI.getMatch(MatchAPI.java:42)
at com.robrua.orianna.api.core.MatchAPI.getMatchByReference(MatchAPI.java:72)
at com.robrua.orianna.api.core.RiotAPI.getMatchByReference(RiotAPI.java:816)
at com.robrua.orianna.type.core.matchlist.MatchReference.getMatch(MatchReference.java:92)
at Example.getRankedStatsByData(Example.java:91)
at Example.main(Example.java:161)
The error is probably caused by the removal of PinkWards from RiotServers.
getMatch tries to fetch the whole items purchase history in the game including pinkwards, and when it gets to them the whole thing stops working.
*edit: wrong error
On June 24th, the v1/v2 endpoints will be deprecated for the new v3 ones
Im currently trying to rewrite my backend in java using Spring framework and I will serve something like 20 requests per second.
One problem I ran into is that im unsure how and if the static region field in Orianna will lead to concurrency problems. Think about the following scenario:
2 requests arrive simultaneously. One is for Region.EUW
, the other for Region.NA
. The 2 requests are handled at the same time in the same process (static variables are shared).
The request for the euw summoner will fail because request 2 set the region to something else before request 1 had time to make its api query-> request 1 queries the wrong endpoint.
Does anyone have an idea how to tackle this?
Best regards,
Danijoo
Been working at the Riot API challenge and found null pointer bug. Below is an example (in Scala though, but it translates fine):
val m: Match = //somehow retrieve a match
val participant: Participant = m.getParticipants()(0)
participant.getSummoner // This throws Null pointer
Here is the stack trace:
[error] (run-main-3) java.lang.NullPointerException
java.lang.NullPointerException
at com.robrua.orianna.type.core.match.Participant.getSummoner(Participant.java:164)
at RitoAkka$.featurizeParticipant(RitoAkka.scala:84)
at RitoAkka$$anonfun$5.apply(RitoAkka.scala:49)
at RitoAkka$$anonfun$5.apply(RitoAkka.scala:49)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245)
at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:245)
at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59)
at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:48)
at scala.collection.TraversableLike$class.map(TraversableLike.scala:245)
at scala.collection.AbstractTraversable.map(Traversable.scala:104)
at RitoAkka$.extractMatchFeatures(RitoAkka.scala:49)
at RitoAkka$$anonfun$18.apply(RitoAkka.scala:188)
at RitoAkka$$anonfun$18.apply(RitoAkka.scala:188)
at scala.collection.immutable.List.map(List.scala:273)
at RitoAkka$.main(RitoAkka.scala:188)
at RitoAkka.main(RitoAkka.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
I am using the most recent snapshot (might give a try to build/compiling master if that would help), but based on that error message, I looked https://github.com/robrua/Orianna/blob/master/src/com/robrua/orianna/type/core/match/Participant.java#L164
The debugger says that getPlayer
returns a null value. At this point, I have only briefly looked at the orianna source code so I don't have a good idea what is wrong, but will probably looking at it more later today. Any ideas in the meanwhile?
Hi, is there a way to get a summoner's solo queue rank and LP using your API?
I have the following code to get the masteries of a Participant.
List<MasteryRank> mr = participant.getMasteries();
for (int j = 0; j < mr.size(); j++) {
String mastery = mr.get(j).getMastery().getName();
int rank = mr.get(j).getMastery().getRanks();
System.out.println(mr.get(j).getMasteryID() + " " + rank);
}
The output is:
4133 1
4134 3
4141 1
4143 3
4144 1
4152 3
4154 1
4162 1
4211 2
4212 2
4213 2
4221 1
4222 3
4232 1
The rank
does not return the correct number of points the player put into his mastery page. Instead, it returns the maximum number of points for each mastery the player is using.
Also, shouldn't the code above include masteries that the summoner is not using and return zero for the getRank()?
I have a List<RuneCount>
called runeCount
.
Right now this code just displays the number and the name of a rune a summoner has. How would I gather the combined stats from the runes? (Like how much additional armor, ad, ap, etc. the player gets from his runes)
String text = "";
for (int i = 0; i < runeCount.size(); i++) {
text += runeCount.get(i).getRune().getName() + " " + runeCount.get(i).getCount() + "x \n";
}
Do I use runeCount.get(i).getRune().getStats()
?
AsyncRiotAPI.getCurrentGame() returns null and so handle() is never called
Good morning, last version of Orianna I used to get the time of the drakes and the nahors of a match i couldn't do it properly. I'm doing by the match.getTimeline().getFrames().get(j).getEvents().get(i).getParticipant().getTeam() method but the problem is I get the time, the monster type but not the team, it appears null. Would this be fixed on new version?
Thanks.
Any chance you can add the new queue ( TEAM_BUILDER_DRAFT_RANKED_5x5 ) to the QueueType?
Hi, I recently started using your library. I really like what you are doing with this, but I have one problem. There is no way for me to set the locale in the request. I want to support all the languages, regardless of which Region the user is playing on. Any chance you can add it? Even if it's just RiotApi.setLocale(), which will add the locale as a parameter to every call.
Please!
In your API, there are 70 different rune statistics, but in Riot's API documentation there are only 65.
As written in title, got an exception when trying to get a summoner game.
Happens when the summoner is offline, online or in-game.
By the way, i'd like to have the proper way to get a the properties of a game (game type, duration, etc)
Here is my code : http://pastebin.com/Gh3yJNqZ
And here is the output : Exception in thread "main" java.lang.NullPointerException
at com.robrua.orianna.type.dto.staticdata.Champion.getItemIDs(Champion.java:158)
at com.robrua.orianna.type.dto.staticdata.ChampionList.getItemIDs(ChampionList.java:125)
at com.robrua.orianna.api.core.StaticDataAPI.getChampions(StaticDataAPI.java:97)
at com.robrua.orianna.api.core.StaticDataAPI.getChampionsByID(StaticDataAPI.java:134)
at com.robrua.orianna.api.core.RiotAPI.getChampionsByID(RiotAPI.java:91)
at com.robrua.orianna.api.core.CurrentGameAPI.getCurrentGame(CurrentGameAPI.java:24)
at com.robrua.orianna.api.core.RiotAPI.getCurrentGame(RiotAPI.java:179)
at com.robrua.orianna.type.core.summoner.Summoner.getCurrentGame(Summoner.java:38)
at OriannaMain.main(OriannaMain.java:19)
Thank you in advance.
Good morning, you uploaded the new version of Orianna like 2 weeks ago. Does it have the new update of the new type of dragons? If not, will you upload it soon? I'm wondering if the API would
differentiate the diferents types of dragons.
Thanks.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.