Skip to content

Commit a97bbf2

Browse files
authored
Merge pull request #2 from dec4234/dec4234-patch-1
New Updates
2 parents 7b9e575 + d69b793 commit a97bbf2

File tree

11 files changed

+95
-2
lines changed

11 files changed

+95
-2
lines changed
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package material.stats;
2+
3+
import com.google.gson.JsonObject;
4+
import utils.HttpUtils;
5+
6+
public class Activity {
7+
8+
HttpUtils hu = new HttpUtils();
9+
String activityId;
10+
JsonObject jo;
11+
12+
public Activity(String activityId) {
13+
this.activityId = activityId;
14+
jo = hu.urlRequestGET("https://www.bungie.net/Platform/Destiny2/Stats/PostGameCarnageReport/" + activityId + "/");
15+
}
16+
17+
public JsonObject getJsonObject() {
18+
return jo;
19+
}
20+
}

JavaDestinyAPI/src/main/java/material/user/BungieUser.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public class BungieUser {
3737
public BungieUser(String bungieMembershipID) {
3838
this.bungieMembershipID = bungieMembershipID;
3939

40-
jo = hu.urlRequestGET("https://www.bungie.net/Platform/Destiny2/3/Profile/" + bungieMembershipID + "/LinkedProfiles/?components=200");
40+
jo = hu.urlRequestGET("https://www.bungie.net/Platform/Destiny2/-1/Profile/" + bungieMembershipID + "/LinkedProfiles/?components=200");
4141
assignValues();
4242
}
4343

@@ -105,7 +105,7 @@ private void assignValues() {
105105
public String getIconPath() { return iconPath; }
106106

107107
/**
108-
* Currently not working
108+
* Gets the characters that are attached to this bungieuser
109109
*/
110110
public List<Character> getCharacters() {
111111
if(clan != null) return characters;
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
package material.user;
2+
3+
import com.google.gson.JsonObject;
4+
import utils.HttpUtils;
5+
6+
import java.text.DecimalFormat;
7+
import java.text.NumberFormat;
8+
9+
public class UserStats {
10+
11+
HttpUtils hu = new HttpUtils();
12+
BungieUser bungieUser;
13+
Character character;
14+
JsonObject jo;
15+
JsonObject allPve;
16+
DecimalFormat df = new DecimalFormat("##.00");
17+
18+
private int activitiesCleared, activitiesEntered, assists, totalKillDistance, kills, deaths;
19+
private double pgaAssits, pgaKills, averageKillDistance, pgaSecondsPlayed, pgaDeaths;
20+
private long secondsPlayed;
21+
22+
/**
23+
* Gets stats for this user's entire account
24+
*/
25+
public UserStats(BungieUser bungieUser) {
26+
this.bungieUser = bungieUser;
27+
jo = hu.urlRequestGET("https://www.bungie.net/Platform/Destiny2/" + bungieUser.getMembershipType() + "/Account/" + bungieUser.getBungieMembershipID() + "/Stats/");
28+
allPve = jo.getAsJsonObject("allPve").getAsJsonObject("allTime");
29+
assignValues();
30+
}
31+
32+
/**
33+
* Gets stats for this user's specific character
34+
*/
35+
public UserStats(BungieUser bungieUser, Character character) {
36+
this.bungieUser = bungieUser;
37+
jo = hu.urlRequestGET("https://www.bungie.net/Platform/Destiny2/" + bungieUser.getMembershipType() + "/Account/" + bungieUser.getBungieMembershipID() + "/Character/" + character.getCharacterID() + "/Stats/").getAsJsonObject("Response").getAsJsonObject("mergedAllCharacters").getAsJsonObject("results");
38+
allPve = jo.getAsJsonObject("allPve").getAsJsonObject("allTime");
39+
assignValues();
40+
}
41+
42+
private void assignValues() {
43+
activitiesCleared = getBasicPVE("activitiesCleared").get("value").getAsInt();
44+
activitiesEntered = getBasicPVE("activitiesEntered").get("value").getAsInt();
45+
assists = getBasicPVE("assists").getAsJsonObject("value").getAsInt();
46+
pgaAssits = getPGAPVE("assists").get("displayValue").getAsDouble();
47+
totalKillDistance = getBasicPVE("totalKillDistance").get("value").getAsInt();
48+
kills = getBasicPVE("kills").get("value").getAsInt();
49+
pgaKills = getPGAPVE("kills").get("displayValue").getAsDouble();
50+
averageKillDistance = getBasicPVE("averageKillDistance").get("displayValue").getAsDouble();
51+
secondsPlayed = getBasicPVE("secondsPlayed").get("value").getAsLong();
52+
pgaSecondsPlayed = Double.parseDouble(df.format(getPGAPVE("secondsPlayed").get("value").getAsDouble()));
53+
deaths = getBasicPVE("deaths").get("value").getAsInt();
54+
pgaDeaths = Double.parseDouble(df.format(getPGAPVE("deaths").get("value").getAsDouble()));
55+
}
56+
57+
public double getPgaSecondsPlayed() {
58+
return pgaSecondsPlayed;
59+
}
60+
61+
public JsonObject getJsonObject() {
62+
return jo;
63+
}
64+
65+
private JsonObject getBasicPVE(String name) {
66+
return allPve.getAsJsonObject(name).getAsJsonObject("basic");
67+
}
68+
69+
private JsonObject getPGAPVE(String name) {
70+
return allPve.getAsJsonObject(name).getAsJsonObject("pga");
71+
}
72+
}

JavaDestinyAPI/src/main/java/utils/HttpUtils.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@ public JsonObject urlRequestGET(String url) {
4141
CompletableFuture<String> response = client.sendAsync(request, HttpResponse.BodyHandlers.ofString()).thenApplyAsync(HttpResponse::body);
4242
JsonElement parse = null;
4343
try {
44+
System.out.println(response.get());
4445
parse = new JsonParser().parse(response.get());
4546
} catch (InterruptedException | ExecutionException e) {
4647
e.printStackTrace();
65 Bytes
Binary file not shown.
295 Bytes
Binary file not shown.
210 Bytes
Binary file not shown.
1.21 KB
Binary file not shown.
1 Byte
Binary file not shown.
3.6 KB
Binary file not shown.

0 commit comments

Comments
 (0)