Close
    Search Search

    Identificador universal único

    Identificador universal único

    UUID (Identificadores únicos universales; Java Class) son números de 128 bits de largo que utiliza Minecraft para distinguir entre instancias separadas.


    Representación

    • Hexadecimal con guion: Una representación hexadecimal del UUID, con guiones que separan las diferentes secciones en números individuales.
      Los guiones están configurados para dividir el UUID en números con el formato 8-4-4-4-12 y cada número marca el número de dígitos hexadecimales que encajan en la sección correspondiente. A continuación se ofrecen más detalles en la sección Aspectos técnicos.
      Un ejemplo de esta representación sería f81d4fae-7dec-11d0-a765-00a0c91e6bf6.
      • Dado que cada parte se evalúa como un número individual, se pueden ignorar los dígitos vacíos al comienzo de una sección.
        Por ejemplo, 00000001-0002-0003-0004-000000000005 se puede evaluar como lo mismo que 1-2-3-4-5.
    • Hexadecimal: Igual que la representación hexadecimal con guión, pero sin la separación de las diferentes secciones.
      Un ejemplo de esta representación sería 00000001000200030004000000000005, donde es imposible eliminar la mayoría de los dígitos vacíos a diferencia de la representación hexadecimal con guiones.
    • Más menos: Una separación de los 64 bits más significativos de los 64 bits menos significativos. Cada uno de los dos números se almacena por separado y utiliza el tipo de datos Long en el juego.
      Este formato está en desuso ya que se usó antes de 1.16 y fue reemplazado por completo por el formato Int-array.
      Un ejemplo de esta representación sería UUIDMost: -568210367123287600 emparejado con UUIDLeast: -6384696206158828554.
    • Int-matriz: Una separación en cuatro números de 32 bits. Cada parte se almacena en una matriz de números enteros ordenados de más significativa a menos significativa.
      Un ejemplo de esta representación sería [I; -132296786,2112623056, -1486552928, -920753162]

    Sucesos

    La siguiente tabla representa las situaciones en las que los UUID se utilizan en lugares accesibles por un jugador:




    Ubicación (general) Ubicación (ruta) Formato Utilizan
    Todas las entidades (NBT) UUID int-array UUID propio
    Modificadores de atributos (NBT) UUID int-array UUID propio. Se usa al equipar y desequipar el artículo para identificar qué modificador agregar o quitar de la entidad.
    Modificadores de atributos (tabla de botín) id Hexadecimal con guion Establecer UUID del modificador en la función set_attributes
    /atributo - Hexadecimal con guion Se usa para identificar el modificador
    Mobs domesticables (NBT) Propietario int-array Propietario
    Proyectiles (NBT) Propietario int-array Entidad que disparó el proyectil
    Entidades de artículo (NBT) Propietario int-array Jugador objetivo para / dar mando
    Entidades de artículo (NBT) Lanzador int-array Jugador que dejó caer el objeto
    Balas Shulker (NBT) Target int-array Entidad objetivo del ataque
    Conductos (NBT) Target int-array Entidad objetivo del ataque
    Cabezas de jugador (NBT) SkullOwner.Id int-array Dueño de la piel
    Cabezas de jugador (NBT) SkullOwner.Properties.textures.Value.ProfileId hexadecimal Dueño de la piel
    Mobs (NBT) Leash.UUID int-array Entidad que amarró a la mafia
    Mobs criables (NBT) LoveCause int-array Jugador que alimentó a la mafia
    Aldeanos zombis (NBT) ConversionPlayer int-array Jugador que está convirtiendo al Zombie Villager
    Mobs neutrales excepto piglins (NBT) Enfadado con int-array Entidad que hirió a la mafia neutral
    Aldeanos (NBT) Gossips.Objetivo int-array Jugador que causó el chisme
    Jugadores (NBT) RootVehicle.Attach int-array Identificador de la entidad en la que viaja el jugador
    Selectores de destino (comandos) - Hexadecimal con guion Entidad seleccionada

    Aspectos técnicos

    Rango de valores

    Un UUID se puede expresar como un número de 128 bits, lo que significa que admite todos los valores enteros desde - (2 ^ 127) a (2 ^ 127) -1. Es importante señalar que esta evaluación no se refiere al rango de valores que genera el juego, sino que se centra en la capacidad del formato.



    Nombres de sección en formato hexadecimal con guiones

    Los UUID de formato hexadecimal con guiones siguen el patrón xxxxxxxx-xxxx-Axxx-Bxxx-xxxxxxxxxxxx.

    Nombre de la sección Rango de bits
    Desde A Tamaño Personajes.
    poco tiempo 96 127 32 8
    tiempo medio 80 95 16 4
    tiempo-alto-y-versión 54 79 16 4
    secuencia de reloj y reservada 36 53 8 2
    clock-seq-low 48 45 8 2
    nodo 0 47 48 12

    (Los nombres tienen sentido solo para los UUID de la versión 1 y 2, pero se han pasado a todas las formas de UUID utilizados).


    Versiones y variantes

    Ha habido cinco versiones de UUID. Las versiones 1 y 2 se basan en la hora actual y la dirección MAC; las versiones 3 y 5 se basan en el hash de una cadena; la versión 4 se basa en una generación completamente aleatoria. El valor de la "versión" ocupa cuatro bits y se encuentra en el formato de cadena UUID en la posición indicada por una "A".

    La posición "B" es la variante (formato) del UUID. Dependiendo de la variante específica, puede ocupar los 1 a 3 bits altos:

    • 0xx es la "variante 0" de Apollo NCS 1.5, un tipo antiguo de UUID.
    • 10x es la "variante 1" de IETF RFC 4122 (Leach-Salz). Java se refiere a ella como "variante 2".
    • 110 es la "variante 2" de los productos antiguos de Microsoft. Java se refiere a ella como "variante 6".
    • 111 es la "variante reservada". Java se refiere a ella como "variante 7".

    En Minecraft

    Minecraft usa UUID de la versión 4, variante 1 (RFC), lo que significa que el número completo con la excepción de los bits utilizados para los metadatos (versión y variante) se genera aleatoriamente. La función UUID.randomUUID () de Java realiza exactamente esta tarea.

    Una tabla con las ubicaciones y los valores de los metadatos:

    Versión bit a bit

    Artículo principal: UUID / metadatos [editar]

    Versión contraída

    Artículo principal: UUID / metadata1 [editar]

    Enlaces externos

    • Genere UUID en formato hexadecimal con guiones
    • Genere UUID en formato hexadecimal con guiones
    • Convierta y genere todos los formatos diferentes, con la excepción de que el formato hexadecimal sin guiones solo se acepta como entrada


    Añade un comentario de Identificador universal único
    ¡Comentario enviado con éxito! Lo revisaremos en las próximas horas.