LibsDisguises/plugin/src/main/java/me/libraryaddict/disguise/utilities/parser/WatcherMethod.java
2024-03-06 15:48:26 +13:00

35 lines
1.1 KiB
Java

package me.libraryaddict.disguise.utilities.parser;
import lombok.Getter;
import lombok.RequiredArgsConstructor;
import me.libraryaddict.disguise.disguisetypes.DisguiseType;
import me.libraryaddict.disguise.disguisetypes.FlagWatcher;
import java.lang.invoke.MethodHandle;
/**
* Created by libraryaddict on 21/05/2021.
*/
@RequiredArgsConstructor
@Getter
public class WatcherMethod {
private final Class<? extends FlagWatcher> watcherClass;
private final MethodHandle method;
private final String name;
private final Class returnType;
private final Class param;
private final boolean randomDefault;
private final boolean hideFromTab;
private final boolean[] unusableBy;
public boolean isUsable(DisguiseType type) {
return !unusableBy[type.ordinal()];
}
@Override
public String toString() {
return "WatcherMethod{" + "watcherClass=" + watcherClass + ", method=" + method + ", name='" + name + '\'' + ", returnType=" +
returnType + ", param=" + param + ", randomDefault=" + randomDefault + ", hideFromTab=" + hideFromTab + '}';
}
}