Skip to content

Commit 84570eb

Browse files
committed
Add a working example for debugpaste
1 parent 51b9d63 commit 84570eb

3 files changed

Lines changed: 69 additions & 0 deletions

File tree

example/build.gradle.kts

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
plugins {
2+
id("java")
3+
}
4+
if (!File("$rootDir/.git").exists()) {
5+
logger.lifecycle(
6+
"""
7+
**************************************************************************************
8+
You need to fork and clone this repository! Don't download a .zip file.
9+
If you need assistance, consult the GitHub docs: https://docs.github.com/get-started/quickstart/fork-a-repo
10+
**************************************************************************************
11+
""".trimIndent()
12+
).also { System.exit(1) }
13+
}
14+
15+
group = "dev.themeinerlp"
16+
17+
repositories {
18+
mavenCentral()
19+
maven("https://papermc.io/repo/repository/maven-public/")
20+
}
21+
22+
dependencies {
23+
compileOnly("io.papermc.paper:paper-api:1.19.4-R0.1-SNAPSHOT")
24+
implementation("net.kyori:adventure-text-minimessage:4.13.1")
25+
implementation(project(":bukkit-extension"))
26+
implementation(rootProject)
27+
}
28+
29+
tasks.test {
30+
useJUnitPlatform()
31+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package dev.themeinerlp.plugindebug.example;
2+
3+
import dev.themeinerlp.plugindebug.BukkitDebugBuilder;
4+
import dev.themeinerlp.plugindebug.DebugUploadResult;
5+
import net.kyori.adventure.text.minimessage.MiniMessage;
6+
import net.kyori.adventure.text.minimessage.tag.resolver.Placeholder;
7+
import org.bukkit.command.Command;
8+
import org.bukkit.command.CommandExecutor;
9+
import org.bukkit.command.CommandSender;
10+
import org.bukkit.entity.Player;
11+
import org.jetbrains.annotations.NotNull;
12+
13+
import java.io.IOException;
14+
import java.net.URLEncoder;
15+
import java.nio.charset.StandardCharsets;
16+
17+
public class ExampleUploadCommand implements CommandExecutor {
18+
@Override
19+
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) {
20+
if (args.length == 1 && args[0].equalsIgnoreCase("debugpaste")) {
21+
try {
22+
DebugUploadResult result = BukkitDebugBuilder.builder("https://bytebin.lucko.me").defaultPaperDebugInformation().collectLatestSpigotLog().upload();
23+
var byteBinServer = URLEncoder.encode(result.uploadServer(), StandardCharsets.UTF_8);
24+
// https://debugpaste.onelitefeather.net is our free hosted UI
25+
var openUrl = String.format("https://debugpaste.onelitefeather.net/#/%s/%s/", result.code(), byteBinServer);
26+
sender.sendMessage(
27+
MiniMessage.miniMessage()
28+
.deserialize("<#05b9ff>[Example] <yellow><click:OPEN_URL:'$openUrl'>Debug paste: <url></click>", Placeholder.parsed("url", openUrl))
29+
);
30+
} catch (IOException e) {
31+
throw new RuntimeException(e);
32+
}
33+
34+
}
35+
return true;
36+
}
37+
}

settings.gradle.kts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
11

22
rootProject.name = "plugin-debug"
33
include("bukkit-extension")
4+
include("example")

0 commit comments

Comments
 (0)