Skip to content

Commit e7095ef

Browse files
authored
Merge pull request #51 from xming-cn/main
Remove Hardcoded Data Source, custom data source support, Closes #50
2 parents 40adf1c + d16f7cd commit e7095ef

File tree

10 files changed

+13
-86
lines changed

10 files changed

+13
-86
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
11
/target/
22
/src/test/
3-
/.idea/
3+
.idea/

.idea/.gitignore

Lines changed: 0 additions & 5 deletions
This file was deleted.

.idea/compiler.xml

Lines changed: 0 additions & 14 deletions
This file was deleted.

.idea/discord.xml

Lines changed: 0 additions & 7 deletions
This file was deleted.

.idea/encodings.xml

Lines changed: 0 additions & 7 deletions
This file was deleted.

.idea/jarRepositories.xml

Lines changed: 0 additions & 30 deletions
This file was deleted.

.idea/misc.xml

Lines changed: 0 additions & 14 deletions
This file was deleted.

.idea/vcs.xml

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/main/java/ca/tweetzy/skulls/manager/SkullManager.java

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,8 @@
4646
import java.io.InputStreamReader;
4747
import java.net.URL;
4848
import java.nio.charset.StandardCharsets;
49+
import java.nio.file.Files;
50+
import java.nio.file.Paths;
4951
import java.util.*;
5052
import java.util.concurrent.ConcurrentHashMap;
5153
import java.util.stream.Collectors;
@@ -205,11 +207,13 @@ public void downloadHeads() {
205207
public List<Skull> performHeadDownload(boolean silentDownload) {
206208
final List<Skull> skulls = new ArrayList<>();
207209

208-
final String DOWNLOAD_URL = "https://raw.githubusercontent.com/Tweetzy/Data-Files/main/Skulls/skulls.json";
210+
final String DOWNLOAD_URL = Settings.SKULLS_DATA_SOURCE_URL.getString();
209211

210212
try {
211213
long start = System.nanoTime();
212-
final JsonArray json = getJsonFromUrl(DOWNLOAD_URL);
214+
final JsonArray json = DOWNLOAD_URL.startsWith("file://")
215+
? getJsonFromFile(DOWNLOAD_URL.substring(7))
216+
: getJsonFromUrl(DOWNLOAD_URL);
213217
json.forEach(jsonElement -> {
214218
final JsonObject jsonObject = jsonElement.getAsJsonObject();
215219
final BaseCategory category = BaseCategory.getById(replace(jsonObject.get("category").toString()));
@@ -253,6 +257,11 @@ private JsonArray getJsonFromUrl(final String url) throws IOException {
253257
return (JsonArray) parser.parse(builder.toString());
254258
}
255259

260+
private JsonArray getJsonFromFile(String filePath) throws IOException {
261+
String content = new String(Files.readAllBytes(Paths.get(filePath)));
262+
return JsonParser.parseString(content).getAsJsonArray();
263+
}
264+
256265
private String replace(String in) {
257266
return in.replace("\"", "");
258267
}

src/main/java/ca/tweetzy/skulls/settings/Settings.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@ public final class Settings extends FlightSettings {
3737
public static final ConfigEntry LANG = create("language", "english").withComment("Default language file");
3838
public static final ConfigEntry PREFIX = create("prefix", "<GRADIENT:DD5E89>&lSkulls</GRADIENT:fbc7d4>&r &8»").withComment("Prefix to be used in chat");
3939
public static final ConfigEntry CHARGE_FOR_HEADS = create("charge for heads", true).withComment("Should skulls charge users without permission for heads?");
40+
public static final ConfigEntry SKULLS_DATA_SOURCE_URL = create("skulls data source url", "https://raw.githubusercontent.com/Tweetzy/Data-Files/main/Skulls/skulls.json").withComment("Skulls data source, might be a mirror");
4041
public static final ConfigEntry ECONOMY = create("economy", "Vault").withComment("You can use Vault or Item");
4142
public static final ConfigEntry ITEM_ECONOMY_ITEM = create("item economy item", CompMaterial.GOLD_INGOT.name());
4243
public static final ConfigEntry MAIN_MENU_REQUIRES_NO_PERM = create("main menu requires no permission", true);

0 commit comments

Comments
 (0)