39 lines
1.2 KiB
Java
39 lines
1.2 KiB
Java
package ca.thetechrobo.rltime;
|
|
|
|
import org.bukkit.command.Command;
|
|
import org.bukkit.command.CommandSender;
|
|
import org.bukkit.command.TabExecutor;
|
|
import org.bukkit.entity.Player;
|
|
import org.bukkit.plugin.java.JavaPlugin;
|
|
import org.jetbrains.annotations.NotNull;
|
|
|
|
import net.kyori.adventure.text.Component;
|
|
import net.kyori.adventure.text.format.TextColor;
|
|
|
|
public abstract class Setter implements TabExecutor {
|
|
|
|
protected @NotNull JavaPlugin pl;
|
|
|
|
abstract protected VerificationStatus set(@NotNull String[] args, @NotNull Player p);
|
|
|
|
@Override
|
|
public boolean onCommand(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label,
|
|
@NotNull String[] args) {
|
|
if (!(sender instanceof Player)) {
|
|
sender.sendMessage(Component.text("Needs to be run by a player."));
|
|
return false;
|
|
}
|
|
Player p = (Player) sender;
|
|
VerificationStatus verification = this.set(args, p);
|
|
if (!verification.succeeded()) {
|
|
// p.sendMessage(Component.text("Invalid input: ")
|
|
// .append(Component.text(verification.error()).color(TextColor.color(255, 20,
|
|
// 20))));
|
|
return false;
|
|
}
|
|
p.sendMessage(Component.text(verification.error()).color(TextColor.color(40, 255, 64)));
|
|
return true;
|
|
}
|
|
|
|
}
|