Skip to content

This Kotlin library contains a collection of modules that assist with the development of console applications and Minecraft plugins.

License

Notifications You must be signed in to change notification settings

Dans-Plugins/Ponder

Ponder

Description

This library contains a collection of modules that assist with the development of console applications and Minecraft plugins.

Projects

A list of projects is available on the wiki.

Support

For support, you can join our support discord server.

Experiencing a bug?

Please fill out a bug report here.

Example Application

An example of an application created with Ponder can be found here.

Example Spigot Plugin

An example of a Minecraft plugin created with Ponder can be found here.

Maven

repository

        <repository>
            <id>dansplugins.com</id>
            <url>https://repo.dansplugins.com/repository/maven-public/</url>
        </repository>

GitHub Packages

Packages are also available via GitHub Packages. To use them, add the following repository to your pom.xml:

        <repository>
            <id>github</id>
            <url>https://maven.pkg.github.com/Dans-Plugins/Ponder</url>
        </repository>

You'll need to authenticate with GitHub Packages. Add your GitHub username and a personal access token with read:packages scope to your ~/.m2/settings.xml:

<settings>
  <servers>
    <server>
      <id>github</id>
      <username>YOUR_GITHUB_USERNAME</username>
      <password>YOUR_GITHUB_TOKEN</password>
    </server>
  </servers>
</settings>

ponder-bukkit


        <dependency>
            <groupId>com.dansplugins</groupId>
            <artifactId>ponder-bukkit</artifactId>
            <version>2.0.0</version>
        </dependency>

ponder-cache


        <dependency>
            <groupId>com.dansplugins</groupId>
            <artifactId>ponder-cache</artifactId>
            <version>2.0.0</version>
        </dependency>

ponder-commands


        <dependency>
            <groupId>com.dansplugins</groupId>
            <artifactId>ponder-commands</artifactId>
            <version>2.0.0</version>
        </dependency>

Gradle

repository

repositories {
    maven {
        url 'https://repo.dansplugins.com/repository/maven-public/'
    }
}

GitHub Packages

Packages are also available via GitHub Packages. To use them with Gradle:

repositories {
    maven {
        url = uri("https://maven.pkg.github.com/Dans-Plugins/Ponder")
        credentials {
            username = project.findProperty("gpr.user") ?: System.getenv("GITHUB_ACTOR")
            password = project.findProperty("gpr.token") ?: System.getenv("GITHUB_TOKEN")
        }
    }
}

Add your credentials to ~/.gradle/gradle.properties:

gpr.user=YOUR_GITHUB_USERNAME
gpr.token=YOUR_GITHUB_TOKEN

Dependencies

dependencies {
    implementation 'com.dansplugins:ponder-bukkit:2.0.0'
    implementation 'com.dansplugins:ponder-cache:2.0.0'
    implementation 'com.dansplugins:ponder-commands:2.0.0'
}

Authors and acknowledgement

Name Main Contributions
Daniel Stephenson Creator
Callum wrote some methods that were used in AbstractPluginCommand and ApplicationCommand; contributed NMSAssistant and NMSVersion; improved ColorChecker; contributed ColorConverter; improved EventHandlerRegistry; improved UUIDChecker; improved ArgumentParser; contributed ConfigurationFile
Pasarus wrote code that was used in JsonWriterReader and UUIDChecker; contributed Pair
Caibinus wrote code that was used in BlockChecker
Deej Set up the javadocs
VoChiDanh Improved the BlockChecker and added the MaterialChecker
alyphen Generified types of maps, lists and sets across the project, massively overhauled the project and split it into three modules, introduced tests

Have you made a contribution and don't see yourself above? Please add your name and open a PR!

Project Status

This project is in active development.

πŸ“„ License

This project is licensed under the MIT License β€” see the LICENSE file for details.

Why MIT?
The MIT License is short, permissive, and widely understood. It allows anyone to use, modify, distribute, and even commercially exploit the software with minimal restrictions, as long as they include the original license and copyright notice.
We chose MIT to maximize adoption and flexibility, making it easy for individuals and organizations to integrate this project into their own work without legal complexity.