diff --git a/src/main/java/ch/njol/skript/events/EvtMove.java b/src/main/java/ch/njol/skript/events/EvtMove.java index 01aa9436072..0eec1d9aa1c 100644 --- a/src/main/java/ch/njol/skript/events/EvtMove.java +++ b/src/main/java/ch/njol/skript/events/EvtMove.java @@ -132,7 +132,6 @@ public boolean check(Event event) { } @Override - @Nullable @SuppressWarnings("unchecked") public Class [] getEventClasses() { if (isPlayer) { @@ -140,7 +139,7 @@ public boolean check(Event event) { } else if (HAS_ENTITY_MOVE) { return new Class[] {EntityMoveEvent.class}; } - return null; + throw new IllegalStateException("This event has not yet initialized!"); } @Override diff --git a/src/main/java/ch/njol/skript/lang/SkriptEvent.java b/src/main/java/ch/njol/skript/lang/SkriptEvent.java index 145115a4460..83145335fcc 100644 --- a/src/main/java/ch/njol/skript/lang/SkriptEvent.java +++ b/src/main/java/ch/njol/skript/lang/SkriptEvent.java @@ -85,8 +85,17 @@ public final boolean init(Literal[] args, int matchedPattern, ParseResult par throw new IllegalStateException(); skriptEventInfo = (SkriptEventInfo) syntaxElementInfo; + assert entryContainer != null; // cannot be null for non-simple structures + this.source = entryContainer.getSource(); + + // use default value for now + listeningBehavior = eventData.getListenerBehavior(); + + // initialize implementation + if (!init(args, matchedPattern, parseResult)) + return false; + // evaluate whether this event supports listening to cancelled events - supportsListeningBehavior = false; for (Class eventClass : getEventClasses()) { if (Cancellable.class.isAssignableFrom(eventClass)) { supportsListeningBehavior = true; @@ -94,7 +103,6 @@ public final boolean init(Literal[] args, int matchedPattern, ParseResult par } } - listeningBehavior = eventData.getListenerBehavior(); // if the behavior is non-null, it was set by the user if (listeningBehavior != null && !isListeningBehaviorSupported()) { String eventName = skriptEventInfo.name.toLowerCase(Locale.ENGLISH); @@ -102,10 +110,7 @@ public final boolean init(Literal[] args, int matchedPattern, ParseResult par return false; } - assert entryContainer != null; // cannot be null for non-simple structures - this.source = entryContainer.getSource(); - - return init(args, matchedPattern, parseResult); + return true; } /**