Configuring Library
Quark provides platform-specific library managers that handle dependency loading for different Minecraft server platforms. Each platform has its own manager class that you'll need to initialize in your plugin.
public class BukkitTestPlugin extends JavaPlugin {
private BukkitLibraryManager libraryManager;
@Override
public void onLoad() {
libraryManager = new BukkitLibraryManager(this);
libraryManager.addGoogleMavenCentralMirror();
libraryManager.loadDependency("com.google.code.gson", "gson", "2.10.1");
}
@Override
public void onDisable() {
if (libraryManager != null) {
libraryManager.close();
}
}
}
public class PaperTestPlugin extends JavaPlugin {
private PaperLibraryManager libraryManager;
@Override
public void onLoad() {
libraryManager = new PaperLibraryManager(this);
libraryManager.addGoogleMavenCentralMirror();
libraryManager.loadDependency("com.google.code.gson", "gson", "2.10.1");
}
@Override
public void onDisable() {
if (libraryManager != null) {
libraryManager.close();
}
}
}
public class BungeeTestPlugin extends Plugin {
private BungeeLibraryManager libraryManager;
@Override
public void onLoad() {
libraryManager = new BungeeLibraryManager(this);
libraryManager.addGoogleMavenCentralMirror();
libraryManager.loadDependency("com.google.code.gson", "gson", "2.10.1");
}
@Override
public void onDisable() {
if (libraryManager != null) {
libraryManager.close();
}
}
}
@Plugin(id = "velocity-test-plugin", name = "Velocity Test Plugin", version = "1.0.0")
public class VelocityTestPlugin {
private final ProxyServer server;
private final Logger logger;
private final Path dataDirectory;
private final PluginManager pluginManager;
private VelocityLibraryManager<VelocityTestPlugin> libraryManager;
@Inject
public VelocityTestPlugin(ProxyServer server, Logger logger, @DataDirectory Path dataDirectory, PluginManager pluginManager) {
this.server = server;
this.logger = logger;
this.dataDirectory = dataDirectory;
this.pluginManager = pluginManager;
}
@Subscribe
public void onProxyInitialization(ProxyInitializeEvent event) {
libraryManager = new VelocityLibraryManager<>(this, logger, dataDirectory, pluginManager);
libraryManager.addGoogleMavenCentralMirror();
libraryManager.loadDependency("com.google.code.gson", "gson", "2.10.1");
}
@Subscribe
public void onProxyShutdown(ProxyShutdownEvent event) {
if (libraryManager != null) {
libraryManager.close();
}
}
}
Edit on GitHub
Last updated on