Interface Listener

All Known Implementing Classes:
CommonJSPlugin

public interface Listener
所有的监听事件的类必须实现的接口。
An interface implemented by all classes that handles events.

插件要监听事件,需要一个类实现这个接口,在这个类里编写方法来监听。这个类称作监听类。 监听类中监听事件的方法称作事件的处理器。一个监听类可以包含多个不同的事件处理器。 实现监听类后,插件需要在插件管理器中注册这个监听类。
If a plugin need to listen events, there must be a class implement this interface. This class is called a listener class. Methods with specified parameters should be written in order to listen events. This method is called a handler. One listener class could contain many different handlers. After implemented the listener class, plugin should register it in plugin manager.

事件监听器被注册后,Nukkit会在需要监听的事件发生时,使用反射来调用监听类中对应的处理器。
After registered, Nukkit will call the handler in the listener classes by reflection when a event happens.

这是一个编写监听类和处理器的例子。注意的是,标签@EventHandler和参数的类型是必需的:
Here is an example for writing a listener class and a handler method. Note that for the handler, tag @EventHandler and the parameter is required:

 public class ExampleListener implements Listener {
    @EventHandler(priority = EventPriority.NORMAL, ignoreCancelled = false)
     public void onBlockBreak(BlockBreakEvent event) {
          int blockID = event.getBlock().getPackId();
          if (blockID == Block.STONE) {
              event.getPlayer().sendMessage("Oops, my ExampleListener won't let you break a stone!")
              event.setCancelled(true);
          }
     }
 }
 

关于注册监听类,请看:PluginManager.registerEvents(cn.nukkit.event.Listener, cn.nukkit.plugin.Plugin).
For registering listener class, See: PluginManager.registerEvents(cn.nukkit.event.Listener, cn.nukkit.plugin.Plugin).

关于处理器的优先级和处理器是否忽略被取消的事件,请看:EventHandler.
For the priority of handler and whether the handler ignore cancelled events or not, See: EventHandler.

Since:
Nukkit 1.0 | Nukkit API 1.0.0
Author:
Unknown(code) @ Nukkit Project, 粉鞋大妈(javadoc) @ Nukkit Project
See Also: