from __future__ import absolute_import
import uuid
[docs]class UUID(uuid.UUID):
[docs] @classmethod
def from_hex(cls, hex):
return cls(hex=hex)
[docs] @classmethod
def from_bytes(cls, bytes):
return cls(bytes=bytes)
[docs] @classmethod
def from_offline_player(cls, display_name):
class FakeNamespace(object):
bytes = b'OfflinePlayer:'
base_uuid = uuid.uuid3(FakeNamespace(), display_name)
return cls(bytes=base_uuid.bytes)
[docs] @classmethod
def random(cls):
return cls(bytes=uuid.uuid4().bytes)
[docs] def to_hex(self, with_dashes=True):
if with_dashes:
return "%s" % self
else:
return self.hex
[docs] def to_bytes(self):
return self.bytes