ru.whoisamyy.api.plugins.events.GetLevelsEvent Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of core Show documentation
Show all versions of core Show documentation
Geometry Dash kernel in java
package ru.whoisamyy.api.plugins.events;
import ru.whoisamyy.api.gd.objects.Level;
import ru.whoisamyy.core.endpoints.RequestManager;
import java.lang.reflect.Method;
import java.lang.reflect.Parameter;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class GetLevelsEvent extends Event {
//static final List> allowedTypes; //allowedTypes are parameters from corresponding method in ru.whoisamyy.core.endpoints.RequestManager
//static final List parameterNames; //parameter names from correspongind method in ru.whoisamyy.core.endpoints.RequestManager
void init() {
try {
Method m = RequestManager.Levels.class.getMethod("getGJLevels", String.class, Integer.class, Integer.class,
Integer.class, String.class, Integer.class, Integer.class, String.class, Integer.class, Integer.class,
Integer.class, String.class, String.class, String.class, Integer.class, Integer.class, String.class,
Integer.class, Integer.class, Integer.class, Integer.class, Integer.class, Integer.class, Integer.class,
Integer.class, Integer.class, String.class, Integer.class);
List> at = new ArrayList<>(List.of(m.getParameterTypes()));
at.add(List.class);
allowedTypes = at;
Parameter[] params= m.getParameters();
List strings = new ArrayList<>();
Arrays.stream(params).forEach(x->strings.add(x.getName()));
parameterNames = new ArrayList<>(strings);
} catch (NoSuchMethodException e) {
throw new RuntimeException(e);
}
}
public GetLevelsEvent(Object... parameterValues) throws NoSuchFieldException {
super(parameterValues);
}
}