mirror of
https://github.com/Minestom/Minestom.git
synced 2025-02-12 18:31:41 +01:00
Allow changing the extensions folder via a system property
This commit is contained in:
parent
0309d12540
commit
8b789e0f30
@ -7,6 +7,7 @@ import net.minestom.dependencies.maven.MavenRepository;
|
|||||||
import net.minestom.server.ServerProcess;
|
import net.minestom.server.ServerProcess;
|
||||||
import net.minestom.server.event.Event;
|
import net.minestom.server.event.Event;
|
||||||
import net.minestom.server.event.EventNode;
|
import net.minestom.server.event.EventNode;
|
||||||
|
import net.minestom.server.utils.PropertyUtils;
|
||||||
import net.minestom.server.utils.validate.Check;
|
import net.minestom.server.utils.validate.Check;
|
||||||
import org.jetbrains.annotations.ApiStatus;
|
import org.jetbrains.annotations.ApiStatus;
|
||||||
import org.jetbrains.annotations.NotNull;
|
import org.jetbrains.annotations.NotNull;
|
||||||
@ -39,7 +40,7 @@ public class ExtensionManager {
|
|||||||
private final Map<String, Extension> extensions = new LinkedHashMap<>();
|
private final Map<String, Extension> extensions = new LinkedHashMap<>();
|
||||||
private final Map<String, Extension> immutableExtensions = Collections.unmodifiableMap(extensions);
|
private final Map<String, Extension> immutableExtensions = Collections.unmodifiableMap(extensions);
|
||||||
|
|
||||||
private final File extensionFolder = new File("extensions");
|
private final File extensionFolder = new File(PropertyUtils.getString("minestom.extension.folder", "extensions"));
|
||||||
private final File dependenciesFolder = new File(extensionFolder, ".libs");
|
private final File dependenciesFolder = new File(extensionFolder, ".libs");
|
||||||
private Path extensionDataRoot = extensionFolder.toPath();
|
private Path extensionDataRoot = extensionFolder.toPath();
|
||||||
|
|
||||||
|
@ -1,6 +1,9 @@
|
|||||||
package net.minestom.server.utils;
|
package net.minestom.server.utils;
|
||||||
|
|
||||||
import org.jetbrains.annotations.ApiStatus;
|
import org.jetbrains.annotations.ApiStatus;
|
||||||
|
import org.jetbrains.annotations.Contract;
|
||||||
|
import org.jetbrains.annotations.NotNull;
|
||||||
|
import org.jetbrains.annotations.Nullable;
|
||||||
|
|
||||||
@ApiStatus.Internal
|
@ApiStatus.Internal
|
||||||
public final class PropertyUtils {
|
public final class PropertyUtils {
|
||||||
@ -15,4 +18,15 @@ public final class PropertyUtils {
|
|||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Contract("_, null -> null; _, !null -> !null")
|
||||||
|
public static String getString(@NotNull String name, @Nullable String defaultValue) {
|
||||||
|
final String value = System.getProperty(name);
|
||||||
|
|
||||||
|
if (value == null) {
|
||||||
|
return defaultValue;
|
||||||
|
} else {
|
||||||
|
return value;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user