package net.knarcraft.placeholdersigns.command; import net.knarcraft.placeholdersigns.PlaceholderSigns; import net.knarcraft.placeholdersigns.config.PlaceholderSignMessage; import org.bukkit.command.Command; import org.bukkit.command.CommandSender; import org.bukkit.command.TabExecutor; import org.bukkit.entity.Player; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import java.util.ArrayList; import java.util.List; /** * A command for viewing lines on a sign */ public class ViewSignCommand implements TabExecutor { boolean raw; /** * Instantiates a new view sign command * * @param raw

Whether this sign displays the raw text or not

*/ public ViewSignCommand(boolean raw) { this.raw = raw; } @Override public boolean onCommand(@NotNull CommandSender commandSender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { if (!(commandSender instanceof Player player)) { return false; } // Register the sign view request PlaceholderSigns.getInstance().getRequestHandler().addSignViewRequest(player, this.raw); PlaceholderSigns.getInstance().getStringFormatter().displaySuccessMessage(commandSender, PlaceholderSignMessage.SUCCESS_CLICK_SIGN_TO_VIEW); return true; } @Nullable @Override public List onTabComplete(@NotNull CommandSender sender, @NotNull Command command, @NotNull String label, @NotNull String[] args) { return new ArrayList<>(); } }