Skip to content

Commit c5edb05

Browse files
committed
Optimized greatly the dump system
Took 7 minutes
1 parent d0fd878 commit c5edb05

File tree

4 files changed

+26
-59
lines changed

4 files changed

+26
-59
lines changed

pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
<groupId>cc.synkdev</groupId>
88
<artifactId>SynkLibs</artifactId>
9-
<version>1.4</version>
9+
<version>1.4.1</version>
1010
<packaging>jar</packaging>
1111

1212
<name>SynkLibs</name>

src/main/java/cc/synkdev/synkLibs/bukkit/ReportCmd.java

+23-56
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
import org.bukkit.command.CommandSender;
1414
import org.bukkit.entity.Player;
1515
import org.bukkit.plugin.Plugin;
16+
import org.json.JSONArray;
1617
import org.json.JSONObject;
1718

1819
import java.io.BufferedReader;
@@ -21,8 +22,6 @@
2122
import java.io.OutputStream;
2223
import java.net.HttpURLConnection;
2324
import java.net.URL;
24-
import java.util.ArrayList;
25-
import java.util.List;
2625

2726
@CommandAlias("slreport|sldump|synklibsreport|synklibsdump")
2827
public class ReportCmd extends BaseCommand {
@@ -81,68 +80,36 @@ public void onReport(CommandSender sender) {
8180
}
8281

8382
private String getJsonString() {
84-
String s = "{\n" +
85-
" \"serverVersion\": \""+ Bukkit.getServer().getVersion()+ "\",\n" +
86-
" \"serverSoftware\": \""+ Bukkit.getServer().getBukkitVersion()+ "\",\n" +
87-
" \"operatingSystem\": \""+ System.getProperty("os.name")+" "+System.getProperty("os.version")+" "+ System.getProperty("os.arch")+ "\",\n" +
88-
" \"plugins\": [\n" +
89-
pluginsString() +
90-
" ],\n" +
91-
" \"additionalInfo\": {\n" +
92-
" \"online-mode\": \""+Bukkit.getServer().getOnlineMode()+"\"\n" +
93-
" },\n" +
94-
" \"configs\": [\n" +
95-
configsString() +
96-
" ],\n" +
97-
" }\n" +
98-
"}\n";
99-
return s;
100-
}
83+
JSONObject jsonObject = new JSONObject();
84+
jsonObject.put("serverVersion", Bukkit.getServer().getVersion());
85+
jsonObject.put("serverSoftware", Bukkit.getServer().getBukkitVersion());
86+
jsonObject.put("operatingSystem", System.getProperty("os.name") + " " + System.getProperty("os.version") + " " + System.getProperty("os.arch"));
87+
jsonObject.put("javaVersion", System.getProperty("java.version")+" "+ System.getProperty("java.vendor")+" "+System.getProperty("java.vm.name"));
10188

102-
private String pluginsString() {
103-
List<String> list = new ArrayList<>();
89+
JSONArray pluginsArray = new JSONArray();
10490
for (Plugin pl : Bukkit.getPluginManager().getPlugins()) {
105-
list.add("{\n" +
106-
" \"name\": \""+pl.getName()+"\",\n" +
107-
" \"version\": \""+pl.getDescription().getVersion()+"\"\n" +
108-
" }");
91+
JSONObject pluginObject = new JSONObject();
92+
pluginObject.put("name", pl.getName());
93+
pluginObject.put("version", pl.getDescription().getVersion());
94+
pluginsArray.put(pluginObject);
10995
}
96+
jsonObject.put("plugins", pluginsArray);
11097

111-
if (list.size() == 1) {
112-
return list.get(0);
113-
}
114-
StringBuilder sb = new StringBuilder();
115-
int index=0;
116-
for (int i = 0; i < list.size()-1; i++) {
117-
sb.append(list.get(i)).append(", \n");
118-
index = i;
119-
}
120-
sb.append(list.get(index+1));
121-
return sb.toString();
122-
}
123-
private String configsString() {
124-
List<String> list = new ArrayList<>();
98+
JSONObject additionalInfo = new JSONObject();
99+
additionalInfo.put("online-mode", Bukkit.getServer().getOnlineMode());
100+
jsonObject.put("additionalInfo", additionalInfo);
101+
102+
JSONArray configsArray = new JSONArray();
125103
for (Plugin pl : Bukkit.getPluginManager().getPlugins()) {
126104
if (pl.getDescription().getAuthors().contains("Synk")) {
127-
128-
list.add("{\n" +
129-
" \"name\": \""+pl.getName()+"\",\n" +
130-
" \"config\": \""+pl.getConfig().saveToString()+"\"\n" +
131-
" }");
105+
JSONObject configObject = new JSONObject();
106+
configObject.put("name", pl.getName());
107+
configObject.put("config", pl.getConfig().saveToString());
108+
configsArray.put(configObject);
132109
}
133-
134110
}
111+
jsonObject.put("configs", configsArray);
135112

136-
if (list.size() == 1) {
137-
return list.get(0);
138-
}
139-
StringBuilder sb = new StringBuilder();
140-
int index=0;
141-
for (int i = 0; i < list.size()-1; i++) {
142-
sb.append(list.get(i)).append(", \n");
143-
index = i;
144-
}
145-
sb.append(list.get(index+1));
146-
return sb.toString();
113+
return jsonObject.toString(2);
147114
}
148115
}

src/main/java/cc/synkdev/synkLibs/bukkit/SynkLibs.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public String name() {
4646

4747
@Override
4848
public String ver() {
49-
return "1.4";
49+
return "1.4.1";
5050
}
5151

5252
@Override

src/main/resources/plugin.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name: SynkLibs
2-
version: '1.4'
2+
version: '1.4.1'
33
main: cc.synkdev.synkLibs.bukkit.SynkLibs
44
api-version: '1.13'
55
authors: [ Synk, KingsMC ]

0 commit comments

Comments
 (0)