Class InputHandlerBuilder

java.lang.Object
top.magstar.framework.input.utils.InputHandlerBuilder

public class InputHandlerBuilder extends Object
输入处理器构建器 - 使用Lambda表达式流式构建InputHandler
Since:
1.0.0
Version:
1.0.0
Author:
Berry_so
See Also:
  • Constructor Details

    • InputHandlerBuilder

      public InputHandlerBuilder()
      构造输入处理器构建器
  • Method Details

    • validator

      public InputHandlerBuilder validator(@NotNull @NotNull Predicate<String> validator)
      设置输入验证器
      Parameters:
      validator - 验证器函数,接收输入字符串返回是否有效
      Returns:
      当前构建器实例
    • onCancel

      public InputHandlerBuilder onCancel(@Nullable @Nullable Consumer<org.bukkit.entity.Player> callback)
      设置取消回调
      Parameters:
      callback - 取消时的回调函数
      Returns:
      当前构建器实例
    • onTimeout

      public InputHandlerBuilder onTimeout(@Nullable @Nullable Consumer<org.bukkit.entity.Player> callback)
      设置超时回调
      Parameters:
      callback - 超时时的回调函数
      Returns:
      当前构建器实例
    • onAccept

      public InputHandlerBuilder onAccept(@Nullable @Nullable InputAcceptCallback callback)
      设置接受回调
      Parameters:
      callback - 接受输入时的回调函数
      Returns:
      当前构建器实例
    • onDenied

      public InputHandlerBuilder onDenied(@Nullable @Nullable InputDeniedCallback callback)
      设置拒绝回调
      Parameters:
      callback - 拒绝输入时的回调函数
      Returns:
      当前构建器实例
    • nextInput

      public InputHandlerBuilder nextInput(@Nullable @Nullable InputHandler handler)
      设置下一个输入处理器
      Parameters:
      handler - 下一个输入处理器,用于链式输入
      Returns:
      当前构建器实例
    • promptMessage

      public InputHandlerBuilder promptMessage(@NotNull @NotNull SmartString message)
      设置提示消息 - 支持SmartString
      Parameters:
      message - 提示消息
      Returns:
      当前构建器实例
    • promptMessage

      public InputHandlerBuilder promptMessage(@NotNull @NotNull String message)
      设置提示消息
      Parameters:
      message - 提示消息字符串
      Returns:
      当前构建器实例
    • timeout

      public InputHandlerBuilder timeout(long milliseconds)
      设置超时时间
      Parameters:
      milliseconds - 超时时间(毫秒),0表示永不超时
      Returns:
      当前构建器实例
    • cancelOnMove

      public InputHandlerBuilder cancelOnMove(boolean cancel)
      设置是否在移动时取消
      Parameters:
      cancel - true表示移动时取消,false表示不取消
      Returns:
      当前构建器实例
    • cancelOnDamage

      public InputHandlerBuilder cancelOnDamage(boolean cancel)
      设置是否在受伤时取消
      Parameters:
      cancel - true表示受伤时取消,false表示不取消
      Returns:
      当前构建器实例
    • build

      public InputHandler build(InputFactory factory)
      构建InputHandler
      Parameters:
      factory - 输入工厂
      Returns:
      创建的输入处理器实例
      Throws:
      IllegalStateException - 如果验证器未设置
    • getValidator

      public Predicate<String> getValidator()
      获取验证器
      Returns:
      验证器函数
    • getCancelCallback

      public Consumer<org.bukkit.entity.Player> getCancelCallback()
      获取取消回调
      Returns:
      取消回调函数
    • getTimeoutCallback

      public Consumer<org.bukkit.entity.Player> getTimeoutCallback()
      获取超时回调
      Returns:
      超时回调函数
    • getAcceptCallback

      public InputAcceptCallback getAcceptCallback()
      获取接受回调
      Returns:
      接受回调函数
    • getDeniedCallback

      public InputDeniedCallback getDeniedCallback()
      获取拒绝回调
      Returns:
      拒绝回调函数
    • getNextHandler

      public InputHandler getNextHandler()
      获取下一个输入处理器
      Returns:
      下一个输入处理器
    • getPromptMessage

      public SmartString getPromptMessage()
      获取提示消息
      Returns:
      提示消息
    • getTimeout

      public long getTimeout()
      获取超时时间
      Returns:
      超时时间(毫秒)
    • isCancelOnMove

      public boolean isCancelOnMove()
      检查是否在移动时取消
      Returns:
      true表示移动时取消,false表示不取消
    • isCancelOnDamage

      public boolean isCancelOnDamage()
      检查是否在受伤时取消
      Returns:
      true表示受伤时取消,false表示不取消