package io.lumine.cosmetics.commands; import java.util.Collections; import java.util.List; import org.bukkit.command.CommandSender; import org.bukkit.entity.Player; import io.lumine.cosmetics.MCCosmeticsPlugin; import io.lumine.cosmetics.api.MCCosmetics; import io.lumine.cosmetics.commands.CommandHelper; import io.lumine.cosmetics.constants.Permissions; import io.lumine.cosmetics.managers.sprays.Spray; import io.lumine.mythic.bukkit.utils.commands.Command; public class SprayCommand extends Command<MCCosmeticsPlugin> { public SprayCommand(MCCosmeticsPlugin plugin) { super(plugin); } @Override public boolean onCommand(CommandSender sender, String[] args) { var player = (Player) sender; var profile = getPlugin().getProfiles().getProfile(player); if(args.length > 0) { var sprayName = args[1]; var maybeSpray = getPlugin().getSprayManager().getCosmetic(sprayName); if(maybeSpray.isEmpty()) { return true; } var spray = maybeSpray.get(); if(profile.has(spray)) { getPlugin().getSprayManager().useSpray(player, spray); } } else { var maybeSpray = profile.getEquipped(Spray.class); if(maybeSpray.isEmpty()) { return true; } var spray = (Spray) maybeSpray.get().getCosmetic(); if(profile.has(spray)) { getPlugin().getSprayManager().useSpray(player, spray); } } return true; } @Override public List<String> onTabComplete(CommandSender sender, String[] args) { return Collections.emptyList(); } @Override public String getPermissionNode() { return Permissions.COMMAND_SPRAY; } @Override public boolean isConsoleFriendly() { return false; } @Override public String getName() { return ""; } }