Los identificadores de objeto (también conocidos como líneas de nombre,[1] localizaciones de recursos,[2] o identificadores de recursos[3]) son una forma de declarar e identificar los objetos incluidos en el juego y definidos por los usuarios al jugar a Minecraft, evitando ambigüedades generadas por sus nombres.
Uso[]
Los identificadores con nombre se usan como líneas de texto para hacer referencia a bloques, objetos, tipos de entidades, recetas, funciones, logros, etiquetas y otros tipos de objetos en el juego estándar de Minecraft. Curiosamente, los estados de bloque no se consideran como estados con nombre.
Un identificador con nombre válido tiene el siguiente formato: :name
, donde solo se pueden emplear ciertos caracteres.
Esta es una lista de todos los lugares que contienen IDs con espacio de nombres:
- REGISTROS INCORPORADOS
-
- Atributos
- Bloques
- Bloques entidad[Solo Java Edition]
- Fluidos[Solo Java Edition]
- Objetos
- Entidades
- Mob memories[Solo Java Edition]
- Painting motives[Solo Java Edition]
- Trabajos de Aldeanos[Solo Java Edition]
- Tipos de Aldeanos[Solo Java Edition]
- Estado de efectos de poción
- Tipos de poción[Solo Java Edition]
- Encantamientos
- Partículas
- Dimensiones[Solo Java Edition]
- Biomas
- Estadísticas [Solo Java Edition]
- Tipos de receta[Solo Java Edition]
- Serializadores de pociónes[Solo Java Edition]
- Efectos de sonido
- Contenidos de data packs[Solo Java Edition]
-
- Logros
- Probabilidades de Loot
- Funciones
- Archivos de estructuras
- Recetas
- Bloques/Fluidos/Items/Tipos de entidad/Tags de funciones
- Contenidos de add-ons[Solo Bedrock Edition]
-
- Tablas de botín
- Funciones
- Contenidos de Texture packs[Solo Java Edition]
-
- Archivos de estado de bloque
- Modelos
- Texturas
- Sonidos
- Otros contenidos customisados[Solo Java Edition]
-
- Barras de vida de jefes
- Almacenamiento de comandos
- Otros contenidos no personalizables (sin mods)
-
- funciones de botín
- Condiciones de botín
- tipos de botín
- Tipos de argumentos de comando
Caracteres legales[]
Java Edition[]
El espacio de nombres y el nombre de una ID solo deben contener los siguientes símbolos:
- <código>0123456789</código> Números
abcdefghijklmnopqrstuvwxyz
letras minúsculas_
guión bajo-
Guión/menos.
Punto
Los siguientes caracteres son ilegales en el espacio de nombres, pero aceptables en el nombre:
/
barra diagonal (separador de directorio)
La convención de nomenclatura preferida para el espacio de nombres o el nombre es snake_case
.
Bedrock Edition[]
El espacio de nombres y el nombre de un ID pueden contener todos los símbolos excepto barras y dos puntos.
Los siguientes caracteres son ilegales en el espacio de nombres, pero aceptables en el nombre de tablas y funciones de botín.
/
barra diagonal (separador de directorio)
The preferred naming convention for either namespace or name is snake_case
.
Conversión a cadena[]
Un ID de espacio de nombres se convertiría en una cadena agregando a su espacio de nombres un <código>:</código> (dos puntos) y su nombre.
Ejemplos:
Espacio de nombres | Nombre | Representación de cadenas |
---|---|---|
minecraft |
diamond |
minecraft:diamond
|
foo |
bar.baz |
foo:bar.baz
|
minecraftwiki |
commands/minecraft_wiki |
minecraftwiki:commands/minecraft_wiki
|
Conversión de cadena[]
A diferencia de los ID con espacios de nombres siempre se pueden convertir en cadenas, algunas cadenas no se pueden convertir en ID con espacios de nombres.
Existen una serie de restricciones:
- La cadena puede tener como máximo un carácter
:
(dos puntos) - El resto de la cadena debe cumplir con el requisito de caracteres legales
- Si
:
está presente, la parte de la cadena antes de:
(el espacio de nombres) no debe contener/
o.
Cuando :
está presente, la parte de la cadena antes de :
se convierte en el espacio de nombres y la que sigue a :
se convierte en el nombre.
Cuando :
está ausente, minecraft
se convierte en el espacio de nombres y toda la cadena se convierte en el nombre.[Solo Java Edition]
Se recomienda incluir siempre un :
en el formato de cadena de los ID con espacio de nombres.
- Ejemplos
Cuerda | Espacio de nombres resuelto | Nombre resuelto | En qué lo vuelve a convertir el juego |
---|---|---|---|
bar:code |
bar |
code |
bar:code
|
minecraft:zombie |
minecraft |
zombie |
minecraft:zombie
|
diamond |
minecraft [Solo Java Edition]None[Solo Bedrock Edition] |
diamond |
minecraft:diamond [Solo Java Edition]diamond [Solo Bedrock Edition]
|
foo/bar:coal |
Carácter invalido / |
||
minecraft/villager |
minecraft [Solo Java Edition]None[Solo Bedrock Edition] |
minecraft/villager |
minecraft:minecraft/villager [Solo Java Edition]minecraft/villager [Solo Bedrock Edition]
|
mypack_recipe |
minecraft [Solo Java Edition]None[Solo Bedrock Edition] |
mypack_recipe |
minecraft:mypack_recipe [Solo Java Edition]mypack_recipe [Solo Bedrock Edition]
|
mymap:schrödingers_var |
mymap |
Carácter invalido ö [Solo Java Edition]schrödingers_var [Solo Bedrock Edition] |
mymap:schrödingers_var [Solo Bedrock Edition]
|
custom_pack:Capital |
custom_pack |
Carácter invalido C [Solo Java Edition]Capital [Solo Bedrock Edition] |
custom_pack:Capital [Solo Bedrock Edition]
|
Localización de contenido en paquetes[]
Dado que los objetos de Paquetes de recursos y los paquetes de datos son archivos, la ID con espacio de nombres también se puede usar para encontrar los archivos correspondientes que declararon objetos de la ID.
Aunque las ubicaciones varían según el tipo de objeto y el tipo de paquete al que pertenece el tipo de objeto, hay un patrón a seguir. En general, la ubicación tiene la forma de pack_type/namespace/object_type/name.suffix
, donde todos los El símbolo /
(barra inclinada) (puede ser parte de object_type
o name
) se reemplaza por el directorio dependiente del sistema operativo separador.
Asignaciones de tipo de objeto a las variables pack_type
, object_type
y suffix
Object Type | Object's pack | pack_type substitution |
object_type substitution |
suffix substitution
|
---|---|---|---|---|
Estados de bloque | Paquete de recursos | assets |
blockstates |
json
|
Modelos | Paquete de recursos | assets |
models |
json
|
Partículas | Paquete de recursos | assets |
particles |
json
|
Texturas | Paquete de recursos | assets |
textures |
png
|
Logros | Paquetes de datos | data |
advancements |
json
|
Funciones | Paquetes de datos | data |
functions |
mcfunction
|
Tablas de botín | Paquetes de datos | data |
loot_tables |
json
|
Recetas | Paquetes de datos | data |
recipes |
json
|
Estructuras | Paquetes de datos | data |
structures |
nbt
|
Etiquetas de bloque | Paquetes de datos | data |
tags/blocks |
json
|
Etiquetas de tipo de entidad | Paquetes de datos | data |
tags/entity_types |
json
|
Etiquetas de objeto | Paquetes de datos | data |
tags/items |
json
|
Etiquetas de fluido | Paquetes de datos | data |
tags/fluids |
json
|
Etiquetas Función | Paquetes de datos | data |
tags/functions |
json
|
Nota: Ciertos elementos en el paquete de recursos no necesariamente están respaldados por un objeto con ID de espacio de nombres, como texturas GUI.
Dado el tipo de contenido que queremos localizar, podemos encontrar el correspondiente pack_type
, object_type
y suffix
. Luego, podemos sustituirlo y averiguar la ubicación final del archivo del contenido.
Examples
ID con espacio de nombre | Tipo de contenido | pack_type |
object_type |
suffix |
Ubicación final |
---|---|---|---|---|---|
my_texture_pack:diamonds |
Textura | assets |
textures |
png |
assets/my_texture_pack/textures/diamonds.png
|
abc:run_game |
Función | data |
functions |
mcfunction |
data/abc/functions/run_game.mcfunction
|
block/torch (igual que minecraft:block/torch ) |
Model | assets |
models |
json |
assets/minecraft/models/block/torch.json
|
load (igual que minecraft:load ) |
Etiqueta de función | data |
tags/functions |
json |
data/minecraft/tags/functions/load.json
|
rocket_pack:industry/start_of_story |
Logros | data |
advancements |
json |
data/rocket_pack/advancements/industry/start_of_story.json
|
Espacios de nombres[]
|
s. Cada vez que se le pida que nombre algo, por ejemplo, una tabla de botín, también se espera que proporcione de qué espacio de nombres proviene esa cosa. Si no especificas el espacio de nombres, por defecto usamos minecraft
. Esto significa que something
y minecraft:something
son lo mismo.|Dinnerbone|espacios de nombres[4]|Nathan Adams Mojang avatar.png}}
Un espacio de nombres es un dominio para los contenidos. Es para evitar posibles conflictos de contenido o anulaciones no intencionales de objetos con el mismo nombre.
Por ejemplo, dos paquetes de datos agregan dos mecanismos de minijuegos a "Minecraft"; ambos tienen una función llamada start
. Sin espacios de nombres, estas dos funciones chocarían y los minijuegos se romperían. Cuando tienen diferentes espacios de nombres de minigame_one
y minigame_two
, las funciones se convertirían en minigame_one:start
y minigame_two:start
, que ya no entran en conflicto.
Espacio de nombres minecraft
[]
Minecraft reserva el espacio de nombres minecraft
; cuando no se especifica un espacio de nombres, una ID de espacio de nombres recurre a minecraft
[Solo Java Edition]. Como resultado, los creadores de contenido solo deben usar el espacio de nombres minecraft
cuando el contenido necesita sobrescribir o modificar los datos Minecraft existentes, como agregar una funcióna minecraft:load
etiqueta de función.
Espacio de nombres personalizados[]
El espacio de nombres debe ser distinto para diferentes proyectos o creaciones de contenido (por ejemplo, un paquete de datos, un paquete de recursos, un mod, datos de respaldo/paquetes de recursos para un personalizado mapa, etc)
Para evitar posibles conflictos, el espacio de nombres debe ser lo más particular posible.
- Evite sopas de letras. Por ejemplo, un proyecto llamado "nave nuclear" no debe usar el espacio de nombres
nc
, ya que es demasiado ambiguo. - Evite palabras demasiado vagas.
battle_royale
tampoco sería informativo, peroplayer_name_battle_royale
sería mucho mejor.
En cualquier caso, estos espacios de nombres mal elegidos reducen la exposición de un proyecto y presentan dificultades para la depuración cuando se aplican múltiples creaciones de contenido al juego.
Otros espacios de nombres incorporados[]
El paquete de recursos predeterminado de Minecraft declara el archivo de idioma orientado a los Realms en el espacio de nombres realms
(ubicado en assets/realms/lang/<language-code>.json
) y archivos de idioma relacionados con el juego en el espacio de nombres minecraft
, aunque las claves de traducción no son ID de espacio de nombres. El propio jar de reinos también declara su archivo de idioma en_us.json
y sus diversas texturas en el espacio de nombres realms
.
En los ID de los tipos de argumentos de comando, también aparece un espacio de nombres brigadier
para los tipos de argumentos de comando que son nativos deBrigadier.[5]
Historial[]
Java Edition | |||||
---|---|---|---|---|---|
1.6.1 | 13w21a | Se agregaron ID de espacios de nombres junto con el prefijo minecraft para identificar activos. | |||
1.7.2 | 13w37a | Los comandos ahora aceptan ID de nombre además de ID numéricos. | |||
1.11 | 16w32a | Los ID con espacio de nombres ahora tienen una restricción de caracteres. | |||
Caracteres en mayúsculas no permitidos en ID con espacios de nombres. | |||||
1.13 | 17w47a | Después del flattening, los ID con espacios de nombres son la única forma de ID aceptada. | |||
pre4 | Los ID con espacio de nombres ahora se usan para identificar canales de mensajes de complementos.[6] | ||||
1.14.4 | pre1 | El espacio de nombres realms se agrega al paquete de recursos integrado de client jar. | |||
1.16 | 20w14a | Los atributos ahora son ID de espacio de nombres. | |||
Pocket Edition Alpha | |||||
0.16.0 | build 1 | Se agregaron comandos, que admiten ID de cadena. Sin embargo, estos ID aún no tenían espacios de nombres. | |||
Bedrock Edition | |||||
1.12.0 | beta 1.12.0.2 | Los ID ahora tienen un espacio de nombres con el prefijo minecraft , para admitir elementos personalizados que se agregan a través de add-on. |
Véase también[]
Referencias[]
- ↑ DataFixerUpper/NamespacedStringType.java at 8b5f82ab78b30ff5813b3a7f3906cd3f4f732acf · Mojang/DataFixerUpper – GitHub
- ↑ Minecraft Java Edition 1.13 changes – GitHub Gist
- ↑ "Minecraft Snapshot 19w39a" – Minecraft.net, September 27, 2019
- ↑ "Minecraft Snapshot 17w43a" – Minecraft.net
- ↑ Minecraft Java Edition 1.13 changes – GitHub Gist
- ↑ Historial de protocolos – wiki.vg
Enlaces externos[]
- Espacios de nombres, como se explica en "Minecraft Snapshot 17w43a" – Minecraft.net.
Versiones | |||||||
---|---|---|---|---|---|---|---|
Desarrollo |
| ||||||
Técnico |
| ||||||
Multijugador |
| ||||||
Personalización del juego |
Ediciones |
| ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Desarrollo |
| ||||||||||
Técnico |
| ||||||||||
Multijugador | |||||||||||
Exclusivo |
| ||||||||||
Removido |
|