Files
runelite/runescape-client/src/main/java/UserComparator3.java
2019-07-18 15:21:46 +02:00

82 lines
2.2 KiB
Java

import java.net.URL;
import net.runelite.mapping.Export;
import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature;
@ObfuscatedName("fk")
@Implements("UserComparator3")
public class UserComparator3 extends AbstractUserComparator {
@ObfuscatedName("gm")
@ObfuscatedSignature(
signature = "[Lly;"
)
@Export("headIconPkSprites")
static Sprite[] headIconPkSprites;
@ObfuscatedName("q")
@Export("reversed")
final boolean reversed;
public UserComparator3(boolean var1) {
this.reversed = var1;
}
@ObfuscatedName("q")
@ObfuscatedSignature(
signature = "(Ljz;Ljz;I)I",
garbageValue = "2060416979"
)
@Export("compareBuddy")
int compareBuddy(Buddy var1, Buddy var2) {
if (var2.world != var1.world) {
return this.reversed ? var1.world - var2.world : var2.world - var1.world;
} else {
return this.compareUser(var1, var2);
}
}
public int compare(Object var1, Object var2) {
return this.compareBuddy((Buddy)var1, (Buddy)var2);
}
@ObfuscatedName("q")
@ObfuscatedSignature(
signature = "(I)Z",
garbageValue = "1010038987"
)
@Export("loadWorlds")
static boolean loadWorlds() {
try {
if (World.field1027 == null) {
World.field1027 = SequenceDefinition.urlRequester.request(new URL(WorldMapArea.field213));
} else if (World.field1027.isDone()) {
byte[] var0 = World.field1027.getResponse();
Buffer var1 = new Buffer(var0);
var1.readInt();
World.worldsCount = var1.readUnsignedShort();
World.worlds = new World[World.worldsCount];
World var3;
for (int var2 = 0; var2 < World.worldsCount; var3.index = var2++) {
var3 = World.worlds[var2] = new World();
var3.id = var1.readUnsignedShort();
var3.properties = var1.readInt();
var3.host = var1.readStringCp1252NullTerminated();
var3.activity = var1.readStringCp1252NullTerminated();
var3.location = var1.readUnsignedByte();
var3.population = var1.readShort();
}
Client.sortWorlds(World.worlds, 0, World.worlds.length - 1, World.sortOption1, World.sortOption2);
World.field1027 = null;
return true;
}
} catch (Exception var4) {
var4.printStackTrace();
World.field1027 = null;
}
return false;
}
}