rltime/src/main/java/ca/thetechrobo/rltime/Setter.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;
}
}