Releases: Rollczi/LiteCommands
LiteCommands v3.9.5
What's Changed
- GH-498 Fabric command supports alias. Add an option to change the brigadier input inspection display. by @huanmeng-qwq in #498
Thanks @huanmeng-qwq ❤️
How to change the brigadier input inspection display?
LiteFabricFactory.client()
.commands(new ClientCommand())
.settings(settings -> settings.inputInspectionDisplay("[...]"))
.build();
Update dependencies
implementation("dev.rollczi:{artifact}:3.9.5")
<dependency>
<groupId>dev.rollczi</groupId>
<artifactId>{artifact}</artifactId>
<version>3.9.5</version>
</dependency>
{artifact}
with platform artifact
Full Changelog: v3.9.4...v3.9.5
v3.9.4
What's Changed
Update dependencies
implementation("dev.rollczi:{artifact}:3.9.4")
<dependency>
<groupId>dev.rollczi</groupId>
<artifactId>{artifact}</artifactId>
<version>3.9.4</version>
</dependency>
{artifact}
with platform artifact
Full Changelog: v3.9.3...v3.9.4
LiteCommands v3.9.3
LiteCommands v3.9.2
What's Changed
- GH-485 Fix the error where Gradle can only be used normally by @huanmeng-qwq in #485
- dependency: Update dependency gradle to v8.11 by @renovate in #484
- dependency: Update dependency gradle to v8.11.1 by @renovate in #487
- GH-437 Improve schedulers by @BlackBaroness in #486
- GH-488 Update sponsors.yml by @huanmeng-qwq in #488
- dependency: Update dependency org.jetbrains.kotlin:kotlin-gradle-plugin to v2.1.0 by @renovate in #493
- GH-492 Fix FabricServerSender#getIdentifier by @huanmeng-qwq in #492
- GH-496 Create and expose Cooldown API. Create PlatformSender factory by @Rollczi in #496
- GH-499 Fix argument range validation while parsing. by @Rollczi in #499
Update dependencies
implementation("dev.rollczi:{artifact}:3.9.2")
<dependency>
<groupId>dev.rollczi</groupId>
<artifactId>{artifact}</artifactId>
<version>3.9.2</version>
</dependency>
{artifact}
with platform artifact
Full Changelog: v3.9.1...v3.9.2
LiteCommands v3.9.1
What's Changed
- GH-478 Add description support for programmatic API. Fix type resolving by @huanmeng-qwq in #478
- GH-483 Respect JDA choices limit. by @Rollczi in #483
- dependency: Update dependency net.dv8tion:JDA to v5.2.1 by @renovate in #479
- dependency: Update dependency shadow and jpenilla run plugins for examples by @Rollczi in #481
Update dependencies
implementation("dev.rollczi:{artifact}:3.9.1")
<dependency>
<groupId>dev.rollczi</groupId>
<artifactId>{artifact}</artifactId>
<version>3.9.1</version>
</dependency>
{artifact}
with platform artifact
Full Changelog: v3.9.0...v3.9.1
LiteCommands v3.9.0
What's Changed
- GH-460 Remove experimental state from priority domain. by @Rollczi in #460
- dependency: Update fabricmc dependencies by @renovate in #464
- dependency: Update all minor and patch dependencies by @renovate in #462
- dependency: Update dependency net.fabricmc:fabric-loader to v0.16.8 by @renovate in #467
- GH-474 Suggestion tooltip by @huanmeng-qwq in #461
- dependency: Update fabricmc by @renovate in #472
- GH-471 Fix jda number suggestions by @Rollczi in #475
- GH-476 Support type wrappers for native JDA option types. by @Rollczi in #476
- dependency: Update plugin fabric-loom to v1.8.12 by @renovate in #466
Thanks you @huanmeng-qwq for the tooltips feature. 😻
Also thanks to @Knerio for helping me find the bug on JDA platform. ❤️
Update dependencies
implementation("dev.rollczi:{artifact}:3.9.0")
<dependency>
<groupId>dev.rollczi</groupId>
<artifactId>{artifact}</artifactId>
<version>3.9.0</version>
</dependency>
{artifact}
with platform artifact
Full Changelog: v3.8.0...v3.9.0
LiteCommands v3.8.0
What's Changed
- GH-452 Update all minor and patch dependencies by @renovate in #452
- dependency: Update all major dependencies (major) by @renovate in #453
- GH-455 Update CI build, Fix sponge CI compilation by @Rollczi in #455
- GH-456 Improve Fabric by @huanmeng-qwq in #456
- GH-457 Add priority for fail results. by @Rollczi in #457
- GH-378 GH-459 Support literal arguments. Support collections types for OptionalArg by @Rollczi in #458
Update dependencies
implementation("dev.rollczi:{artifact}:3.8.0")
<dependency>
<groupId>dev.rollczi</groupId>
<artifactId>{artifact}</artifactId>
<version>3.8.0</version>
</dependency>
{artifact}
with platform artifact
Full Changelog: v3.7.1...v3.8.0
LiteCommands v3.7.1
What's Changed
- GH-448 Update README links to new documentation by @TheDarkW3b in #450
- GH-444 Improve parsers caches by @Rollczi in #451
Thanks @TheDarkW3b ❤️ 📃
Update dependencies
implementation("dev.rollczi:{artifact}:3.7.1")
<dependency>
<groupId>dev.rollczi</groupId>
<artifactId>{artifact}</artifactId>
<version>3.7.1</version>
</dependency>
{artifact}
with platform artifact
New Contributors
- @TheDarkW3b made their first contribution in #450
Full Changelog: v3.7.0...v3.7.1
LiteCommands v3.7.0
What's Changed
- GH-440 Add Hacktoberfest 11 benner to README.md by @Rollczi in #440
- GH-441 Update README.md by @Rollczi in #441
- GH-427 Support async parse result. by @Rollczi in #435
- GH-442 Change default nativeMap of BiHashMap to ConcurrentHashMap by @OOP-778 in #443
- GH-445 Factories Unification by @SfenKer in #445
- GH-446 Hot fix offline player NPE. by @Rollczi in #447
Thanks @OOP-778 for the important bug fix ❤️
🟢 Add alias for @Context
annotation
@Command(name = "hello")
public class HelloCommand {
@Execute
void command(@Sender CommandSender sender, @Arg String name) {
// ...
}
}
🟢 Add an option to create Annotation aliases like as @Sender
You can implement your annotation:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.PARAMETER)
@RequirementDefinition(type = RequirementDefinition.Type.CONTEXT)
public @interface MySender {
}
And use it in your commands:
@Execute
void command(@MySender CommandSender sender, @Arg String name) {
// ...
}
🟢 Support completableFuture/async parse/context result:
public class UserArgumentResolver extends ArgumentResolver<CommandSender, User> {
private final Pattern VALID_USER_PATTERN = Pattern.compile("^[a-zA-Z0-9_]{3,16}$");
private final UserService userService;
public UserArgumentResolver(UserService userService) {
this.userService = userService;
}
@Override
protected ParseResult<User> parse(Invocation<CommandSender> invocation, Argument<User> context, String argument) {
CompletableFuture<ParseResult<User>> userNotFound = userService.getUser(argument)
.thenApply(user -> user != null ? ParseResult.success(user) : ParseResult.failure("User not found"));
return ParseResult.completableFuture(userNotFound);
}
@Override
public boolean match(Invocation<CommandSender> invocation, Argument<User> context, String argument) {
return VALID_USER_PATTERN.matcher(argument).matches();
}
}
🟢 when you call blocking methods you can use ParseResult.async()
@Override
protected ParseResult<User> parse(Invocation<CommandSender> invocation, Argument<User> context, String argument) {
return ParseResult.async(() -> userDatabase.getUser(argument));
}
🟢 See also same API for ContextResult
ContextResult.completableFuture()
ContextResult.async()
🔴 Removed wrapper API
🔴 Breaking changes (Internal API)
See more #435
Update dependencies
implementation("dev.rollczi:{artifact}:3.7.0")
<dependency>
<groupId>dev.rollczi</groupId>
<artifactId>{artifact}</artifactId>
<version>3.7.0</version>
</dependency>
{artifact}
with platform artifact
New Contributors
Full Changelog: v3.6.1...v3.7.0
LiteCommands v3.6.1
What's Changed
- GH-438 Bukkit OfflinePlayer argument by @BlackBaroness in #438
Thanks for @BlackBaroness
Update dependencies
implementation("dev.rollczi:{artifact}:3.6.1")
<dependency>
<groupId>dev.rollczi</groupId>
<artifactId>{artifact}</artifactId>
<version>3.6.1</version>
</dependency>
{artifact}
with platform artifact
Full Changelog: v3.6.0...v3.6.1