Cambios

Ir a la navegación Ir a la búsqueda
m
Texto reemplazado: «tt>» por «samp>»
Línea 57: Línea 57:  
# Crea una Biblioteca de clases (.NET Standard) vacía.
 
# Crea una Biblioteca de clases (.NET Standard) vacía.
 
# Utiliza .NET Framework 4.5, 4.5.1, o 4.5.2 para una mejor compatibilidad.
 
# Utiliza .NET Framework 4.5, 4.5.1, o 4.5.2 para una mejor compatibilidad.
# Referencia el [https://smapi.io/package/readme <tt>Pathoschild.Stardew.ModBuildConfig</tt> paquete NuGet] para automaticamente añadir las referencias correctas según plataforma en la que estés creando el mod.
+
# Referencia el [https://smapi.io/package/readme <samp>Pathoschild.Stardew.ModBuildConfig</samp> paquete NuGet] para automaticamente añadir las referencias correctas según plataforma en la que estés creando el mod.
# Crea una clase <tt>ModEntry</tt> con subclases <tt>StardewModdingAPI.Mod</tt>.
+
# Crea una clase <samp>ModEntry</samp> con subclases <samp>StardewModdingAPI.Mod</samp>.
# Elimina el método <tt>Entry</tt>, y escribe tu cóidgo usando [[#Mod APIs|eventos y referencias API de SMAPI]].
+
# Elimina el método <samp>Entry</samp>, y escribe tu cóidgo usando [[#Mod APIs|eventos y referencias API de SMAPI]].
# Crea un [[#Add your manifest|archivo <tt>manifest.json</tt>]] que describe tu mod de SMAPI.
+
# Crea un [[#Add your manifest|archivo <samp>manifest.json</samp>]] que describe tu mod de SMAPI.
 
# Crea [[#Release your mod|un archivo zip que contenga la información del mod]] para publicarlo.
 
# Crea [[#Release your mod|un archivo zip que contenga la información del mod]] para publicarlo.
 
}}
 
}}
Línea 70: Línea 70:  
# Crea una solución usando una Biblioteca de clases (.NET Standard) (lee [[Modding:IDE reference#create-project|como crear un proyecto]]). '''Asegúrate de escoger .NET Framework, no .NET Core o .NET Standard.'''
 
# Crea una solución usando una Biblioteca de clases (.NET Standard) (lee [[Modding:IDE reference#create-project|como crear un proyecto]]). '''Asegúrate de escoger .NET Framework, no .NET Core o .NET Standard.'''
 
# Cambia la red de trabajo a .NET Framework 4.5, 4.5.1, o 4.5.2 para una mejor compatibilidad (lee [[Modding:IDE reference#set-target-framework|como cambiar la red de trabajo]]).
 
# Cambia la red de trabajo a .NET Framework 4.5, 4.5.1, o 4.5.2 para una mejor compatibilidad (lee [[Modding:IDE reference#set-target-framework|como cambiar la red de trabajo]]).
# Referencia el [https://www.nuget.org/packages/Pathoschild.Stardew.ModBuildConfig paquete NuGet <tt>Pathoschild.Stardew.ModBuildConfig</tt>] (lee [[Modding:IDE reference#add-nuget|como añadir el paquete]]).
+
# Referencia el [https://www.nuget.org/packages/Pathoschild.Stardew.ModBuildConfig paquete NuGet <samp>Pathoschild.Stardew.ModBuildConfig</samp>] (lee [[Modding:IDE reference#add-nuget|como añadir el paquete]]).
 
# Reinicia Visual Studio/MonoDevelop tras instalar el paquete.
 
# Reinicia Visual Studio/MonoDevelop tras instalar el paquete.
   Línea 77: Línea 77:     
<ol>
 
<ol>
<li>Elimina el archivo <tt>Class1.cs</tt> o <tt>MyClass.cs</tt> (lee [[Modding:IDE reference#delete-file|como eliminar un archivo]]).</li>
+
<li>Elimina el archivo <samp>Class1.cs</samp> o <samp>MyClass.cs</samp> (lee [[Modding:IDE reference#delete-file|como eliminar un archivo]]).</li>
<li>Añade un archivo de clase C# llamado <tt>ModEntry.cs</tt> a tu proyecto (lee [[Modding:IDE reference#Add a file|como añadir un archivo]]).</li>
+
<li>Añade un archivo de clase C# llamado <samp>ModEntry.cs</samp> a tu proyecto (lee [[Modding:IDE reference#Add a file|como añadir un archivo]]).</li>
<li>Pon este código en el archivo (reemplaza <tt>NombreDeTuProyecto</tt> con el nombre de tu proyecto):
+
<li>Pon este código en el archivo (reemplaza <samp>NombreDeTuProyecto</samp> con el nombre de tu proyecto):
 
<syntaxhighlight lang="c#">
 
<syntaxhighlight lang="c#">
 
using System;
 
using System;
Línea 128: Línea 128:  
# <code>using X;</code> (lee [https://docs.microsoft.com/es-es/dotnet/csharp/language-reference/keywords/using-directive palabra clave using]) permite utilizar clases disponibles en ese espacio de nombres en tu código.
 
# <code>using X;</code> (lee [https://docs.microsoft.com/es-es/dotnet/csharp/language-reference/keywords/using-directive palabra clave using]) permite utilizar clases disponibles en ese espacio de nombres en tu código.
 
# <code>namespace NombreDeTuProyecto</code> (lee [https://docs.microsoft.com/es-es/dotnet/csharp/language-reference/keywords/namespace palabra clave namespace]) Define el alcance del código de tu mod. No te preocupes de esto cuando apenas vayas empezando, Visual Studio o MonoDevelop lo añadirán automáticamente cuando crees un archivo.
 
# <code>namespace NombreDeTuProyecto</code> (lee [https://docs.microsoft.com/es-es/dotnet/csharp/language-reference/keywords/namespace palabra clave namespace]) Define el alcance del código de tu mod. No te preocupes de esto cuando apenas vayas empezando, Visual Studio o MonoDevelop lo añadirán automáticamente cuando crees un archivo.
# <code>public class ModEntry : Mod</code> (lee [https://docs.microsoft.com/es-es/dotnet/csharp/language-reference/keywords/class palabra clave class]) crea la clase principal del mod, y subclases tipo SMAPI <tt>Mod</tt>. SMAPI detectará las subclases de tu <tt>Mod</tt> automáticamente, y <tt>Mod</tt> te dará acceso a las referencias API de SMAPI.
+
# <code>public class ModEntry : Mod</code> (lee [https://docs.microsoft.com/es-es/dotnet/csharp/language-reference/keywords/class palabra clave class]) crea la clase principal del mod, y subclases tipo SMAPI <samp>Mod</samp>. SMAPI detectará las subclases de tu <samp>Mod</samp> automáticamente, y <samp>Mod</samp> te dará acceso a las referencias API de SMAPI.
 
# <code>public override void Entry(IModHelper helper)</code> es el método que SMAPI invocará cuando tu juego sea cargado. El <code>helper</code> proporciona un conveniente acceso a las referencias API de SMAPI.
 
# <code>public override void Entry(IModHelper helper)</code> es el método que SMAPI invocará cuando tu juego sea cargado. El <code>helper</code> proporciona un conveniente acceso a las referencias API de SMAPI.
# <code>helper.Events.Input.ButtonPressed += this.OnButtonPressed;</code> maneja un evento (en otras palabras, un método a invocar) cuando el evento de presionar un botón ocurre. En otras palabras, cuando un botón es presionado (el evento <tt>helper.Events.Input.ButtonPressed</tt>), SMAPI invocará tu método <tt>this.OnButtonPressed</tt>. Lee [[Modding:Guía del Modder/Referencias API/Eventos|eventos en la referencia de SMAPI]] para mas información.
+
# <code>helper.Events.Input.ButtonPressed += this.OnButtonPressed;</code> maneja un evento (en otras palabras, un método a invocar) cuando el evento de presionar un botón ocurre. En otras palabras, cuando un botón es presionado (el evento <samp>helper.Events.Input.ButtonPressed</samp>), SMAPI invocará tu método <samp>this.OnButtonPressed</samp>. Lee [[Modding:Guía del Modder/Referencias API/Eventos|eventos en la referencia de SMAPI]] para mas información.
    
===Añade tu manifest===
 
===Añade tu manifest===
Línea 136: Línea 136:     
<ol>
 
<ol>
<li>Añade un archivo llamado <tt>manifest.json</tt> a tu proyecto.</li>
+
<li>Añade un archivo llamado <samp>manifest.json</samp> a tu proyecto.</li>
 
<li>Pega este código en ese archivo:
 
<li>Pega este código en ese archivo:
 
<syntaxhighlight lang="json">
 
<syntaxhighlight lang="json">
Línea 150: Línea 150:  
}
 
}
 
</syntaxhighlight></li>
 
</syntaxhighlight></li>
<li>Reemplaza todos los "<tt>&lt;...&gt;</tt>" con la información correcta. ¡No dejes ningún símbolo tipo <tt>&lt;&gt;</tt>!</li>
+
<li>Reemplaza todos los "<samp>&lt;...&gt;</samp>" con la información correcta. ¡No dejes ningún símbolo tipo <samp>&lt;&gt;</samp>!</li>
 
</ol>
 
</ol>
   Línea 156: Línea 156:     
===Prueba tu mod===
 
===Prueba tu mod===
# Construye el proyecto.<br /><small>Si seguiste los pasos de ''[[#Crear el proyecto|crear el proyecto]]'' correctamente, esto añadirá automáticamente tu mod a la carpeta de <tt>Mods</tt> en el juego.</small>
+
# Construye el proyecto.<br /><small>Si seguiste los pasos de ''[[#Crear el proyecto|crear el proyecto]]'' correctamente, esto añadirá automáticamente tu mod a la carpeta de <samp>Mods</samp> en el juego.</small>
 
# Corre el juego con SMAPI.
 
# Corre el juego con SMAPI.
   Línea 181: Línea 181:  
<li>Usa el paquete de [https://smapi.io/package/readme configuración entre plataformas] para automáticamente colocar las referencias de tu proyecto. Esto hace la compatibilidad mas fácil y te permite compilar en cualquier plataforma. (Si seguiste la guía de arriba, ya deberías tener esto.)</li>
 
<li>Usa el paquete de [https://smapi.io/package/readme configuración entre plataformas] para automáticamente colocar las referencias de tu proyecto. Esto hace la compatibilidad mas fácil y te permite compilar en cualquier plataforma. (Si seguiste la guía de arriba, ya deberías tener esto.)</li>
   −
<li>Usa <tt>Path.Combine</tt> para crear los caminos de los archivos, no construyas los caminos directamente, pues puede no funcionar en algunas plataformas.
+
<li>Usa <samp>Path.Combine</samp> para crear los caminos de los archivos, no construyas los caminos directamente, pues puede no funcionar en algunas plataformas.
    
<syntaxhighlight lang="c#">
 
<syntaxhighlight lang="c#">
Línea 191: Línea 191:  
</syntaxhighlight></li>
 
</syntaxhighlight></li>
   −
<li>Usa <tt>Helper.DirectoryPath</tt>, no intentes determinar el camino del mod tu mismo.
+
<li>Usa <samp>Helper.DirectoryPath</samp>, no intentes determinar el camino del mod tu mismo.
    
<syntaxhighlight lang="c#">
 
<syntaxhighlight lang="c#">
Línea 207: Línea 207:  
Para descompilar el código para que lo puedas leer (aunque no será completamente funcional, debido a limitaciones del descompilador):
 
Para descompilar el código para que lo puedas leer (aunque no será completamente funcional, debido a limitaciones del descompilador):
 
* En Windows:
 
* En Windows:
*# Abre <tt>StardewValley.exe</tt> en [https://www.jetbrains.com/decompiler/ dotPeek].
+
*# Abre <samp>StardewValley.exe</samp> en [https://www.jetbrains.com/decompiler/ dotPeek].
 
*# Da click derecho en ''Stardew Valley'' y selecciona ''Export to Project''. Acepta las opciones predeterminadas para crear un proyecto decompilado, que puedes abrir en Visual Studio.
 
*# Da click derecho en ''Stardew Valley'' y selecciona ''Export to Project''. Acepta las opciones predeterminadas para crear un proyecto decompilado, que puedes abrir en Visual Studio.
 
* En Linux/Mac:
 
* En Linux/Mac:
Línea 213: Línea 213:  
*# Obten el plugin [https://marketplace.visualstudio.com/items?itemName=icsharpcode.ilspy-vscode ILSpy .NET Decompiler] para VSCode.
 
*# Obten el plugin [https://marketplace.visualstudio.com/items?itemName=icsharpcode.ilspy-vscode ILSpy .NET Decompiler] para VSCode.
 
*# Abre Visual Studio Code Command Palette <code>(Command+Shift+P)</code> y después escribe <code>ilspy</code> para mostrar los dos comandos.
 
*# Abre Visual Studio Code Command Palette <code>(Command+Shift+P)</code> y después escribe <code>ilspy</code> para mostrar los dos comandos.
*# El comando <code>Decompile IL Assembly (pick file)</code> te permite escoger un montaje utilizando el diálogo de selección de archivos. El diálogo también debería permitir escribir el camino completo. Navega hasta <tt>StardewValley.exe</tt> en tu carpeta de juego StardewValley.
+
*# El comando <code>Decompile IL Assembly (pick file)</code> te permite escoger un montaje utilizando el diálogo de selección de archivos. El diálogo también debería permitir escribir el camino completo. Navega hasta <samp>StardewValley.exe</samp> en tu carpeta de juego StardewValley.
*# Si el archivo es un montaje .NET válido, una vista llamada <tt>ILSPY DECOMPILED MEMBERS</tt> es agregada a la vista de explorador. Esta permite seleccionar y abrir varios nodos, cuyo código descompilado de C# es mostrado en el editor.
+
*# Si el archivo es un montaje .NET válido, una vista llamada <samp>ILSPY DECOMPILED MEMBERS</samp> es agregada a la vista de explorador. Esta permite seleccionar y abrir varios nodos, cuyo código descompilado de C# es mostrado en el editor.
    
Para desempaquetar los archivos de información o imágenes tipo XNB, lee [[Modding:Editing XNB files]].
 
Para desempaquetar los archivos de información o imágenes tipo XNB, lee [[Modding:Editing XNB files]].
105 716

ediciones

Menú de navegación