mirror of
https://github.com/bloodmc/GriefDefender.git
synced 2025-02-08 00:31:37 +01:00
Fixed sponge claim migrator to find GP config directory via API (#130)
This commit is contained in:
parent
27c4b80954
commit
21a30b7984
@ -52,7 +52,6 @@
|
|||||||
import java.nio.channels.ReadableByteChannel;
|
import java.nio.channels.ReadableByteChannel;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.Paths;
|
|
||||||
import java.security.MessageDigest;
|
import java.security.MessageDigest;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -72,7 +71,6 @@ public class GDBootstrap {
|
|||||||
private Map<String, File> jarMap = new HashMap<>();
|
private Map<String, File> jarMap = new HashMap<>();
|
||||||
private List<String> relocateList = new ArrayList<>();
|
private List<String> relocateList = new ArrayList<>();
|
||||||
private static GDBootstrap instance;
|
private static GDBootstrap instance;
|
||||||
private static final String LIB_ROOT_PATH = "./config/griefdefender/lib/";
|
|
||||||
private static final String USER_AGENT = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75 Safari/535.7";
|
private static final String USER_AGENT = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75 Safari/535.7";
|
||||||
|
|
||||||
public static GDBootstrap getInstance() {
|
public static GDBootstrap getInstance() {
|
||||||
@ -101,6 +99,7 @@ public void onPreInit(GamePreInitializationEvent event) {
|
|||||||
this.getLogger().error("Resource " + bukkitJsonVersion + ".json is corrupted!. Please contact author for assistance.");
|
this.getLogger().error("Resource " + bukkitJsonVersion + ".json is corrupted!. Please contact author for assistance.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
final Path LIB_ROOT_PATH = instance.configPath.resolve("lib");
|
||||||
final Iterator<JSONObject> iterator = libraries.iterator();
|
final Iterator<JSONObject> iterator = libraries.iterator();
|
||||||
while (iterator.hasNext()) {
|
while (iterator.hasNext()) {
|
||||||
JSONObject lib = iterator.next();
|
JSONObject lib = iterator.next();
|
||||||
@ -109,8 +108,7 @@ public void onPreInit(GamePreInitializationEvent event) {
|
|||||||
final String path = (String) lib.get("path");
|
final String path = (String) lib.get("path");
|
||||||
final String relocate = (String) lib.get("relocate");
|
final String relocate = (String) lib.get("relocate");
|
||||||
final String url = (String) lib.get("url");
|
final String url = (String) lib.get("url");
|
||||||
final Path libPath = Paths.get(LIB_ROOT_PATH).resolve(path);
|
final Path libPath = LIB_ROOT_PATH.resolve(path);
|
||||||
final File file = libPath.toFile();
|
|
||||||
downloadLibrary(name, relocate, sha1, url, libPath);
|
downloadLibrary(name, relocate, sha1, url, libPath);
|
||||||
}
|
}
|
||||||
} catch (Throwable t) {
|
} catch (Throwable t) {
|
||||||
|
@ -39,7 +39,6 @@
|
|||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.nio.file.Path;
|
import java.nio.file.Path;
|
||||||
import java.nio.file.Paths;
|
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
import java.util.Iterator;
|
import java.util.Iterator;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
@ -58,25 +57,28 @@ public class GPSpongeMigrator {
|
|||||||
|
|
||||||
private static GPSpongeMigrator instance;
|
private static GPSpongeMigrator instance;
|
||||||
public PermissionService permissionService = GriefDefenderPlugin.getInstance().permissionService;
|
public PermissionService permissionService = GriefDefenderPlugin.getInstance().permissionService;
|
||||||
final Path GP_GLOBAL_PLAYER_DATA_PATH = Paths.get("config", "griefprevention", "GlobalPlayerData");
|
final Path GD_DATA_ROOT_PATH = GriefDefenderPlugin.getInstance().getConfigPath();
|
||||||
final Path GP_CLAIM_DATA_PATH = Paths.get("config", "griefprevention", "worlds");
|
final Path GD_GLOBAL_PLAYER_DATA_PATH = GD_DATA_ROOT_PATH.resolve("GlobalPlayerData");
|
||||||
final Path GD_DATA_ROOT_PATH = Paths.get("config", "griefdefender");
|
final Path GD_CLAIM_DATA_PATH = GD_DATA_ROOT_PATH.resolve("worlds");
|
||||||
|
final Path GP_DATA_ROOT_PATH = GD_DATA_ROOT_PATH.getParent().resolve("griefprevention");
|
||||||
|
final Path GP_GLOBAL_PLAYER_DATA_PATH = GP_DATA_ROOT_PATH.resolve("GlobalPlayerData");
|
||||||
|
final Path GP_CLAIM_DATA_PATH = GP_DATA_ROOT_PATH.resolve("worlds");
|
||||||
|
|
||||||
public void migrateData() {
|
public void migrateData() {
|
||||||
try {
|
try {
|
||||||
if (Files.exists(GP_GLOBAL_PLAYER_DATA_PATH)) {
|
if (Files.exists(GP_GLOBAL_PLAYER_DATA_PATH)) {
|
||||||
if (Files.isDirectory(GP_GLOBAL_PLAYER_DATA_PATH)) {
|
if (Files.isDirectory(GP_GLOBAL_PLAYER_DATA_PATH)) {
|
||||||
FileUtils.copyDirectory(GP_GLOBAL_PLAYER_DATA_PATH.toFile(), GD_DATA_ROOT_PATH.resolve("GlobalPlayerData").toFile(), true);
|
FileUtils.copyDirectory(GP_GLOBAL_PLAYER_DATA_PATH.toFile(), GD_GLOBAL_PLAYER_DATA_PATH.toFile(), true);
|
||||||
} else {
|
} else {
|
||||||
// Support symlinks
|
// Support symlinks
|
||||||
FileUtils.copyFile(GP_GLOBAL_PLAYER_DATA_PATH.toFile(), GD_DATA_ROOT_PATH.resolve("GlobalPlayerData").toFile(), true);
|
FileUtils.copyFile(GP_GLOBAL_PLAYER_DATA_PATH.toFile(), GD_GLOBAL_PLAYER_DATA_PATH.toFile(), true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
FileUtils.copyDirectory(GP_CLAIM_DATA_PATH.toFile(), GD_DATA_ROOT_PATH.resolve("worlds").toFile(), true);
|
FileUtils.copyDirectory(GP_CLAIM_DATA_PATH.toFile(), GD_CLAIM_DATA_PATH.toFile(), true);
|
||||||
} catch (IOException e1) {
|
} catch (IOException e1) {
|
||||||
e1.printStackTrace();
|
e1.printStackTrace();
|
||||||
}
|
}
|
||||||
final File dataPath = GD_DATA_ROOT_PATH.resolve("worlds").toFile();
|
final File dataPath = GD_CLAIM_DATA_PATH.toFile();
|
||||||
final File[] files = dataPath.listFiles();
|
final File[] files = dataPath.listFiles();
|
||||||
|
|
||||||
GriefDefenderPlugin.getInstance().executor.execute(() -> {
|
GriefDefenderPlugin.getInstance().executor.execute(() -> {
|
||||||
|
Loading…
Reference in New Issue
Block a user