https://github.com/404Setup/MavenLoaderAPI
A custom external dependency loader is prepended to easily reduce the package size.
https://github.com/404Setup/MavenLoaderAPI
bukkiit dependency folia library library-loader maven minecraft paper plugin purpur shreddedpaper spigot tools velocity
Last synced: 10 months ago
JSON representation
A custom external dependency loader is prepended to easily reduce the package size.
- Host: GitHub
- URL: https://github.com/404Setup/MavenLoaderAPI
- Owner: LevelTranic
- License: apache-2.0
- Created: 2024-09-17T15:29:29.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-10-19T12:47:00.000Z (over 1 year ago)
- Last Synced: 2024-10-20T10:40:19.691Z (over 1 year ago)
- Topics: bukkiit, dependency, folia, library, library-loader, maven, minecraft, paper, plugin, purpur, shreddedpaper, spigot, tools, velocity
- Language: Java
- Homepage: https://www.spigotmc.org/resources/mavenloaderapi.119660/
- Size: 152 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# MavenLoader
A custom external dependency loader is prepared to easily reduce the package size.
I consider it just an experimental project and not a good solution, so you should not use it, and my subsequent works will not use MavenLoaderAPI as a dependency.
## Required
- Java 17+
- Velocity 3.3.0 ↔ latest (Optional)
- BungeeCord 1.18 ↔ latest (Optional)
- Paper/Folia 1.18.2 ↔ latest (Optional)
## Test Information
Versions starting from 1.18.2 should work fine.
if you have problems, please open an issues and give me the log and your environment information.
- Java 23 (Specified as 21 in Spigot and BungeeCord)
- Folia 1.21.1 latest
- ShreddedPaper 1.20.6 latest
- BungeeCord 1.21 a89cf5f:1869
- Velocity 3.3.0-SNAPSHOT git-2016d148-b436
## Download
All places use the same build pack, I just left these links to let you know I'm only releasing it in these places.
- **Github**: https://github.com/LevelTranic/MavenLoader/releases
- **Spigot**: https://www.spigotmc.org/resources/mavenloaderapi.119660/
- **CurseForge**: https://www.curseforge.com/minecraft/bukkit-plugins/mavenloaderapi
- **Modrinth**: https://modrinth.com/plugin/mavenloader-api
- **Hangar**: https://hangar.papermc.io/Tranic/MavenLoaderAPI
## 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](DEVELOPER_DOCS.md)
Example in: [MavenLoader-Example](https://github.com/LevelTranic/MavenLoader-Example)
## 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
update_check: true
```
## Statistics
- Velocity: https://bstats.org/plugin/velocity/MavenLoader/23396
- Paper: https://bstats.org/plugin/bukkit/MavenLoader-Spigot/23501
- Bungee: https://bstats.org/plugin/bungeecord/MavenLoader-Bungee/23524