EasyBukkitGUI
感谢@sc-k (UID: 1685246)授权发布
an Plugin API based on BukkitAPI for developer create Inventory GUI easier;
一个能力很弱的Inventory GUI快速开发API
介绍及开发: 本插件的事件触发类似信号槽机制
开发者主要需要用到的类有:
GUI,GUIPool,com.github.sckbee.gui.slots.,com.github.sckbee.gui.events.
下面介绍每个类 GUI:毫无作用
建议通过GUIPool管理,这样才可以产生相关事件发生关系 一个Inventory可以设置多个GUI,一个GUI只能设置给一个Inventory 每个GUI具有固定大小并按照映射的slotExecuteable来工作
绑定的形式有2种,
1.绑定指定物品,
2.绑定指定的槽(int slot) 一个GUI中一个槽只能绑定一个槽事件(也不一定的啦,可以通过重写forceExecuteSlot函数来根据玩家权限执行不同的函数)
一个GUI中一个物品只能绑定一个槽事件(这也是不一定) 每个槽事件可以设置是否需要冷却时间,且可以通过设置冷却完成之后执行的Runnable来添加自定义行为 总结,毫无作用 GUIPool:里面全是水
全局仅可能存在一个该类的实例,想获取该类实例请使用GUIPool.getInstance() 这里面存放了各GUI的实例,需要创建GUI时请使用GUIPool.getInstance().newGUI 当然啦,也可以继承GUIReference类来自己做GUI然后通过GUIPool.getInstance().addCustomGUI来添加 既然是池子当然可以泄水咯,用GUIPool.getInstance().removeGUI方法就行
slots包:里面全是槽 这里储存了槽事件,此槽非彼槽,与inventory无任何关联,此处槽指信号槽机制中的槽 通过继承以下几个类来创建自己的槽 CooldownSlotEexcuteReference:带冷却的绑定槽的槽事件 CooldownItemSlotExecuteReference:带冷却的绑定物品的槽事件 ItemSlotEexcuteReference:绑定物品的槽事件 SlotExecuteReference:绑定槽的槽事件 开发者只需要关心并重写forceExecuteSlot这个方法即可,事件产生时将自动调用 events包:里面全是发生关系的事件 GUIClickEvent:GUI被点击时触发的事件 GUICloseEvent:GUI关闭时触发的事件 GUIOpenEvent:GUI打开时触发的事件 SlotExecuteEvent:槽事件执行产生的事件 你只需要像正常情况一样@EventHandler就行
注意,玩家的inventoryName恒为 container.inventory
下载地址:https://github.com/sckbee/EasyBukkitGUI
关于开源协议,这个小东西就没啥协议可讲了,将就着用LGPL把想怎么改是你们的事,不需要给我任何形式的荣誉和支持