Fix reflection access

This commit is contained in:
games647
2020-05-19 09:57:39 +02:00
parent b1797c84d9
commit b41d56f835

View File

@ -13,6 +13,7 @@ import com.google.common.base.Throwables;
import java.lang.invoke.MethodHandle;
import java.lang.invoke.MethodHandles;
import java.lang.invoke.MethodHandles.Lookup;
import java.lang.reflect.Field;
import java.util.UUID;
import net.md_5.bungee.api.connection.PendingConnection;
@ -49,9 +50,12 @@ public class ConnectListener implements Listener {
MethodHandle setHandle = null;
MethodHandle getHandle = null;
try {
final Lookup lookup = MethodHandles.lookup();
setHandle = lookup.findSetter(InitialHandler.class, UUID_FIELD_NAME, UUID.class);
getHandle = lookup.findGetter(InitialHandler.class, UUID_FIELD_NAME, UUID.class);
Lookup lookup = MethodHandles.lookup();
Field uuidField = InitialHandler.class.getDeclaredField(UUID_FIELD_NAME);
uuidField.setAccessible(true);
setHandle = lookup.unreflectSetter(uuidField);
getHandle = lookup.unreflectGetter(uuidField);
} catch (ReflectiveOperationException reflectiveOperationException) {
reflectiveOperationException.printStackTrace();
}