MavenLoaderAPI

A custom external dependency loader is prepended to easily reduce the package size.

2,43k

MavenLoaderAPI

MavenLoaderAPI

A custom external dependency loader is prepended to easily reduce the package size.

<div align=center> <img src="https://badges.moddingx.org/modrinth/downloads/mavenloader-api" alt=""> <img src="https://badges.moddingx.org/modrinth/versions/mavenloader-api" alt=""> <img src="https://badges.moddingx.org/curseforge/downloads/1104872" alt=""> <img src="https://badges.moddingx.org/curseforge/versions/1104872" alt=""> <img src="https://pluginbadges.glitch.me/api/v1/dl/MavenLoaderAPI+Spigot-limegreen.svg?spigot=mavenloaderapi.119660&bukkit=mavenloaderapi&github=LevelTranic/MavenLoader&style=for-the-badge" alt=""> <img src="https://img.shields.io/github/commit-activity/w/LevelTranic/MavenLoader?style=flat-square" alt=""> <img src="https://img.shields.io/github/downloads/LevelTranic/MavenLoader/total?style=flat-square" alt=""> <img src="https://img.shields.io/github/release-date/LevelTranic/MavenLoader?style=flat-square" alt=""> <img src="https://img.shields.io/github/v/release/LevelTranic/MavenLoader?style=flat-square" alt=""> </div>

Required

- Java 17+ - Velocity 3.3.0 ↔ latest (Optional) - BungeeCord 1.18 ↔ latest (Optional) - Spigot/Paper/Folia 1.18.2 ↔ latest (Optional)

Usage

1.4-SNAPSHOT introduced a repository whitelist mechanism to try to avoid some untrusted repositories from loading malicious dependencies.

Server

You need to add the following parameters to the Java startup parameters to enable it normally.

```bash --add-opens=java.base/java.net=ALL-UNNAMED ```

Then download MavenLoader and put it in the Server plugin directory. It is recommended to keep MavenLoader the latest version.

Please confirm whether the plugin that relies on MavenLoaderAPI loads trusted dependencies and pay attention to safety.

Developer

Docs in: DEVELOPER_DOCS

Updater API in: USE_UPDATER

Example in: MavenLoader-Example

Compatibility

- 1.2-SNAPSHOT: Implementing `maven.yml` - 1.4-SNAPSHOT: Implementing repository whitelisting - 1.5-SNAPSHOT: Support Bukkit - 1.6-SNAPSHOT (Coming soon): Support BungeeCord, PlugmanX. `maven.yml` support `platform`, `reference-load` keyword. Remove external API (now only allow maven.yml)

Config

```yaml enable_whitelist: true # Enable repository whitelist, default is true

repository whitelist list

whitelist: - https://repo.maven.apache.org/maven2 - https://repo.maven.apache.org/maven2 - https://oss.sonatype.org/content/groups/public/ - https://repository.jboss.org/nexus/content/groups/public - https://maven-central-asia.storage-download.googleapis.com/maven2/ - https://maven-central-eu.storage-download.googleapis.com/maven2/ - https://maven-central.storage-download.googleapis.com/maven2/ - https://jitpack.io - https://hub.spigotmc.org/nexus/content/repositories/snapshots/ - https://repo.papermc.io/repository/maven-public/ - https://repo.repsy.io/mvn/rdb/default updater: check: true source: github # Update Channel, Support: github, spigot, spiget ```

Statistics

- Velocity: https://bstats.org/plugin/velocity/MavenLoader/23396 - Spigot: https://bstats.org/plugin/bukkit/MavenLoader-Spigot/23501 - Bungee: https://bstats.org/plugin/bungeecord/MavenLoader-Bungee/23524

ADS