diff options
Diffstat (limited to 'src/main/kotlin/moe/nea/ledger/MCUUIDUtil.kt')
-rw-r--r-- | src/main/kotlin/moe/nea/ledger/MCUUIDUtil.kt | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/main/kotlin/moe/nea/ledger/MCUUIDUtil.kt b/src/main/kotlin/moe/nea/ledger/MCUUIDUtil.kt new file mode 100644 index 0000000..79068cc --- /dev/null +++ b/src/main/kotlin/moe/nea/ledger/MCUUIDUtil.kt @@ -0,0 +1,22 @@ +package moe.nea.ledger + +import com.mojang.util.UUIDTypeAdapter +import net.minecraft.client.Minecraft +import java.util.UUID + +object MCUUIDUtil { + + fun parseDashlessUuid(string: String) = UUIDTypeAdapter.fromString(string) + val NIL_UUID = UUID(0L, 0L) + fun getPlayerUUID(): UUID { + val currentUUID = Minecraft.getMinecraft().thePlayer?.uniqueID + ?: Minecraft.getMinecraft().session?.playerID?.let(::parseDashlessUuid) + ?: lastKnownUUID + lastKnownUUID = currentUUID + return currentUUID + } + + + private var lastKnownUUID: UUID = NIL_UUID + +}
\ No newline at end of file |