first commit

This commit is contained in:
kento2 2026-04-14 22:28:42 +02:00
parent 72da8e063b
commit 76784dba7e
20 changed files with 588 additions and 0 deletions

View file

@ -0,0 +1,34 @@
package de.kencommand.api.processing;
import de.kencommand.api.parsing.ParsedArgument;
import de.kentoj.scrow.bukkit.command.exception.CommandInvocationException;
import de.kentoj.scrow.bukkit.command.literal.CommandArgument;
import org.bukkit.command.CommandSender;
import org.bukkit.entity.Entity;
import org.bukkit.entity.Player;
public interface CommandContext<T> {
T getSender();
/**
* @return Object that is parsed from the raw argument
* @throws CommandInvocationException if no value given and no default value supplied
*/
<T> ParsedArgument<T> getArgData(String name);
@SuppressWarnings("unchecked")
default <T> T getArgData(CommandArgument<T> arg) {
return (T) getArgData(arg.getName());
}
@SuppressWarnings("unchecked")
default <T> T getArg(String name) {
return (T) getArgData(name).getValue();
}
@SuppressWarnings("unchecked")
default <T> T getArg(CommandArgument<T> arg) {
return (T) getArgData(arg.getName()).getValue();
}
}