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 getSender(); /** * @return Object that is parsed from the raw argument * @throws CommandInvocationException if no value given and no default value supplied */ ParsedArgument getArgData(String name); @SuppressWarnings("unchecked") default T getArgData(CommandArgument arg) { return (T) getArgData(arg.getName()); } @SuppressWarnings("unchecked") default T getArg(String name) { return (T) getArgData(name).getValue(); } @SuppressWarnings("unchecked") default T getArg(CommandArgument arg) { return (T) getArgData(arg.getName()).getValue(); } }