package com.alttd.essentia.commands; import com.alttd.essentia.EssentiaPlugin; import com.alttd.essentia.configuration.Config; import com.alttd.essentia.api.user.User; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; public abstract class PlayerSubCommand extends SubCommand { protected PlayerSubCommand(EssentiaPlugin plugin, String name, String... aliases) { super(plugin, name, aliases); } @Override public boolean execute(CommandSender sender, String... args) { if (!(sender instanceof Player player)) { sender.sendRichMessage(Config.PLAYER_ONLY_COMMAND); return true; } return execute(player, plugin.userManager().getUser(player), args); } protected abstract boolean execute(Player player, User user, String... args); }