diff options
author | ingle <inglettronald@gmail.com> | 2022-10-15 11:18:19 -0500 |
---|---|---|
committer | ingle <inglettronald@gmail.com> | 2022-10-15 11:18:19 -0500 |
commit | d2eb0ada9182f9cd507cd32b74cb72f62355acaa (patch) | |
tree | 5f9378e9f066f62b777bc7e8c308f7c9ac1f9b7c /src/main/kotlin/dulkirmod/utils/TablistUtils.kt | |
parent | bb0a6799a67e3bed3f78948b2dc5711c668e1c4f (diff) | |
download | DulkirMod-d2eb0ada9182f9cd507cd32b74cb72f62355acaa.tar.gz DulkirMod-d2eb0ada9182f9cd507cd32b74cb72f62355acaa.tar.bz2 DulkirMod-d2eb0ada9182f9cd507cd32b74cb72f62355acaa.zip |
+ moar bestiary stuff and added WorldRenderUtils
Diffstat (limited to 'src/main/kotlin/dulkirmod/utils/TablistUtils.kt')
-rw-r--r-- | src/main/kotlin/dulkirmod/utils/TablistUtils.kt | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/main/kotlin/dulkirmod/utils/TablistUtils.kt b/src/main/kotlin/dulkirmod/utils/TablistUtils.kt new file mode 100644 index 0000000..57cb289 --- /dev/null +++ b/src/main/kotlin/dulkirmod/utils/TablistUtils.kt @@ -0,0 +1,38 @@ +package dulkirmod.utils + +import com.google.common.collect.ComparisonChain +import com.google.common.collect.Ordering +import dulkirmod.DulkirMod.Companion.mc +import net.minecraft.client.network.NetworkPlayerInfo +import net.minecraft.world.WorldSettings + +val NetworkPlayerInfo.text: String + get() = mc.ingameGUI.tabList.getPlayerName(this) + +// STOLEN FROM SKYTILS mmm yes +object TabListUtils { + private val playerInfoOrdering = object : Ordering<NetworkPlayerInfo>() { + override fun compare(p_compare_1_: NetworkPlayerInfo?, p_compare_2_: NetworkPlayerInfo?): Int { + val scorePlayerTeam = p_compare_1_?.playerTeam + val scorePlayerTeam1 = p_compare_2_?.playerTeam + if (p_compare_1_ != null) { + if (p_compare_2_ != null) { + return ComparisonChain.start().compareTrueFirst( + p_compare_1_.gameType != WorldSettings.GameType.SPECTATOR, + p_compare_2_.gameType != WorldSettings.GameType.SPECTATOR + ).compare( + if (scorePlayerTeam != null) scorePlayerTeam.registeredName else "", + if (scorePlayerTeam1 != null) scorePlayerTeam1.registeredName else "" + ).compare(p_compare_1_.gameProfile.name, p_compare_2_.gameProfile.name).result() + } + return 0 + } + return -1 + } + } + var tabEntries: List<Pair<NetworkPlayerInfo, String>> = emptyList() + fun fetchTabEntires(): List<NetworkPlayerInfo> = + if (mc.thePlayer == null) emptyList() else playerInfoOrdering.sortedCopy( + mc.thePlayer.sendQueue.playerInfoMap + ) +}
\ No newline at end of file |