ru.whoisamyy.api.plugins.events.DownloadLevelEvent 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.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 DownloadLevelEvent extends Event {
//static final List> allowedTypes; //allowedTypes is 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("downloadGJLevel", int.class, String.class, Integer.class, String.class);
List> at = new ArrayList<>(List.of(m.getParameterTypes()));
at.add(m.getReturnType());
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 DownloadLevelEvent(Object... parameterValues) throws NoSuchFieldException {
super(parameterValues);
}
}