Skip to content

按钮与点击

huanmeng_qwq edited this page Dec 27, 2024 · 2 revisions

按钮

按钮是界面的最基本元素

// 一个金苹果
Button btn = Button.of(player -> new ItemStack(Material.GOLDEN_APPLE));
// 点击可以获得随机钻石
Button btn = Button.of(
        player -> new ItemStack(Material.DIAMOND), 
        // 点击该按钮后触发
        player -> 
                player.getInventory().addItem(
                        new ItemStack(Material.DIAMOND, ThreadLocalRandom.current().nextInt(64))
                )
);

点击处理

Result: 代表点击后处理操作,一般使用Result.CANCEL来告诉框架cancel当前的点击事件

常量名 描述
CANEL 取消事件
CANCEL_UPDATE 取消事件并更新当前按钮
CANCEL_UPDATE_ALL 取消事件并更新所有按钮
CANCEL_CLOSE 取消事件并关闭页面
ALLOW 不取消事件
CLEAR 临时性清空页面
DECREMENT 临时性将当前按钮的物品数量减1
INCREMENTAL 临时性将当前按钮的物品数量加1

PlayerClickInterface: 点击按钮后触发的回调,返回值类型为Result

由于该接口接收的参数过多,所有可以使用下面的接口以更方便的使用lambda表达式

接口名称 参数 省略的返回值
PlayerClickCancelInterface 参数不变 Result.CANCEL
PlayerClickCancelUpdateAllInterface 参数不变 Result.CANCEL_UPDATE_ALL
PlayerClickCancelUpdateInterface 参数不变 Result.CANCEL_UPDATE
PlayerSimpleCancelInterface 仅Player Result.CANCEL
PlayerSimpleCancelUpdateAllInterface 仅Player Result.CANCEL_UPDATE_ALL
PlayerSimpleCancelUpdateInterface 仅Player Result.CANCEL_UPDATE
PlayerSimpleClickCancelInterface 仅Player和ClickType Result.CANCEL
PlayerSimpleClickUpdateAllInterface 仅Player和ClickType Result.CANCEL_UPDATE_ALL
PlayerSimpleClickUpdateInterface 仅Player和ClickType Result.CANCEL_UPDATE
Clone this wiki locally