diff --git a/README.md b/README.md
index e4c447c..e590979 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,8 @@
# DesertWell
[![Discord](https://img.shields.io/discord/818135932103557162?color=7289da&logo=discord)](https://discord.gg/tVYhJfyDWG)
-[![](https://jitpack.io/v/net.william278/DesertWell.svg)](https://jitpack.io/#net.william278/DesertWell)
+[![JitPack](https://jitpack.io/v/net.william278/DesertWell.svg)](https://jitpack.io/#net.william278/DesertWell)
-DesertWell is a simple library providing various utilities to aid Minecraft plugin development. Requires Java 11+.
+**DesertWell** is a simple library providing various utilities to aid Minecraft plugin development on Adventure platforms. Requires Java 11+.
![Example of an about menu](images/about-menu-screenshot.png)
@@ -10,33 +10,36 @@ DesertWell is a simple library providing various utilities to aid Minecraft plug
### About menus
`AboutMenu.class` allows for the generation of plugin about menus, as seen above.
-To create an about menu, use `AboutMenu#create(title)` with the resource name, then use the various builder methods to
-build out the menu.
+To create an about menu, use `AboutMenu#create(title)` with the resource name, then use the various builder methods to build out the menu.
-Code snippet
+Displaying an AboutMenu
```java
public class ExamplePlugin extends JavaPlugin {
-
+
// Displays the about menu to the player and logs it to console
public void showAboutMenu(Player player) {
- final AboutMenu menu = AboutMenu.create("Example")
- .withDescription("A powerful, intuitive and flexible teleportation suite")
- .withVersion(Version.fromString(plugin.getDescription().getVersion()))
- .addAttribution("Author",
- AboutMenu.Credit.of("William278").withDescription("Click to visit website").withUrl("https://william278.net"))
- .addAttribution("Contributors",
- AboutMenu.Credit.of("Contributor 1").withDescription("Code, refactoring")
- .addAttribution("Translators",
- AboutMenu.Credit.of("Translator 1").withDescription("Spanish (es-es)"),
- AboutMenu.Credit.of("Translator 2").withDescription("Italian (it-it)")
- .addButtons(
- AboutMenu.Link.of("https://william278.net/").withText("Wesbite").withIcon("⛏"),
- AboutMenu.Link.of("https://discord.gg/tVYhJfyDWG").withText("Discord").withIcon("⭐").withColor("#6773f5"))));
-
- // Display the menu to the player
- player.spigot().sendMessage(menu.toMineDown().toComponents());
+
+ final AboutMenu menu = AboutMenu.builder()
+ .title(Component.text("Example"))
+ .description(Component.text("An example plugin"))
+ .version(plugin.getVersion())
+ .credits("Author",
+ AboutMenu.Credit.of("William278").description("Click to visit website").url("https://william278.net"))
+ .credits("Contributors",
+ AboutMenu.Credit.of("Contributor 1").description("Code, refactoring"))
+ .credits("Translators",
+ AboutMenu.Credit.of("FreeMonoid").description("Italian (it-it)"),
+ AboutMenu.Credit.of("4drian3d").description("Coding"))
+ .buttons(
+ AboutMenu.Link.of("https://william278.net/docs/velocitab").text("Docs").icon("⛏"),
+ AboutMenu.Link.of("https://discord.gg/tVYhJfyDWG").text("Discord").icon("⭐").color(TextColor.color(0x6773f5)))
+ .build();
+
+
+ // Display the menu to the player (Depending on your platform, you may need to get the adventure audience for the Player here instead)
+ player.sendMessage(menu.toComponent());
// Use #toString to get a console-friendly version of the menu
getLogger().info(AboutMenu.toString());
@@ -47,25 +50,24 @@ public class ExamplePlugin extends JavaPlugin {
### Version
-`Version.class` provides a simple way to compare semantic plugin and Minecraft versions. `VersionChecker.class` provides
-a utility for querying Spigot resources for the latest version of a plugin and comparing with the current version in
-order to check for updates.
+`Version.class` provides a simple way to compare semantic plugin and Minecraft versions. `VersionChecker.class` provides a utility for querying resources on different marketplaces (`SPIGOT`, `MODRINTH`, `POLYMART` and `GITHUB`) for the latest version of a plugin and comparing with the current version in order to check for updates.
-Code snippet
+Checking for updates
```java
public class ExamplePlugin extends JavaPlugin {
// Checks for updates and logs to console
public void checkForUpdates() {
- final int spigotResourceId = 97144;
- final UpdateChecker updateChecker = UpdateChecker.create(Version.fromString("1.0.0"), spigotResourceId);
- updateChecker.isUpToDate().thenAccept(upToDate -> {
- if (upToDate) {
- getLogger().info("Running the latest version (" + updateChecker.getCurrentVersion() + ").");
- } else {
- getLogger().info("An update is available! Download from: https://www.spigotmc.org/resources/" + spigotResourceId);
+ final UpdateChecker checker = UpdateChecker.builder()
+ .currentVersion(getVersion())
+ .endpoint(UpdateChecker.Endpoint.MODRINTH)
+ .resource("velocitab")
+ .build();
+ checker.check().thenAccept(checked => {
+ if (!checked.isUpToDate()) {
+ getLogger().info("A new update is available: " + checked.getLatestVersion());
}
});
}
@@ -74,36 +76,28 @@ public class ExamplePlugin extends JavaPlugin {
```
-## Installation
-DesertWell is available on JitPack. You can browse the Javadocs [here](https://javadoc.jitpack.io/net/william278/DesertWell/latest/javadoc/).
-
-Note that your plugin will also need to shade (or shade a library that includes) [MineDown](https://github.com/Phoenix616/MineDown).
+## Usage
+DesertWell is available on JitPack and requires Adventure. You can browse the Javadocs [here](https://javadoc.jitpack.io/net/william278/DesertWell/latest/javadoc/).
-Maven
-
-To include the library with Maven, in your `pom.xml` file, first add the JitPack repository:
-```xml
-
-
- jitpack.io
- https://jitpack.io
-
-
+Adding the library to your project
+
+First, add the JitPack repository to your `build.gradle`:
+```groovy
+repositories {
+ maven { url 'https://jitpack.io' }
+}
```
-Then, add the dependency in your `` section. Remember to replace `Tag` with the current DesertWell version.
-```xml
-
- net.william278
- DesertWell
- Tag
- compile
-
+Then add the dependency:
+```groovy
+dependencies {
+ implementation 'net.william278:PAPIProxyBridge:1.2'
+}
```
-### Gradle & others
+### Maven & others
JitPack has a [handy guide](https://jitpack.io/#net.william278/DesertWell/#How_to) for how to use the dependency with other build platforms.
## License