An open API service indexing awesome lists of open source software.

https://github.com/sapphiremc/sapphire

Another Pufferfish fork
https://github.com/sapphiremc/sapphire

bukkit craftbukkit gradle java minecraft minecraft-api minecraft-server paper paper-fork pufferfish pufferfish-fork sapphire sapphire-api sapphiremc

Last synced: 3 months ago
JSON representation

Another Pufferfish fork

Awesome Lists containing this project

README

        

[downloads]: https://github.com/SapphireMC/Sapphire/releases/
[wiki]: https://github.com/SapphireMC/Sapphire/wiki/

# Sapphire

Another pufferfish fork

[Downloads][downloads] - [wiki (coming soon)][wiki]

## License
[![GPL-3.0-only License](https://img.shields.io/github/license/SapphireMC/Sapphire?&logo=github)](LICENSE)

## Plugin development

- We recommend using [gradle](https://gradle.org) with kotlin dsl as the build system for your plugin.

### API

```kotlin
repositories {
maven("https://repo.activmine.ru/public/")
// Other repositories
}
```
```kotlin
dependencies {
compileOnly("io.sapphiremc.sapphire:sapphire-api:1.20.4-R0.1-SNAPSHOT")
// Other dependencies
}
```

- Also includes all API provided by
[Pufferfish](https://github.com/pufferfish-gg/Pufferfish),
[Paper](https://github.com/PaperMC/Paper),
[Spigot](https://hub.spigotmc.org/stash/projects/SPIGOT/repos/spigot), and
[Bukkit](https://hub.spigotmc.org/stash/projects/SPIGOT/repos/bukkit).

### Dev bundle

```kotlin
plugins {
`java-library`
id("io.papermc.paperweight.userdev") version "1.5.15"
// Other plugins
}
```
```kotlin
repositories {
maven("https://repo.activmine.ru/public")
// Other repositories
}
```
```kotlin
dependencies {
paperweight.devBundle("io.sapphiremc.sapphire", "1.20.4-R0.1-SNAPSHOT")
// Other dependencies
}
```

- For more details see [paperweight test plugin](https://github.com/PaperMC/paperweight-test-plugin)

## Setting up and building

### Initial setup
- Run `./gradlew applyPatches` in the root directory

### Creating a patch
- Patches are effectively just commits in either `sapphire-api` or `sapphire-server`.
- To create one, just add a commit to either repo and run `./gradlew rebuildPatches`, and a patch will be placed in the `patches` folder.
- Modifying commits will also modify its corresponding patch file.

> See [CONTRIBUTING.md](CONTRIBUTING.md) for more detailed information.

### Compiling
- Use the command `./gradlew build` to build the API and server.
> Compiled JARs will be placed under `sapphire-api/build/libs` and `sapphire-server/build/libs`.

- To get a Paperclip jar, run `./gradlew renamedReobfPaperclipJar`.
- To get a Bundler jar, run `./gradlew createReobfBundlerJar`
>Compiled JAR (Paperclip or Bundler) will be placed under `build/libs/`

- To install the `sapphire-api` and `dev-bundle` dependencies to your local Maven repo, run `./gradlew publishToMavenLocal`