001package com.ericlam.mc.bungee.hnmc.commands.caxerx; 002 003import net.md_5.bungee.api.CommandSender; 004 005import java.util.ArrayList; 006import java.util.List; 007 008/** 009 * 父類指令預設器 010 * <p> 011 * 自動返回幫助訊息 012 * 013 * @author caxerx 014 */ 015public class DefaultCommand extends CommandNode { 016 017 /** 018 * @param parent 父類指令 019 * @param command 指令 020 * @param permission 權限 021 * @param description 介紹 022 * @param alias 縮寫 023 */ 024 public DefaultCommand(CommandNode parent, String command, String permission, String description, String... alias) { 025 super(parent, command, permission, description, null, alias); 026 } 027 028 @Override 029 public void executeCommand(CommandSender sender, List<String> args) { 030 HelpOutputBuilder builder = new HelpOutputBuilder(this); 031 getSubCommands().forEach(builder::append); 032 sender.sendMessage(builder.build()); 033 } 034 035 @Override 036 public List<String> executeTabCompletion(CommandSender sender, List<String> args) { 037 ArrayList<String> result = new ArrayList<>(); 038 getSubCommands().forEach(sub -> result.add(sub.getAlias().get(0))); 039 return result; 040 } 041}