Skip to content

Commit 5a7ec3a

Browse files
author
wuliao97
committed
2.0.0
1 parent e3ee4a5 commit 5a7ec3a

File tree

15 files changed

+325
-15
lines changed

15 files changed

+325
-15
lines changed

pom.xml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
<version>2.13.3</version>
2323
</dependency>
2424

25-
2625
<dependency>
2726
<groupId>com.fasterxml.jackson.core</groupId>
2827
<artifactId>jackson-databind</artifactId>

readme.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
<div align="center"><h1>Star rail API with Java</h1></div>
2+
<div align="center">VERSION 1.0.0</div>
3+
14
# Requirements
25
- jackson-core
36
- jackson-databind
@@ -136,4 +139,4 @@ Level: 80
136139
137140
Process finished with exit code 0
138141
139-
```
142+
```

src/main/java/org/API/core/jsonObject.java renamed to src/main/java/org/API/core/JsonObject.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import java.util.List;
44

5-
public class jsonObject {
5+
public class JsonObject {
66

77
public Player player;
88
public static class Player {

src/main/java/org/API/core/Languages.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,3 @@ public enum Languages {
1515
th,
1616
vi
1717
}
18-

src/main/java/org/API/core/MihomoAPI.java

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
package org.API.core;
22

3-
import com.fasterxml.jackson.core.TreeNode;
43
import com.fasterxml.jackson.databind.DeserializationFeature;
54
import com.fasterxml.jackson.databind.ObjectMapper;
6-
import com.fasterxml.jackson.databind.util.JSONPObject;
75
import org.json.JSONObject;
86

9-
import java.io.DataInput;
107
import java.io.IOException;
118
import java.net.URI;
129
import java.net.http.HttpClient;
@@ -60,12 +57,12 @@ private JSONObject connect() throws IOException, InterruptedException {
6057
return new JSONObject(response.body());
6158
}
6259

63-
public jsonObject getResult() throws IOException, InterruptedException {
60+
public JsonObject getResult() throws IOException, InterruptedException {
6461
String connect = connect().toString();
6562
ObjectMapper objectMapper = new ObjectMapper();
6663

6764
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
68-
return objectMapper.readValue(connect, jsonObject.class);
65+
return objectMapper.readValue(connect, JsonObject.class);
6966
}
7067

7168
public String getIconUrl(final String icon) {
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package org.API.utils;
2+
3+
import org.API.utils.extract.*;
4+
import org.API.core.JsonObject;
5+
6+
public class Utils {
7+
public static int extractHP(final JsonObject.Characters character) {
8+
return (int) new ExtractHP(character).TotalValue();
9+
}
10+
11+
public static int extractATK(final JsonObject.Characters character) {
12+
return (int) new ExtractATK(character).TotalValue();
13+
}
14+
15+
public static int extractDEF(final JsonObject.Characters character) {
16+
return (int) new ExtractDEF(character).TotalValue();
17+
}
18+
19+
public static int extractSPD(final JsonObject.Characters character) {
20+
return (int) new ExtractSPD(character).TotalValue();
21+
}
22+
23+
24+
public static double extractCritRate(final JsonObject.Characters character) {
25+
return new ExtractCritRate(character).TotalValue();
26+
}
27+
28+
public static double extractCritDmg(final JsonObject.Characters character) {
29+
return new ExtractCritDmg(character).TotalValue();
30+
}
31+
32+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package org.API.utils.extract;
2+
3+
import org.API.core.JsonObject;
4+
import org.API.utils.extract.core.Extract;
5+
6+
public class ExtractATK implements Extract {
7+
private final JsonObject.Characters character;
8+
9+
public ExtractATK(JsonObject.Characters character) {
10+
this.character = character;
11+
}
12+
13+
@Override
14+
public double TotalValue() {
15+
return this.status() + this.relic();
16+
}
17+
18+
@Override
19+
public double status() {
20+
for (final var i : this.character.attributes) {
21+
if (!i.field.equals("atk")) continue;
22+
return i.value;
23+
}
24+
return 0.;
25+
}
26+
27+
@Override
28+
public double weapon() {
29+
return this.character.light_cone.attributes.get(1).value;
30+
}
31+
32+
@Override
33+
public double relic() {
34+
for (final var i : this.character.additions) {
35+
if (!i.field.equals("atk")) continue;
36+
return i.value;
37+
}
38+
return 0.;
39+
}
40+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package org.API.utils.extract;
2+
3+
import org.API.core.JsonObject;
4+
import org.API.utils.extract.core.Extract;
5+
6+
public class ExtractCritDmg implements Extract {
7+
private final JsonObject.Characters character;
8+
9+
public ExtractCritDmg(JsonObject.Characters character) {
10+
this.character = character;
11+
}
12+
13+
@Override
14+
public double TotalValue() {
15+
return this.status() + this.relic();
16+
}
17+
18+
@Override
19+
public double status() {
20+
for (final var i : this.character.additions) {
21+
if (!i.field.equals("crit_dmg")) continue;
22+
return i.value;
23+
}
24+
return 0.;
25+
}
26+
27+
@Override
28+
public double weapon() {
29+
JsonObject.Characters.LightCone.Properties properties = this.character.light_cone.properties.get(0);
30+
return properties.field.equals("crit_dmg") ? properties.value : 0;
31+
}
32+
33+
@Override
34+
public double relic() {
35+
for (final var i : this.character.additions) {
36+
if (!i.field.equals("crit_rate")) continue;
37+
return i.value;
38+
}
39+
return 0.;
40+
}
41+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
package org.API.utils.extract;
2+
3+
import org.API.core.JsonObject;
4+
import org.API.utils.extract.core.Extract;
5+
6+
public class ExtractCritRate implements Extract {
7+
private final JsonObject.Characters character;
8+
9+
public ExtractCritRate(JsonObject.Characters character) {
10+
this.character = character;
11+
}
12+
13+
@Override
14+
public double TotalValue() {
15+
return this.status() + this.relic();
16+
}
17+
18+
@Override
19+
public double status() {
20+
for (final var i : this.character.attributes) {
21+
if (!i.field.equals("crit_rate")) continue;
22+
return i.value;
23+
}
24+
return 0.;
25+
}
26+
27+
@Override
28+
public double weapon() {
29+
JsonObject.Characters.LightCone.Properties properties = this.character.light_cone.properties.get(0);
30+
return properties.field.equals("crit_rate") ? properties.value : 0;
31+
}
32+
33+
@Override
34+
public double relic() {
35+
for (final var i : this.character.additions) {
36+
if (!i.field.equals("crit_dmg")) continue;
37+
return i.value;
38+
}
39+
return 0.;
40+
}
41+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package org.API.utils.extract;
2+
3+
import org.API.core.JsonObject;
4+
import org.API.utils.extract.core.Extract;
5+
6+
public class ExtractDEF implements Extract {
7+
private final JsonObject.Characters character;
8+
9+
public ExtractDEF(JsonObject.Characters character) {
10+
this.character = character;
11+
}
12+
13+
@Override
14+
public double TotalValue() {
15+
return this.status() + this.relic();
16+
}
17+
18+
@Override
19+
public double status() {
20+
for (final var i : this.character.additions) {
21+
if (!i.field.equals("def")) continue;
22+
return i.value;
23+
}
24+
return 0.;
25+
}
26+
27+
@Override
28+
public double weapon() {
29+
return this.character.light_cone.attributes.get(2).value;
30+
}
31+
32+
@Override
33+
public double relic() {
34+
for (final var i : this.character.additions) {
35+
if (!i.field.equals("def")) continue;
36+
return i.value;
37+
}
38+
return 0.;
39+
}
40+
}

0 commit comments

Comments
 (0)