Mohist开发指导模组和插件从 Bukkit 调用 Forge

演示如何在Bukkit插件中调用forge或mod的事件

Bukkit插件中注册和注销Forge事件监听器

@Override
public void onEnable() {
    // 使用自定义IEventBus注册事件监听器 (这里使用Pixelmon的EVENT_BUS作为示例)
    registerForgeEvent(Pixelmon.EVENT_BUS, this);
 
    // 以下原理和bukkit事件注册相同
    // 使用默认IEventBus注册事件监听器 (当前类)
    registerForgeEvent(this);
    // 使用默认IEventBus注册事件监听器 (外部类)
    registerForgeEvent(this, new TestListener());
}
 
@Override
public void onDisable() {
    // 注销指定IEventBus中的指定事件监听器
    unregisterForgeEvents(IEventBus bus, Object target);
    // 注销指定IEventBus中的所有事件监听器
    unregisterForgeEvents(IEventBus bus);
    // 注销当前插件所有的Forge事件监听器
    unregisterAllForgeEvents();
}

事件监听示例

 
import com.pixelmonmod.pixelmon.api.events.spawning.SpawnLocationEvent;
 
@SubscribeEvent
public void onEnable(SpawnLocationEvent event) {
    ......
}