Skip to content

VolanDeMor1/JavaPaper

Repository files navigation

JavaPaperAPI

Simple Kotlin/Java Paper API implementation

JitPack Downloads Discord

Kotlin Gradle

Installation

Maven

<repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
</repository>
<dependency>
    <groupId>com.github.VolanDeMor1</groupId>
    <artifactId>JavaPaper</artifactId>
    <version>VERSION</version>
</dependency>

Gradle Kotlin

maven("https://jitpack.io")
implementation("com.github.VolanDeMor1:JavaPaper:VERSION")

Gradle Groovy

maven { url 'https://jitpack.io' }
implementation 'com.github.VolanDeMor1:JavaPaper:VERSION'



Usage

Kotlin

val javaPaper = JavaPaper()

runBlocking {
    // Getting information about all PaperMC projects
    for (projectType in javaPaper.projects().projects) {
        val project = javaPaper.project(projectType)
        println(project.projectType) // OUTPUT: PAPER
        println(project.projectName) // OUTPUT: Paper
        println(project.versionGroups.joinToString()) // OUTPUT: 1.8, ... 1.19, 1.20
        println(project.versions.joinToString()) // OUTPUT: 1.8.8, ... 1.19.3, 1.19.4, 1.20
    }
    
    // Getting all Paper builds for Minecraft 1.20
    println(
        javaPaper.project(ProjectType.PAPER)
            .version("1.20")
            .buildIds.joinToString()
    ) // OUTPUT: 1, 2, 3, 4 ....
    
    // Download the latest Paper build for Minecraft 1.20 to downloads folder
    val build = paper.latestBuild(ProjectType.PAPER, "1.20")
    println("Downloading build ${build.id}")
    build.downloadAutoName(Path.of("downloads"))
        // OPTIONAL START
        .percentage { percent, speed -> 
            println("Downloaded $percent%... (Speed: $speed mb/s)")
        }
        .after {
            println("Downloaded successfully!")
        }
        // OPTIONAL END
        .start() // Starts download
}

About

Java/Kotlin Paper API implementation

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Languages