001package com.ericlam.mc.eld.registration; 002 003import com.ericlam.mc.eld.common.CommonCommandNode; 004 005import java.util.function.Consumer; 006 007/** 008 * 指令註冊 009 * @param <T> 該平台所屬的指令類型 010 */ 011public interface CommandRegistry<T extends CommonCommandNode<?>> { 012 013 /** 014 * 註冊含分支指令的指令 015 * 016 * @param node 指令類 017 * @param child 分支指令註冊 018 */ 019 void command(Class<? extends T> node, Consumer<CommandRegistry<T>> child); 020 021 /** 022 * 註冊指令 023 * 024 * @param node 指令類 025 */ 026 void command(Class<? extends T> node); 027 028}