Time arguments

The TimeArgument class represents in-game time, in the number of in-game ticks. This allows command senders to specify a certain number of ticks in a simpler way, by including the characters d to specify the numbers of days, s to specify the number of seconds or t to specify a number of ticks.
The CommandAPI converts the inputs provided by the command sender into a number of ticks as an integer.
Developer's Note:
The TimeArgument provides inputs such as 2d (2 in-game days), 10s (10 seconds) and 20t (20 ticks), but does not let you combine them, such as 2d10s.
Example - Displaying a server-wide announcement
Example - Displaying a server-wide announcement
Say we have a command bigmsg that displays a title message to all players for a certain duration:
mccmd
/bigmsg <duration> <message>java
new CommandAPICommand("bigmsg")
.withArguments(new TimeArgument("duration"))
.withArguments(new GreedyStringArgument("message"))
.executes((sender, args) -> {
// Duration in ticks
int duration = (int) args.get("duration");
String message = (String) args.get("message");
for (Player player : Bukkit.getOnlinePlayers()) {
// Display the message to all players, with the default fade in/out times (10 and 20).
player.sendTitle(message, "", 10, duration, 20);
}
})
.register();