mirror of
https://github.com/SikongJueluo/kubejs-utils.git
synced 2026-01-11 08:47:50 +08:00
44 lines
1015 B
JavaScript
44 lines
1015 B
JavaScript
/**
|
|
* Create a simple event bus for handling custom events in KubeJS environment.
|
|
* @returns {EventBus}
|
|
*/
|
|
function createEventBus() {
|
|
/**
|
|
* @type {EventBus}
|
|
*/
|
|
const bus = {
|
|
eventMap: {},
|
|
|
|
register: function (eventName, callback) {
|
|
this.eventMap[eventName] = callback;
|
|
},
|
|
|
|
emit: function (eventName, event) {
|
|
const callback = this.eventMap[eventName];
|
|
if (callback) {
|
|
return callback(event);
|
|
}
|
|
},
|
|
};
|
|
|
|
return bus;
|
|
}
|
|
|
|
global["eventBus"] = createEventBus();
|
|
|
|
// ==================== Forge Event Listeners ====================
|
|
|
|
ForgeEvents.onEvent(
|
|
"net.minecraftforge.event.entity.living.LivingEntityUseItemEvent$Finish",
|
|
(event) => {
|
|
eventBus.emit("LivingEntityUseItemEvent$Finish", event);
|
|
},
|
|
);
|
|
|
|
ForgeEvents.onEvent(
|
|
"net.minecraftforge.event.entity.player.ItemFishedEvent",
|
|
(event) => {
|
|
eventBus.emit("PlayerItemFishedEvent", event);
|
|
},
|
|
);
|