Skip to content

其它设置

huanmeng_qwq edited this page Dec 29, 2024 · 10 revisions

玩家背包允许放置按钮

enablePlayerInventory(boolean)

启用后,通过Slot#asPlayer Slot#player(int) 等方法创建的SlotSlots才可以正常显示

界面自动刷新

默认5秒(20*5 tick)刷新一次界面

可以在打开界面前使用#tick(int)来修改,低于1将不更新

当界面关闭时

可以使用#whenClose(Consumer)添加关闭后的回调函数

发生错误时

当处理点击时无法准确判断逻辑时将给点击者发送一条消息

可以使用#errorMessage(Function)来设置,默认为: §c无法处理您的点击请求,请联系管理员。

每次刷新时

可以使用#addTick(Consumer)来添加,执行频率受#tick(int)影响

刷新界面

也可以手动使用#refresh(boolean)#refresh(Slots)来刷新界面

refresh(true): true代表刷新所有槽位前先清除界面所有的ItemStack,即Inventory#clear(),如果启用了(enablePlayerInventory)则将清除玩家背包

刷新页面所有内容(也包括翻页内容刷新)、Result.CANCEL_UPDATE_ALLrefresh(true)

refresh(Slots): 刷新指定范围槽位的物品

自定义Result

如果你继承Result创建了新的类型或常量,可以使用#customResultHandler(CustomResultHandler)来设置所有自定义类型的处理逻辑

点击Gui时

可以使用#guiClick(GuiClick)来控制是否允许处理点击请求

点击背包时

当玩家点击背包时会触发使用#guiBottomClick(GuiBottomClick)设置的处理

GuiBottomClick: 如果返回true则将cancel事件,false则无事发生

当点击空气槽位时

可以使用#guiEmptyItemClick(GuiEmptyItemClick)来设置处理

GuiEmptyItemClick: 如果返回true则将cancel事件,false则无事发生

限制点击

#setDisableClick(boolean): 为true时,将cancel事件,并不在处理任何事情,包括按钮点击等的触发。默认false

#setCancelClickOther(boolean): 为true时,将在点击界面外的无槽位时cancel事件。默认true

#setCancelClickBottom(boolean): 为true时,将在点击背包时cancel事件。默认true

#setCancelMoveHotBarItemToSelf(boolean): 为true时,将禁止玩家使用快捷键把物品移动到界面中。默认true

#setCancelMoveItemToSelf(boolean): 为true时,将禁止玩家用鼠标选中拿起的物品移动至界面。默认true

#setCancelMoveItemToBottom(boolean): 为true时,将禁止玩家将鼠标的物品放到背包中。默认true