All Downloads are FREE. Search and download functionalities are using the official Maven repository.

cn.nukkit.event.Listener Maven / Gradle / Ivy

There is a newer version: 1.20.40-r1
Show newest version
package cn.nukkit.event;

/**
 * 所有的监听事件的类必须实现的接口。
* 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.

* *

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

*
 * public class ExampleListener implements Listener {
 *    {@code @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);
 *          }
 *     }
 * }
 * 
* *

关于注册监听类,请看:{@link cn.nukkit.plugin.PluginManager#registerEvents}.
* For registering listener class, See: {@link cn.nukkit.plugin.PluginManager#registerEvents}.

* *

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

* * @author Unknown(code) @ Nukkit Project * @author 粉鞋大妈(javadoc) @ Nukkit Project * @see cn.nukkit.event.Event * @since Nukkit 1.0 | Nukkit API 1.0.0 */ public interface Listener { }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy