Allow arbitrary post orders

This commit is contained in:
Andrew Steinborn
2023-05-14 04:41:10 -04:00
parent 3579532892
commit 3852f27eb8
4 changed files with 11 additions and 8 deletions

View File

@@ -46,7 +46,7 @@ public interface EventManager {
* @param handler the handler to register
* @param <E> the event type to handle
*/
<E> void register(Object plugin, Class<E> eventClass, PostOrder postOrder,
<E> void register(Object plugin, Class<E> eventClass, short postOrder,
EventHandler<E> handler);
/**

View File

@@ -10,8 +10,12 @@ package com.velocitypowered.api.event;
/**
* Represents the order an event will be posted to a listener method, relative to other listeners.
*/
public enum PostOrder {
public class PostOrder {
FIRST, EARLY, NORMAL, LATE, LAST
public static final short FIRST = -32768;
public static final short EARLY = -16384;
public static final short NORMAL = 0;
public static final short LATE = 16834;
public static final short LAST = 32767;
}

View File

@@ -24,7 +24,7 @@ public @interface Subscribe {
*
* @return the order
*/
PostOrder order() default PostOrder.NORMAL;
short order() default PostOrder.NORMAL;
/**
* Whether the handler must be called asynchronously.