Skip to content

Commit b1f0cf8

Browse files
authored
Add files via upload
1 parent 836b5f4 commit b1f0cf8

14 files changed

Lines changed: 651 additions & 17 deletions
Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
package com.sn1pe2win.DestinyEntityObjects;
2+
3+
import com.google.gson.JsonObject;
4+
import com.sn1pe2win.core.DestinyEntity;
5+
import com.sn1pe2win.core.Response;
6+
import com.sn1pe2win.definitions.DestinyActivityDefinition;
7+
import com.sn1pe2win.definitions.MembershipType;
8+
9+
public class ActivityDetails extends DestinyEntity {
10+
11+
JsonObject object;
12+
13+
@Override
14+
public JsonObject getRawJson() {
15+
return object;
16+
}
17+
18+
@Override
19+
public void parse(JsonObject object) {
20+
this.object = object;
21+
}
22+
23+
public long getActivityHash() {
24+
return object.getAsJsonPrimitive("directorActivityHash").getAsLong();
25+
}
26+
27+
@SuppressWarnings("unchecked")
28+
public Response<DestinyActivityDefinition> getActivity() {
29+
return (Response<DestinyActivityDefinition>) new DestinyActivityDefinition(getActivityHash()).getAsResponse();
30+
}
31+
32+
/**Good for the pgcr*/ //TODO load pgcr from here
33+
public String getInstanceId() {
34+
return object.getAsJsonPrimitive("instanceId").getAsString();
35+
}
36+
37+
//TODO enum names
38+
public int getMode() {
39+
return object.getAsJsonPrimitive("mode").getAsInt();
40+
}
41+
42+
public int[] getModes() {
43+
return optionalIntArray(object.getAsJsonArray("modes"), new int[] {});
44+
}
45+
46+
public boolean isPrivate() {
47+
return object.getAsJsonPrimitive("isPrivate").getAsBoolean();
48+
}
49+
50+
public MembershipType getMembershipType() {
51+
return MembershipType.of(object.getAsJsonPrimitive("membershipType").getAsShort());
52+
}
53+
}
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
package com.sn1pe2win.DestinyEntityObjects;
2+
3+
import com.google.gson.JsonObject;
4+
import com.sn1pe2win.core.DestinyEntity;
5+
6+
public class ActivityStats extends DestinyEntity {
7+
JsonObject object;
8+
@Override
9+
public JsonObject getRawJson() {
10+
return object;
11+
}
12+
13+
@Override
14+
public void parse(JsonObject object) {
15+
this.object = object;
16+
}
17+
18+
/**This class only wraps the most common stats.
19+
* You can always get custom stats with this method*/
20+
public String getStatDisplayValue(String statId) {
21+
JsonObject stat = object.getAsJsonObject(statId);
22+
if(stat == null) return null;
23+
else {
24+
return stat.getAsJsonObject("basic").getAsJsonPrimitive("displayValue").getAsString();
25+
}
26+
}
27+
28+
/**This class only wraps the most common stats.
29+
* You can always get custom stats with this method*/
30+
public int getStatValue(String statId) {
31+
JsonObject stat = object.getAsJsonObject(statId);
32+
if(stat == null) return 0;
33+
else {
34+
return stat.getAsJsonObject("basic").getAsJsonPrimitive("value").getAsInt();
35+
}
36+
}
37+
38+
public int getDeaths() {
39+
return getStatValue("deaths");
40+
}
41+
42+
public int getKills() {
43+
return getStatValue("kills");
44+
}
45+
46+
public boolean completed() {
47+
return getStatValue("completed") == 1;
48+
}
49+
50+
public int getTimePlayedSeconds() {
51+
return getStatValue("timePlayedSeconds");
52+
}
53+
54+
public int getActivityDurationSeconds() {
55+
return getStatValue("activityDurationSeconds");
56+
}
57+
58+
//TODO wrap methods
59+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package com.sn1pe2win.DestinyEntityObjects;
2+
3+
import com.google.gson.JsonObject;
4+
import com.sn1pe2win.core.DestinyEntity;
5+
import com.sn1pe2win.definitions.MembershipType;
6+
7+
public class DestinyUserInfo extends DestinyEntity {
8+
9+
JsonObject object;
10+
11+
@Override
12+
public JsonObject getRawJson() {
13+
return object;
14+
}
15+
16+
@Override
17+
public void parse(JsonObject object) {
18+
this.object = object;
19+
}
20+
21+
public String getIconPath() {
22+
return object.getAsJsonPrimitive("iconPath").getAsString();
23+
}
24+
25+
public MembershipType getCrossSaveOverride() {
26+
return MembershipType.of(object.getAsJsonPrimitive("crossSaveOverride").getAsShort());
27+
}
28+
29+
public boolean isPublic() {
30+
return object.getAsJsonPrimitive("isPublic").getAsBoolean();
31+
}
32+
33+
public MembershipType getMembershipType() {
34+
return MembershipType.of(object.getAsJsonPrimitive("membershipType").getAsShort());
35+
}
36+
37+
public long getMembershipId() {
38+
return object.getAsJsonPrimitive("membershipId").getAsLong();
39+
}
40+
41+
public String getDisplayName() {
42+
return object.getAsJsonPrimitive("displayName").getAsString();
43+
}
44+
}
Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
package com.sn1pe2win.DestinyEntityObjects;
2+
3+
import com.google.gson.JsonObject;
4+
import com.sn1pe2win.core.DestinyEntity;
5+
import com.sn1pe2win.core.Response;
6+
import com.sn1pe2win.definitions.DestinyInventoryBucketDefinition;
7+
import com.sn1pe2win.definitions.DestinyInventoryItemDefinition;
8+
import com.sn1pe2win.definitions.OptionalValue;
9+
10+
public class InventoryItem extends DestinyEntity {
11+
12+
JsonObject object;
13+
14+
@Override
15+
public JsonObject getRawJson() {
16+
return object;
17+
}
18+
19+
@Override
20+
public void parse(JsonObject object) {
21+
this.object = object;
22+
}
23+
24+
public long getItemHash() {
25+
return object.getAsJsonPrimitive("itemHash").getAsLong();
26+
}
27+
28+
@SuppressWarnings("unchecked")
29+
public Response<DestinyInventoryItemDefinition> getItem() {
30+
return (Response<DestinyInventoryItemDefinition>) new DestinyInventoryItemDefinition(getItemHash()).getAsResponse();
31+
}
32+
33+
@OptionalValue
34+
public String getItemInstanceId() {
35+
return optionalString(object.getAsJsonPrimitive("itemInstanceId"), "");
36+
}
37+
38+
public int getQuantity() {
39+
return object.getAsJsonPrimitive("quantity").getAsInt();
40+
}
41+
42+
/**@see DestinyInventoryItemDefinition.BIND_STATUS_NOT_BOUND...*/
43+
public int getBindStatus() {
44+
return object.getAsJsonPrimitive("bindStatus").getAsInt();
45+
}
46+
47+
/**@see DestinyInventoryItemDefinition.ITEM_LOCATION_INVENTORY...*/
48+
public int getLocation() {
49+
return object.getAsJsonPrimitive("location").getAsInt();
50+
}
51+
52+
public long getBucketHash() {
53+
return object.getAsJsonPrimitive("bucketHash").getAsLong();
54+
}
55+
56+
@SuppressWarnings("unchecked")
57+
public Response<DestinyInventoryBucketDefinition> getBucket() {
58+
return (Response<DestinyInventoryBucketDefinition>) new DestinyInventoryBucketDefinition(getBucketHash()).getAsResponse();
59+
}
60+
61+
public int getTransferstatus() {
62+
return object.getAsJsonPrimitive("transferStatus").getAsInt();
63+
}
64+
65+
public boolean isLockable() {
66+
return object.getAsJsonPrimitive("lockable").getAsBoolean();
67+
}
68+
69+
public int getState() {
70+
return object.getAsJsonPrimitive("state").getAsInt();
71+
}
72+
73+
public int getDismantlePermission() {
74+
return object.getAsJsonPrimitive("dismantlePermission").getAsInt();
75+
}
76+
77+
public boolean isWrapper() {
78+
return object.getAsJsonPrimitive("isWrapper").getAsBoolean();
79+
}
80+
81+
@OptionalValue
82+
/**For some weird reason sometimes not present. Returns 0 anyways*/
83+
public int getVersionNumber() {
84+
return optionalInt(object.getAsJsonPrimitive("versionNumber"), 0);
85+
}
86+
87+
@OptionalValue
88+
/**Ornaments*/
89+
public long getOverrideStyleItemHash() {
90+
return optionalLong(object.getAsJsonPrimitive("overrideStyleItemHash"), 0);
91+
}
92+
93+
@SuppressWarnings("unchecked")
94+
@OptionalValue
95+
/**Ornaments*/
96+
public Response<DestinyInventoryItemDefinition> getOverrideStyle() {
97+
if(getOverrideStyleItemHash() != 0)
98+
return (Response<DestinyInventoryItemDefinition>) new DestinyInventoryItemDefinition(getOverrideStyleItemHash()).getAsResponse();
99+
else return new Response<DestinyInventoryItemDefinition>(null, 404, "NotFound", "Value not present. This item may not have any ornaments equipped.", 0);
100+
}
101+
}
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
package com.sn1pe2win.DestinyEntityObjects;
2+
3+
import com.google.gson.JsonObject;
4+
import com.sn1pe2win.core.DestinyEntity;
5+
import com.sn1pe2win.core.Response;
6+
import com.sn1pe2win.definitions.DestinyClassDefinition;
7+
import com.sn1pe2win.definitions.DestinyGenderDefinition;
8+
import com.sn1pe2win.definitions.DestinyInventoryItemDefinition;
9+
import com.sn1pe2win.definitions.DestinyRaceDefinition;
10+
11+
public class PGCRPlayerEntry extends DestinyEntity {
12+
13+
public class PGCRPlayer extends DestinyEntity {
14+
JsonObject object;
15+
16+
@Override
17+
public JsonObject getRawJson() {
18+
return object;
19+
}
20+
21+
@Override
22+
public void parse(JsonObject object) {
23+
this.object = object;
24+
}
25+
26+
public DestinyUserInfo getDestinyUserInfo() {
27+
DestinyUserInfo u = new DestinyUserInfo();
28+
u.parse(object.getAsJsonObject("destinyUserInfo"));
29+
return u;
30+
}
31+
32+
public String getCharacterClassReadable() {
33+
return object.getAsJsonPrimitive("characterClass").getAsString();
34+
}
35+
36+
public long getDestinyClassHash() {
37+
return object.getAsJsonPrimitive("classHash").getAsLong();
38+
}
39+
40+
@SuppressWarnings("unchecked")
41+
public Response<DestinyClassDefinition> getDestinyClass() {
42+
return (Response<DestinyClassDefinition>) new DestinyClassDefinition(getDestinyClassHash()).getAsResponse();
43+
}
44+
45+
public long getRaceHash() {
46+
return object.getAsJsonPrimitive("raceHash").getAsLong();
47+
}
48+
49+
@SuppressWarnings("unchecked")
50+
public Response<DestinyRaceDefinition> getRace() {
51+
return (Response<DestinyRaceDefinition>) new DestinyRaceDefinition(getRaceHash()).getAsResponse();
52+
}
53+
54+
public long getGenderHash() {
55+
return object.getAsJsonObject("genderHash").getAsLong();
56+
}
57+
58+
@SuppressWarnings("unchecked")
59+
public Response<DestinyGenderDefinition> getGender() {
60+
return (Response<DestinyGenderDefinition>) new DestinyGenderDefinition(getGenderHash()).getAsResponse();
61+
}
62+
63+
public int getCharacterLevel() {
64+
return object.getAsJsonPrimitive("characterLevel").getAsInt();
65+
}
66+
67+
public int getLightlevel() {
68+
return object.getAsJsonPrimitive("lightLevel").getAsInt();
69+
}
70+
71+
public long getEmblemHash() {
72+
return object.getAsJsonPrimitive("emblemHash").getAsLong();
73+
}
74+
75+
@SuppressWarnings("unchecked")
76+
public Response<DestinyInventoryItemDefinition> getEmblemAsItem() {
77+
return (Response<DestinyInventoryItemDefinition>) new DestinyInventoryItemDefinition(getEmblemHash()).getAsResponse();
78+
}
79+
}
80+
81+
JsonObject object;
82+
83+
@Override
84+
public JsonObject getRawJson() {
85+
return object;
86+
}
87+
88+
@Override
89+
public void parse(JsonObject object) {
90+
this.object = object;
91+
}
92+
93+
public int getStanding() {
94+
return object.getAsJsonPrimitive("standing").getAsInt();
95+
}
96+
97+
public int getScore() {
98+
return object.getAsJsonObject("score").getAsJsonObject("basic").getAsJsonPrimitive("value").getAsInt();
99+
}
100+
101+
public PGCRPlayer getPlayerInfo() {
102+
PGCRPlayer p = new PGCRPlayer();
103+
p.parse(object.getAsJsonObject("player"));
104+
return p;
105+
}
106+
107+
public long getCharacterId() {
108+
return object.getAsJsonPrimitive("characterId").getAsLong();
109+
}
110+
111+
public ActivityStats getStats() {
112+
ActivityStats a = new ActivityStats();
113+
a.parse(object.getAsJsonObject("values"));
114+
return a;
115+
}
116+
117+
//TODO do "extended"
118+
}

0 commit comments

Comments
 (0)