CPM(codificador del paquete de modificaciones)

El`Mod Coder Pack`_(resumido MCP) fue originalmente creado para la colección de guiones, herramientas y mapeos para crear el desarrollo de las modificaciones de Minecraft facilmente. Como Minecraft no es de codigo abierto y su mayor parte esta ofuscado, desarrollar nuevamente seria difícil ya que el codigo original era casi ilegible. MCP fue diseñado como un espacio de trabajo en el que los desarrolladores pudieran crear modificaciones usando descompresiones, el codigo Minecraft (humanamente legibles) descomprimido.

Flujo de trabajo

Mediante MCP añade pasos adicionales para el flujo de trabajo de los desarrolladores de complementos, simplificado a continuacion:

  • Configura el área de trabajo MCP
    • Descarga los archivos cliente/servidor de Minecraft

    • Desofusca el código (cambiando los nombres ofuscados a nombres legibles por humanos)

    • Desompila el codigo (generando archivos fuente desde las clases binarias)

  • Crea un complemento usando la fuente desofuscada de Minecraft

  • Re-ofusca el código del complemento de modo que pueda ser usado con el código ofuscado en tiempo de ejecución

Mapeos

MCP usa dos conjuntos diferentes de asignaciones que se aplican por separado durante la configuración del espacio de trabajo. La diferencia entre las asignaciones Notch, Searge y * MCP* se pueden ver en el siguiente ejemplo:

// Notch
boolean a(rw ☃);

// Searge
boolean func_72838_d(Entity p_72838_1_);

// MCP
boolean spawnEntityInWorld(Entity entityIn);
  • Mapeos Notch son los nombres originales en el binario ofuscado de Minecraft. Estos cambian regularmente con las nuevas versiones de Minecraft.

  • Mapeos Searge contienen nombres únicos para todos los métodos, campos y parámetros ofuscados, así como también nombres legibles para las clases. A diferencia de las asignaciones de Notch, generalmente permanecen iguales en las actualizaciones de Minecraft a menos que las firmas de método cambien. Para SpongeVanilla y SpongeForge, también son usadas en la producción (fuera de tu IDE).

  • Mapeos MCP contienen nombres legibles por humanos, en gran parte aportados por la comunidad. Por lo general, solo se usan en el entorno de desarrollo y luego se vuelven a ofuscar a mapeos Notch o Searge.

Nota

Cuando creas un complemento trabajas con mapeo MCP en tu entorno de desarrollo. Para ejecutar el complemento en la producción (fuera de su IDE) necesitas volver a ofuscarlo a mapeo Searge.

Usando el Bot MCP

El MCPBot está disponible en los canales Sponge y MCP IRC y te permiten buscar asignaciones de MCP o aportar nuevos nombres. Puedes enviar comandos al bot mediante el envío de mensajes en uno de los canales admitidos (por ejemplo, `` # spongedev``).

Truco

Échale un vistazo a la MCPBot help page para una lista de todos los comandos disponibles.

Aportando nuevos nombres

También puedes aportar nuevos nombres para miembros de clase que aun no tienen nombre. Échale un vistazo al MCPBot help page para mas instrucciones.

Nota

No puedes cambiar nombres existentes. Si quieres sugerir cambiar un mapeo existente, crea un nuevo asunto en el MCPBot issue tracker on GitHub.

Ver también

Mod Coder Pack

Sitio web oficial del Paquete de Codificación para Modificaciones.

MCPBot help page

Mas información sobre el uso del MCPBot.