是一个 KubeJS 附加模组,为 KubeJS 添加了可重载的原生事件支持。
使用 EventJS,你可以:
global['someId'] 中,这既更简单又更高效。默认情况下,EventJS 会替换原有的原生事件监听方法,使其变得可重载。因此,你实际上不需要学习任何新知识就能使用 EventJS,只需安装它,你的 Forge 事件监听就会变得可重载了。
但是,如果你正在寻找更动态和定义更明确的事件监听方式,你可以使用 NativeEvents.onEvent(...),以及用于泛型事件监听的 NativeEvents.onGenericEvent(...)。
NativeEvents 将可用于所有 3 种脚本类型(客户端/服务端/启动),因此你可以执行侧限定的事件监听,例如,在 client_scripts 中监听仅客户端事件,那么此事件监听将不会在服务端发生。
NativeEvents.onEvent(eventType, handler)
NativeEvents.onEvent(priority, receiveCancelled, eventType, handler)
NativeEvents.onGenericEvent(genericClassFilter, eventType, handler)
NativeEvents.onGenericEvent(genericClassFilter, priority, receiveCancelled, eventType, handler)
JS 端的 handler 是一个接收事件的回调函数,例如:(event) => {...}
eventType 和 genericClassType 是能够表示类的东西,比如包含事件类名的字符串,或者通过 java(...) 或 Java.loadClass(...) 加载的事件类本身。
let handler: (event: AnyForgeEvent) => void
let eventType: string | Class
let genericClassFilter: string | Class
let priority: $EventPriority | "highest" | "high" | "normal" | "low" | "lowest"
let receiveCancelled: boolean
在 EventJS 1.4.0 中,为了支持 ProbeJS Legacy 开箱即用,eventType 和 genericClassFilter 将仅主动支持通过 java(...)(1.16.5)或 Java.loadClass(...)(1.20.1)加载的 Class。
let eventType: Class
let genericClassFilter: Class
1.0.0: 1.16.5
1.1.0: 1.16.5, 1.20.1
1.2.0: 1.16 到 1.20 之间的所有主要版本
我制作这个模组的原因是 KubeJS 在实现类似功能时异常缓慢。他们直到 KubeJS 更新到 1.21 版本后才添加了原生事件监听器重载功能,将 1.16~1.20 之间的所有版本都抛在了后面。
适用于 1.21+ 的 KubeJS 也包含对原生事件监听器重载的支持,使用相同的名称 NativeEvents,但其实现方式与 EventJS 不同,因此在通过 Java 与 EventJS 内部交互时请不要做出假设。
友情链接: 网易我的世界 | 泰拉瑞亚 | ocent云计算 | 米饭Minecraft插件文档 | 友链合作
历史访问人数:84,930 | 历史访问人次:173,801
今日访问人数:15,591 | 今日访问人次:16,964
昨日访问人数:20,761 | 昨日访问人次:24,774
Copyright © 2019-2026 我的世界服务器列表站. All rights reserved.
❤ Powered by GermMC 京ICP备17023959号-6