Diferencia entre revisiones de «Formato clásico»

De WikiMinecraft
Saltar a: navegación, buscar
(Página creada con «{{Traducir}} The '''Classic level format''' is used by all varieties of Minecraft Classic. It is compressed with gzip and contains a short header...»)
 
Línea 1: Línea 1:
{{Traducir}}
+
El '''Formado de nivel clásico''' es usado en todas las versiones de[[ Minecraft]][[ Classic]]. Esta comprimido en [[Wikipedia:Gzip|gzip]] y contiene una cabecera corta seguida de objetos java seriados. Mundos de un solo jugador (SinglePlayer) tienen la extensión “.mine”. Mundos usados en los servidores de Minecraft Classic usaban “server_level.dat” . Estos archivos podrían ser respaldados lo cual ayudaba a mantener cierta protección en las construcciones contra [[griefing|griefers]] o para poder ser usados en editores de mapas.
The '''Classic level format''' is used by all varieties of [[Minecraft]] [[Classic]]. It is compressed with [[Wikipedia:Gzip|gzip]] and contains a short header followed by serialized Java objects. Single-player levels have the extension ".mine". Levels used by the Classic Creative server are named "server_level.dat". The file can be backed up to save content which helps to protect constructions against [[griefing|griefers]] or to use the file for [[Map Editing|map editing]].
 
  
Because the format of this level depends on the way Java serializes objects, the easiest way to work with it is through the Classic server itself, <span class="plainlinks">[http://minecraft.net/servers.jsp minecraft-server.jar]</span>. [[Creation and saving class|Sample code]] is provided to show how to build an editor on top of minecraft-server.jar.
+
Debido a que este formato depende de la forma en como java serializa los objetos, la forma más fácil de trabajar en el propio archivo de servidor de Minecraft Classic, <span class="plainlinks">[http://minecraft.net/servers.jsp minecraft-server.jar]</span> . [[Creation and saving class|Códigos de ejemplo]] eran provistos para mostrar como ensamblar un editor dentro de minecraft-server.jar
  
=== File Format ===
+
===Formato de archivo ===
  
When uncompressed, the format of the file is as follows:
+
Al ser descomprimido, el formato de archivo muestra lo siguiente:
  
 
{| border="1" class="wikitable"
 
{| border="1" class="wikitable"
! Position
+
! Posición
! Size (bytes)
+
! Tamaño(bytes)
! Name
+
! Nombre
! Description
+
! Descripción
 
|-
 
|-
 
| 0
 
| 0
 
| 4
 
| 4
| Magic ID
+
| Magic ID (ID Magica)
| A magic ID is a constant number used to identify the Minecraft file format. The current value is '''0x271bb788'''.
+
| Una ID mágica es un numero constante usado para identificar el formato de archivo de Minecraft. El valor actual es '''0x271bb788'''.
 
|-
 
|-
 
| 4
 
| 4
 
| 1
 
| 1
| Version Number
+
| Numero de Versión
| The version number represents the current format used to save the level. The current value is '''2'''.
+
| El numero de version representa el formato actual usado para salvar el nivel. El valor actual es '''2'''.
 
|-
 
|-
 
| 5
 
| 5
 
| Variable
 
| Variable
| Serialized Java ''com.mojang.minecraft.level.Level'' Class
+
| Java Seriado ''com.mojang.minecraft.level.'' Clase de Nivel
| More information about the serialization format used by Java is available in the [http://java.sun.com/developer/technicalArticles/Programming/serialization/ manual], however, the easiest way to edit the file is to use the [[Creation and saving class|classes]] provided here with the official <span class="plainlinks">[http://minecraft.net/servers.jsp minecraft-server.jar file]</span>.
+
| Mas información sobre el formato de serializacion de java esta disponible en [http://java.sun.com/developer/technicalArticles/Programming/serialization/ manual],la forma mas fácil de editar el archivo es usando las [[Creation and saving class|clases]] provistas aquí en el <span class="plainlinks">[http://minecraft.net/servers.jsp minecraft-server.jar file]</span>. oficial. 
 
|}
 
|}
  
==Accessing the array of bytes==
+
==Acceder el orden de bytes==
  
The most interesting part of a level is the block arrayEach byte in this array defines a [[Data values|block type]] at a corresponding location in the world. One generally has two options for accessing the byte array of blocks:  
+
La parte  más interesante del nivel es el orden de los bloques. Cada byte es una organización que define el [[Data values|Tipo de bloque]] en su lugar correspondiente en el Mundo. Se tiene dos formas de poder acceder el orden de bytes de los bloques:
  
You could deserialize the compressed .dat file directly back into an instance of a Level object inside of Java, thus having access to the instance of the Level object in exactly the same way the Minecraft Server does. This would allow you to set the blocks, dimensions, spawn point and other aspects of the map directly by calling the methods on the instantiated Level object. Manual decompression is not needed before loading, because Java can compress and decompress gzipped files on the fly. To load the datafile back into an instance of the Level class, you would need the class definition for the Level class. This is included with the minecraft-server.jar file. An example of this can be seen in the [[creation and saving class]].
+
Puedes  deserializar el archivo comprimido .dat directamente dentro de Java en forma de objeto de nivel, de la misma forma que Minecraft server lo hace. Esto permite modificar bloques, dimensiones, punto de inicio (spawn point) y otros aspectos del mapa directamente al llamar la instancia del objeto de nivel. La descompresión manual no es necesaria antes de cargarlo, debido a que java puede comprimir y descomprimir archivos gzip mientras está funcionando. Para cargar la data de vuelta a la instancia de la clase del nivel. Necesitas la definición de clase de la clase del nivel. Esto es incluido en el archivo de minecraft-server.jar.  
  
Others have read and modified the map's data by simply accessing the raw byte array in the datafile file. To do this, you would decompress it, make changes to the bytes where the byte array is stored, and then compress it again. Since you are editing it raw, you must keep the first 344 (14E in HEX) bytes intact. The next 256x256x64 bytes are where the byte array is stored. Additionally, it is also possible to alter the spawn location coordinates this way if you know where to look: there are 3 integer values starting at byte 284 and thus overwriting the next 12 bytes (3 integers) will allow you to change the spawn location.  
+
Otros han leído y modificado los datos del mapa simplemente al acceder al orden de bytes crudo en el archivo de datos. Para hacer esto, puedes descomprimir el archivo, hacer cambios en la parte donde el orden de bloques está localizado, y volver a comprimirlo. Debido a que estarías editando el archivo de bytes crudo, debes dejar los primeros 344 bytes (14E en HEX) intactos. Los siguientes 256X256X64 bytes son donde el orden de bloques es guardado. De forma adicional, también es posible alterar la localización del punto de las coordenadas de inicio del mundo (spawn).
 
 
(Disclaimer: This is liable to change as Java changes)
 
  
 
{{minecraft}}
 
{{minecraft}}

Revisión del 18:32 22 oct 2014

El Formado de nivel clásico es usado en todas las versiones deMinecraftClassic. Esta comprimido en gzip y contiene una cabecera corta seguida de objetos java seriados. Mundos de un solo jugador (SinglePlayer) tienen la extensión “.mine”. Mundos usados en los servidores de Minecraft Classic usaban “server_level.dat” . Estos archivos podrían ser respaldados lo cual ayudaba a mantener cierta protección en las construcciones contra griefers o para poder ser usados en editores de mapas.

Debido a que este formato depende de la forma en como java serializa los objetos, la forma más fácil de trabajar en el propio archivo de servidor de Minecraft Classic, minecraft-server.jar . Códigos de ejemplo eran provistos para mostrar como ensamblar un editor dentro de minecraft-server.jar

Formato de archivo

Al ser descomprimido, el formato de archivo muestra lo siguiente:

Posición Tamaño(bytes) Nombre Descripción
0 4 Magic ID (ID Magica) Una ID mágica es un numero constante usado para identificar el formato de archivo de Minecraft. El valor actual es 0x271bb788.
4 1 Numero de Versión El numero de version representa el formato actual usado para salvar el nivel. El valor actual es 2.
5 Variable Java Seriado com.mojang.minecraft.level. Clase de Nivel Mas información sobre el formato de serializacion de java esta disponible en manual,la forma mas fácil de editar el archivo es usando las clases provistas aquí en el minecraft-server.jar file. oficial.

Acceder el orden de bytes

La parte más interesante del nivel es el orden de los bloques. Cada byte es una organización que define el Tipo de bloque en su lugar correspondiente en el Mundo. Se tiene dos formas de poder acceder el orden de bytes de los bloques:

Puedes deserializar el archivo comprimido .dat directamente dentro de Java en forma de objeto de nivel, de la misma forma que Minecraft server lo hace. Esto permite modificar bloques, dimensiones, punto de inicio (spawn point) y otros aspectos del mapa directamente al llamar la instancia del objeto de nivel. La descompresión manual no es necesaria antes de cargarlo, debido a que java puede comprimir y descomprimir archivos gzip mientras está funcionando. Para cargar la data de vuelta a la instancia de la clase del nivel. Necesitas la definición de clase de la clase del nivel. Esto es incluido en el archivo de minecraft-server.jar.

Otros han leído y modificado los datos del mapa simplemente al acceder al orden de bytes crudo en el archivo de datos. Para hacer esto, puedes descomprimir el archivo, hacer cambios en la parte donde el orden de bloques está localizado, y volver a comprimirlo. Debido a que estarías editando el archivo de bytes crudo, debes dejar los primeros 344 bytes (14E en HEX) intactos. Los siguientes 256X256X64 bytes son donde el orden de bloques es guardado. De forma adicional, también es posible alterar la localización del punto de las coordenadas de inicio del mundo (spawn).