事件 API

简介

PlotSquared 使用 Guava EventBus 来注册监听器和分派事件。

事件列表

查看 PlotSquared 事件 的 Javadoc。

获取实例

import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;

public class MyPlotPlugin extends JavaPlugin {
    public static MyPlotPlugin THIS;

    @Override
    public void onEnable() {
        MyPlotPlugin.THIS = this;
        if (Bukkit.getPluginManager().getPlugin("PlotSquared") != null) {
        // Do something
       }
    }
}

注册监听器

注册监听器非常简单。只需在监听事件的方法上添加 @Subscribe(来自 com.google.common.eventbus 包)注解,并通过 PlotAPI#registerListener(Class) 方法注册类到 EventBus,就完成了!以下是一个例子:

public class P2Listener {

  // if you like the dependency-injection-like approach:
  public P2Listener(PlotAPI api) {
    api.registerListener(this);
  }

  // less OOP, but if you want to make things easy:
  public P2Listener() {
    PlotAPI api = new PlotAPI();
    api.registerListener(this);
  }

  // A method handling a PlayerEnterPlotEvent
  @Subscribe
  public void onPlayerEnterPlot(PlayerEnterPlotEvent e) {
    //do stuff
  }
}