Skip to content

Commit 8e3e5c5

Browse files
committed
Fix exception being thrown when trying to use EventValueExpression without calling init()
1 parent 508f01c commit 8e3e5c5

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/main/java/ch/njol/skript/expressions/base/EventValueExpression.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -165,7 +165,8 @@ public static <T> void register(Class<? extends EventValueExpression<T>> express
165165
private final Class<?> componentType;
166166
private final Class<? extends T> type;
167167

168-
private Class<? extends Event>[] events;
168+
@SuppressWarnings("unchecked")
169+
private Class<? extends Event>[] events = new Class[0];
169170
private @Nullable Changer<? super T> changer;
170171
private final boolean single;
171172
private final boolean exact;
@@ -258,9 +259,8 @@ public boolean init() {
258259
}
259260

260261
@Override
261-
@Nullable
262262
@SuppressWarnings("unchecked")
263-
protected T[] get(Event event) {
263+
protected T @Nullable [] get(Event event) {
264264
T value = getValue(event);
265265
if (value == null)
266266
return (T[]) Array.newInstance(componentType, 0);
@@ -346,6 +346,11 @@ public void change(Event event, @Nullable Object[] delta, ChangeMode mode) {
346346

347347
@Override
348348
public boolean setTime(int time) {
349+
events = getParser().getCurrentEvents();
350+
if (events == null) {
351+
assert false;
352+
return false;
353+
}
349354
for (Class<? extends Event> event : events) {
350355
assert event != null;
351356
if (getEventValuesForTime(event, EventValue.TIME_PAST).successful()

0 commit comments

Comments
 (0)