From 6a0cd904d32c692d49fde942250f43f476c80dc9 Mon Sep 17 00:00:00 2001 From: Rollczi Date: Sun, 3 Nov 2024 00:32:04 +0100 Subject: [PATCH] Release 3.9.0 --- README.md | 23 +++++++++++-------- .../kotlin/litecommands-publish.gradle.kts | 2 +- .../build.gradle.kts | 6 ++--- examples/bukkit-chatgpt/build.gradle.kts | 6 ++--- examples/bukkit/build.gradle.kts | 4 ++-- examples/fabric/build.gradle.kts | 2 +- .../fabric/src/main/resources/fabric.mod.json | 2 +- examples/minestom/build.gradle.kts | 2 +- examples/velocity/build.gradle.kts | 2 +- .../example/velocity/ExamplePlugin.java | 3 +-- .../litecommands/suggestion/Suggestion.java | 14 +++++++++++ .../src/main/resources/fabric.mod.json | 2 +- 12 files changed, 42 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index f9e56b941..7ba54a085 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ +
-
hacktoberfest
-

LiteCommands & Hacktoberfest 2024

-
Register on hacktoberfest.com and start supporting open source!
-
Add/Improve/Fix features and open Pull request! If you don't have an idea, see issues!
-
+[![dependency](https://repo.panda-lang.org/api/badge/latest/releases/dev/rollczi/litecommands-core?color=9372f9&name=Version)](https://repo.panda-lang.org/#/releases/dev/rollczi/litecommands) +
+banner +

[![Discord](https://raw.githubusercontent.com/intergrav/devins-badges/v3/assets/cozy/social/discord-plural_vector.svg)](https://discord.gg/6cUhkj6uZJ) [![Sponsor](https://raw.githubusercontent.com/intergrav/devins-badges/v3/assets/cozy/donate/ghsponsors-singular_vector.svg)](https://github.com/sponsors/Rollczi) @@ -27,7 +27,10 @@ Annotation based command framework for Velocity, Bukkit, Paper, BungeeCord, Mine - Simple Arguments [@Arg](https://docs.rollczi.dev/documentation/litecommands/arguments/arg.html#arg) & Optional arguments [@OptionalArg](https://docs.rollczi.dev/documentation/litecommands/arguments/arg-optional.html#arg-optional) - Flags - [@Flag](https://docs.rollczi.dev/documentation/litecommands/arguments/flag.html#flag) - Joiner - _[@Join](https://docs.rollczi.dev/documentation/litecommands/arguments/join.html#join) remaining arguments into a string_ +- Literal arguments - @Literal +- [@Quoted](https://docs.rollczi.dev/documentation/litecommands/arguments/quoted.html) arguments for `"quoted input!"` - Asynchronous commands, argument parsing and completion. [@Async](https://docs.rollczi.dev/documentation/litecommands/features/asynchronous/async-annotation.html#async) +- Context providers - e.g. `@Sender Player`, `@Context World` and [more](https://docs.rollczi.dev/documentation/litecommands/getting-started/context.html) - Command shortcuts [@Shortcut](https://docs.rollczi.dev/documentation/litecommands/features/shortcut.html#shortcut) - Support for basic types: `int`, `double`, `Duration`, `LocalDateTime`, `Location` and [more](https://docs.rollczi.dev/documentation/litecommands/arguments/arg/java-types.html#java-types)! - Support for collection types: `List`, `Set`, `TreeSet`, `Queue`, java array `T[]` and many others! @@ -42,7 +45,7 @@ Annotation based command framework for Velocity, Bukkit, Paper, BungeeCord, Mine ## 📦 Platforms - Velocity - Bukkit, Spigot, Paper -- BungeeCord, Waterfall +- BungeeCord, Waterfall _(by [rchomczyk](https://github.com/rchomczyk))_ - Minestom _(by [Codestech1](https://github.com/Codestech1))_ - Sponge _(by [BlackBaroness](https://github.com/BlackBaroness))_ - Fabric _(by [huanmeng_qwq](https://github.com/huanmeng-qwq))_ @@ -57,7 +60,7 @@ This is an example of `/hello ` command: public class HelloCommand { @Execute - void command(@Context CommandSender sender, @Arg String name, @Arg int amount) { + void command(@Sender CommandSender sender, @Arg String name, @Arg int amount) { for (int i = 0; i < amount; i++) { sender.sendMessage("Hello " + name); } @@ -86,13 +89,13 @@ maven("https://repo.panda-lang.org/releases") #### ➕ Add LiteCommands to dependencies ```kts -implementation("dev.rollczi:{artifact}:3.8.0") +implementation("dev.rollczi:{artifact}:3.9.0") ``` ```xml dev.rollczi {artifact} - 3.8.0 + 3.9.0 ``` > ⚠️ Replace `{artifact}` with [platform artifact](https://docs.rollczi.dev/documentation/litecommands/platforms.html#supported-platforms) @@ -104,7 +107,7 @@ implementation("dev.rollczi:{artifact}:3.8.0") @@ Special thanks to all sponsors for supporting me and my projects! ❤️ @@ ``` -Piotr Zych   q1zZ   Nadwey   +Piotr Zych   Nadwey   ## 🔮 Official IntelliJ Plugin diff --git a/buildSrc/src/main/kotlin/litecommands-publish.gradle.kts b/buildSrc/src/main/kotlin/litecommands-publish.gradle.kts index e3549a3db..dc32729fe 100644 --- a/buildSrc/src/main/kotlin/litecommands-publish.gradle.kts +++ b/buildSrc/src/main/kotlin/litecommands-publish.gradle.kts @@ -4,7 +4,7 @@ plugins { } group = "dev.rollczi" -version = "3.8.1-SNAPSHOT" +version = "3.9.0" publishing { java { diff --git a/examples/bukkit-adventure-platform/build.gradle.kts b/examples/bukkit-adventure-platform/build.gradle.kts index 87718dc5e..7a6157e46 100644 --- a/examples/bukkit-adventure-platform/build.gradle.kts +++ b/examples/bukkit-adventure-platform/build.gradle.kts @@ -5,7 +5,7 @@ plugins { id("xyz.jpenilla.run-paper") version "2.3.0" } -version = "3.8.0" +version = "3.9.0" repositories { mavenCentral() @@ -16,8 +16,8 @@ repositories { dependencies { compileOnly("org.spigotmc:spigot-api:1.20.2-R0.1-SNAPSHOT") - // implementation("dev.rollczi:litecommands-bukkit:3.8.0") // <-- uncomment in your project - // implementation("dev.rollczi:litecommands-adventure-platform:3.8.0") // <-- uncomment in your project + // implementation("dev.rollczi:litecommands-bukkit:3.9.0") // <-- uncomment in your project + // implementation("dev.rollczi:litecommands-adventure-platform:3.9.0") // <-- uncomment in your project implementation("net.kyori:adventure-platform-bukkit:4.3.0") implementation("net.kyori:adventure-text-minimessage:4.14.0") diff --git a/examples/bukkit-chatgpt/build.gradle.kts b/examples/bukkit-chatgpt/build.gradle.kts index ed0c0a30e..44058e769 100644 --- a/examples/bukkit-chatgpt/build.gradle.kts +++ b/examples/bukkit-chatgpt/build.gradle.kts @@ -5,7 +5,7 @@ plugins { id("xyz.jpenilla.run-paper") version "2.3.0" } -version = "3.8.0-SNAPSHOT" +version = "3.9.0" repositories { mavenCentral() @@ -16,8 +16,8 @@ repositories { dependencies { compileOnly("org.spigotmc:spigot-api:1.20.2-R0.1-SNAPSHOT") - // implementation("dev.rollczi:litecommands-bukkit:3.8.0") // <-- uncomment in your project - // implementation("dev.rollczi:litecommands-chatgpt:3.8.0") // <-- uncomment in your project + // implementation("dev.rollczi:litecommands-bukkit:3.9.0") // <-- uncomment in your project + // implementation("dev.rollczi:litecommands-chatgpt:3.9.0") // <-- uncomment in your project implementation(project(":litecommands-bukkit")) // don't use this line in your build.gradle implementation(project(":litecommands-chatgpt")) // don't use this line in your build.gradle } diff --git a/examples/bukkit/build.gradle.kts b/examples/bukkit/build.gradle.kts index 4816bbcf3..f92dfdb3e 100644 --- a/examples/bukkit/build.gradle.kts +++ b/examples/bukkit/build.gradle.kts @@ -5,7 +5,7 @@ plugins { id("xyz.jpenilla.run-paper") version "2.3.1" } -version = "3.8.0" +version = "3.9.0" repositories { mavenCentral() @@ -16,7 +16,7 @@ repositories { dependencies { compileOnly("org.spigotmc:spigot-api:1.20.2-R0.1-SNAPSHOT") - // implementation("dev.rollczi:litecommands-bukkit:3.8.0") // <-- uncomment in your project + // implementation("dev.rollczi:litecommands-bukkit:3.9.0") // <-- uncomment in your project implementation(project(":litecommands-bukkit")) // don't use this line in your build.gradle } diff --git a/examples/fabric/build.gradle.kts b/examples/fabric/build.gradle.kts index 510947cf8..e221fa489 100644 --- a/examples/fabric/build.gradle.kts +++ b/examples/fabric/build.gradle.kts @@ -21,7 +21,7 @@ dependencies { modImplementation("net.fabricmc:fabric-loader:0.16.7") modImplementation("net.fabricmc.fabric-api:fabric-api:0.106.0+1.21.1") -// modImplementation("dev.rollczi:litecommands-fabric:3.8.0") // <-- uncomment in your project +// modImplementation("dev.rollczi:litecommands-fabric:3.9.0") // <-- uncomment in your project implementation(project(path = ":litecommands-fabric", configuration = "namedElements")) } diff --git a/examples/fabric/src/main/resources/fabric.mod.json b/examples/fabric/src/main/resources/fabric.mod.json index d829e52ed..bfbf23c76 100644 --- a/examples/fabric/src/main/resources/fabric.mod.json +++ b/examples/fabric/src/main/resources/fabric.mod.json @@ -1,7 +1,7 @@ { "schemaVersion": 1, "id": "litecommands_example", - "version": "3.8.0", + "version": "3.9.0", "name": "LiteCommands Fabric Example", "description": "Annotation based command framework for Fabric.", "authors": [ diff --git a/examples/minestom/build.gradle.kts b/examples/minestom/build.gradle.kts index 78775491c..70923c117 100644 --- a/examples/minestom/build.gradle.kts +++ b/examples/minestom/build.gradle.kts @@ -18,7 +18,7 @@ dependencies { implementation("net.minestom:minestom-snapshots:4305006e6b") implementation("net.kyori:adventure-text-minimessage:4.17.0") - // implementation("dev.rollczi:litecommands-minestom:3.8.0") // <-- uncomment in your project + // implementation("dev.rollczi:litecommands-minestom:3.9.0") // <-- uncomment in your project implementation(project(":litecommands-minestom")) // don't use this line in your build.gradle } diff --git a/examples/velocity/build.gradle.kts b/examples/velocity/build.gradle.kts index fd9b48a85..1eee973e6 100644 --- a/examples/velocity/build.gradle.kts +++ b/examples/velocity/build.gradle.kts @@ -19,7 +19,7 @@ dependencies { compileOnly("com.velocitypowered:velocity-api:3.2.0-SNAPSHOT") annotationProcessor("com.velocitypowered:velocity-api:3.2.0-SNAPSHOT") - // implementation("dev.rollczi:litecommands-velocity:3.8.0") // <-- uncomment in your project + // implementation("dev.rollczi:litecommands-velocity:3.9.0") // <-- uncomment in your project implementation(project(":litecommands-velocity")) // don't use this line in your build.gradle } diff --git a/examples/velocity/src/main/java/dev/rollczi/example/velocity/ExamplePlugin.java b/examples/velocity/src/main/java/dev/rollczi/example/velocity/ExamplePlugin.java index b3caa9643..acfcc51db 100644 --- a/examples/velocity/src/main/java/dev/rollczi/example/velocity/ExamplePlugin.java +++ b/examples/velocity/src/main/java/dev/rollczi/example/velocity/ExamplePlugin.java @@ -17,13 +17,12 @@ import dev.rollczi.example.velocity.handler.PermissionMessage; import dev.rollczi.litecommands.LiteCommands; import dev.rollczi.litecommands.argument.profile.ProfileNamespaces; -import dev.rollczi.litecommands.join.JoinProfile; import dev.rollczi.litecommands.suggestion.SuggestionResult; import dev.rollczi.litecommands.schematic.SchematicFormat; import dev.rollczi.litecommands.velocity.LiteVelocityFactory; import dev.rollczi.litecommands.velocity.tools.VelocityOnlyPlayerContextual; -@Plugin(id = "example-plugin", name = "ExamplePlugin", version = "3.8.0", authors = "Rollczi") +@Plugin(id = "example-plugin", name = "ExamplePlugin", version = "3.9.0", authors = "Rollczi") public class ExamplePlugin { private final ProxyServer proxyServer; diff --git a/litecommands-core/src/dev/rollczi/litecommands/suggestion/Suggestion.java b/litecommands-core/src/dev/rollczi/litecommands/suggestion/Suggestion.java index 16af7d30d..3ed5b93be 100644 --- a/litecommands-core/src/dev/rollczi/litecommands/suggestion/Suggestion.java +++ b/litecommands-core/src/dev/rollczi/litecommands/suggestion/Suggestion.java @@ -52,6 +52,9 @@ public int lengthMultilevel() { return this.multiSuggestion.size(); } + /** + * @since 3.9.0 + */ @ApiStatus.Experimental public String tooltip() { return this.tooltip; @@ -115,17 +118,28 @@ public Suggestion appendLevel(String levelPart) { return Suggestion.from(newSuggestion, this.tooltip); } + /** + * Creates a new suggestion with the given tooltip. The List of suggestions will be joined by space. + * @since 3.9.0 + */ @ApiStatus.Experimental @ApiStatus.Internal public static Suggestion from(List suggestion, String tooltip) { return new Suggestion(String.join(" ", suggestion), tooltip, new ArrayList<>(suggestion)); } + /** + * Creates a new suggestion from the given list of suggestions that will be joined by space. + */ @ApiStatus.Internal public static Suggestion from(List suggestion) { return new Suggestion(String.join(" ", suggestion), DEFAULT_TOOLTIP, new ArrayList<>(suggestion)); } + /** + * Creates a new suggestion with the given tooltip. + * @since 3.9.0 + */ @ApiStatus.Experimental public static Suggestion of(String suggestion, String tooltip) { return new Suggestion(suggestion, tooltip, StringUtil.splitBySpace(suggestion)); diff --git a/litecommands-fabric/src/main/resources/fabric.mod.json b/litecommands-fabric/src/main/resources/fabric.mod.json index cab8c515d..9fdf64ef0 100644 --- a/litecommands-fabric/src/main/resources/fabric.mod.json +++ b/litecommands-fabric/src/main/resources/fabric.mod.json @@ -1,7 +1,7 @@ { "schemaVersion": 1, "id": "litecommands", - "version": "3.8.0", + "version": "3.9.0", "name": "LiteCommands", "description": "Annotation based command framework for Fabric.", "authors": [