forked from TuxCoding/FastLogin
Fix reflection access
This commit is contained in:
@ -13,6 +13,7 @@ import com.google.common.base.Throwables;
|
|||||||
import java.lang.invoke.MethodHandle;
|
import java.lang.invoke.MethodHandle;
|
||||||
import java.lang.invoke.MethodHandles;
|
import java.lang.invoke.MethodHandles;
|
||||||
import java.lang.invoke.MethodHandles.Lookup;
|
import java.lang.invoke.MethodHandles.Lookup;
|
||||||
|
import java.lang.reflect.Field;
|
||||||
import java.util.UUID;
|
import java.util.UUID;
|
||||||
|
|
||||||
import net.md_5.bungee.api.connection.PendingConnection;
|
import net.md_5.bungee.api.connection.PendingConnection;
|
||||||
@ -49,9 +50,12 @@ public class ConnectListener implements Listener {
|
|||||||
MethodHandle setHandle = null;
|
MethodHandle setHandle = null;
|
||||||
MethodHandle getHandle = null;
|
MethodHandle getHandle = null;
|
||||||
try {
|
try {
|
||||||
final Lookup lookup = MethodHandles.lookup();
|
Lookup lookup = MethodHandles.lookup();
|
||||||
setHandle = lookup.findSetter(InitialHandler.class, UUID_FIELD_NAME, UUID.class);
|
|
||||||
getHandle = lookup.findGetter(InitialHandler.class, UUID_FIELD_NAME, UUID.class);
|
Field uuidField = InitialHandler.class.getDeclaredField(UUID_FIELD_NAME);
|
||||||
|
uuidField.setAccessible(true);
|
||||||
|
setHandle = lookup.unreflectSetter(uuidField);
|
||||||
|
getHandle = lookup.unreflectGetter(uuidField);
|
||||||
} catch (ReflectiveOperationException reflectiveOperationException) {
|
} catch (ReflectiveOperationException reflectiveOperationException) {
|
||||||
reflectiveOperationException.printStackTrace();
|
reflectiveOperationException.printStackTrace();
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user