Bungeecord support added x5
This commit is contained in:
parent
4293752e41
commit
9fd2dc825a
@ -67,12 +67,38 @@ public class XCraft extends Plugin implements Listener {
|
|||||||
onlineModeField.setAccessible(true);
|
onlineModeField.setAccessible(true);
|
||||||
onlineModeField.set(connection, false);
|
onlineModeField.set(connection, false);
|
||||||
|
|
||||||
|
injectCustomSkin(connection);
|
||||||
|
|
||||||
getLogger().info("Bypassed Mojang authentication for " + connection.getName());
|
getLogger().info("Bypassed Mojang authentication for " + connection.getName());
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
e.printStackTrace();
|
e.printStackTrace();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void injectCustomSkin(PendingConnection connection) {
|
||||||
|
try {
|
||||||
|
Class<?> initialHandlerClass = connection.getClass();
|
||||||
|
|
||||||
|
Field loginProfileField = initialHandlerClass.getDeclaredField("loginProfile");
|
||||||
|
loginProfileField.setAccessible(true);
|
||||||
|
|
||||||
|
Class<?> loginResultClass = Class.forName("net.md_5.bungee.connection.LoginResult");
|
||||||
|
Class<?> propertyClass = Class.forName("net.md_5.bungee.connection.LoginResult$Property");
|
||||||
|
|
||||||
|
Object[] properties = new Object[1];
|
||||||
|
properties[0] = propertyClass.getConstructor(String.class, String.class, String.class)
|
||||||
|
.newInstance("textures", server.getTextures(connection.getUniqueId().toString()).getValue(), null);
|
||||||
|
|
||||||
|
Object customLoginResult = loginResultClass
|
||||||
|
.getConstructor(String.class, UUID.class, propertyClass.arrayType())
|
||||||
|
.newInstance(connection.getName(), connection.getUniqueId(), properties);
|
||||||
|
|
||||||
|
loginProfileField.set(connection, customLoginResult);
|
||||||
|
} catch (Exception e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
@ -234,7 +234,7 @@ public class SaltNic extends NanoHTTPD {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private MinecraftProperty getTextures(String uuid) {
|
public MinecraftProperty getTextures(String uuid) {
|
||||||
Map<MinecraftProfileTexture.Type, MinecraftProfileTexture> textures = new HashMap<>();
|
Map<MinecraftProfileTexture.Type, MinecraftProfileTexture> textures = new HashMap<>();
|
||||||
|
|
||||||
if( new File(SKIN_DIRECTORY, uuid + ".png").exists() ) {
|
if( new File(SKIN_DIRECTORY, uuid + ".png").exists() ) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user