First of all, you will need to install eclipse, a pixel editor and a external text editor.
Pixel editor: paint.net, or any other app.
Text editor: I reccomend Notepad++, but there are other programs like VS Code or Brackets (this is for .json, .info and ..metadata files. Eclipse is the JAVA text editor)
Starting up
Now, you will need to install the "latest" or "reccomended" forge MDK version (files.minecraftforge.net), but for myself, I would reccomend the "latest".
Edit: Here, you can download CJMinecraft's Forge mod builder, that you can create a 1.10.2 forge mod, without using cmd and don't need to download Forge's MDK
First open FMB (ForgeModBuilder) and click on "New Project". Put your project name, its project group name (com.yourname.modid), its version and your java version. Select the minecraft version to make a project (1.10.2) and select the latest forge version. Once it created, select the mod's folder, and it will create all the files. You can delete that CREDITS and Forge changelogs.txt because you will not use them. Now, press "Setup Project", select your editor (Eclipse) and wait.
If FMB doesn't work, extract all of the mdk files to any folder that you want (that is empty), and create a batch file called any name you want (Or else run cmd, input cd C:/Thedirectory and do the next step).
Now, put in your .bat file, or in cmd:
gradlew setupDecompWorkspace eclipse --stacktrace
The --stacktrace is only if the setup failed on the first try.
After that, open Eclipse, select the directory of the mod and select the folder "eclipse"
When Eclipse is open, open MDKExample (You can rename that into anything else).
Go to the first folder (src/main/java) and delete the examplemod package.
The Mod's Basic Structure
Create your package that can be com.yourname.modname or mod.modid, or other package name that doesn't need to put com or mod. (Everything in lowercase).
Now, you will create two classes in the same package.
The first class will be named: YourModName (Put your mod name here, or simply put MainClass or something like this.)
and the second: Reference
In the reference, write:
public static final String MODID = "modid";
Write this four more times, and put the like this (don't forget the public static final before these strings, too lazy to write again)
String MODID = "modid";
String NAME = "The Name of the mod";
String VERSION = "0.1";
String CLIENT_PROXY_CLASS = "yourpackage.modid.proxy.ClientProxy"; //This will be explained later
String SERVER_PROXY_CLASS = "yourpackage.modid.proxy.CommonProxy"; //This too
Now, into the ModName folder, write this before the public class line:
@Mod(modid = Reference.MODID, name = Reference.NAME, version = Reference.VERSION)
Then, you will need to tho the most boring part: the FML events.
Write:
@EventHandler
public static void preInit(FMLPreInitializationEvent event) {
}
@EventHandler
public static void init(FMLInitializationEvent event) {
}
@EventHandler
public static void postInit(FMLPostInitializationEvent event) {
}
/*
The coders' worst nightmare is when a code fails so badly that it needs to be rewritten.
-Cesar, 2018
*/
Now, you should have the "basic" structure of a mod, but you still need to do some things to get the mod working (you can see if the mod is loaded by looking in the Mods section in the main menu... who doesn't know that?)
Create a new package inside the existant package called "util". (Remember: com.yourname.modid.util)
You will see that the packages are separate and that will be a mess when lots of packages will be created, so click on the arrow that is pointing down (in the package explorer part) and go to the Package Presentation section, and change from flat to hierarchical. Now you will see that the other package (com.yourname.modid.util) is a subpackage (and it was, but in the flat presentation, everything seems to be a separate package.)
Now, inside this subpackage, create a class called Utils.
Then, write this:
private static Logger l; //You need to import the right logger. Make sure to import the org.apache.logging.log4j.Logger interface.
public static Logger getLogger() {
if(l == null) {
l = LogManager.getFormatterLogger(Reference.MODID);
}
return l;
}
What is a logger? A logger is a new technique of printing something in the command line (Utils.getLogger().info("themessage"); )
So now, you can log the items that are being loaded, and the events that are happening, and that's what we are going to do now.
Go to the main mod class (ModName class) and add in the 3 init events:
Utils.getLogger().info("Thing");
/*
For preInit: "Pre-init event for the mod starting" or something else (don't forget to put Utils.getLogger().info( before this and after this, )
For init: "Init event for the mod starting" or something else
For postInit: "Post-init event for the mod starting" or something else
*/
Create another subpackage (for the main package, not the Util one) called proxy or proxies
Now, create two classes: CommonProxy and ClientProxy. Remember the reference?
In the ClientProxy, you will put:
class ClientProxy extends CommonProxy { //Just add this extends
}
Now, in CommonProxy, put:
public void registerRenders() {
}
And, in ClientProxy, put:
@Override
public void registerRenders() {
}
Done!
Finishing up
Now, you will go back to the main mod class, and you will add before the @EventProxy'es
@Mod.instance(Reference.MODID)
public static MainClassName instance;
@SidedProxy(clientSide = Reference.CLIENT_PROXY_CLASS, serverSide = Reference.SERVER_PROXY_CLASS)
public CommonProxy proxy
And into the FMLPreInitializationEvent method, write:
proxy.registerRenders();
Done! Now the mod is fully functional and you can continue following my other tutorials.
Only to finish, I will teach you how to make the mcmod.info file work.
Change the modid field to your mod id,
Change the name field to your mod name (can be uppercase),
Change the description field to your mod's description (for most cases, add a short description, if you want to publish on Curseforge or any other modding community)
Change the version field to your mod's version (like Beta 1.0, because it will appear something like "Beta 1.0 (0.1.0)")
Change the mcversion field to your mod's supported versions (going to be teaching how to add other versions support in the next tutorial)
Change the url field to your mod's site, or curseforge page
Let updateUrl the same thing, I'm going to teach you how to add a update checker in my next tutorials
Change the credits field to any person that helped you making a mod (it can be me or some other coder/person, or let that with a triple dot (...) or some other thing.), but you can put anything, if you don't have anyone that you want to give credits.
Change the logoFile field to the logo file's location (going to be teaching you how to add a logo file)
Let screenshots and dependencies empty. Only if you have some type of compatibility library, then you add its modid to the dependencies field.
Here's a screenshot for people who got confused: https://image.prntscr.com/image/5A4siBTYT2eBotysMFpvYA.png
If you want to see my current project (chemicraft, how you saw in the image), enter that curseforge link when it's available.
Any questions? Ask in the comments!
Any mistakes I made in the code? Comment down below.
Credits to CJMinecraft and MrCrayfish for teaching me how to mod.
0
Well, my friend put some mods and his minecraft crashed. I checked his logs and:
[19:11:43] [main/INFO]: Setting user: Maxprint
[19:11:47] [Client thread/INFO]: LWJGL Version: 2.9.1
[19:12:28] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Not Enough Items, FMLFileResourcePack:SecurityCraft, FMLFileResourcePack:Applied Energistics 2, FMLFileResourcePack:Baubles, FMLFileResourcePack:Better Builder's Wands, FMLFileResourcePack:Blood Magic: Alchemical Wizardry, FMLFileResourcePack:Botania, FMLFileResourcePack:Brandon's Core, FMLFileResourcePack:BuildCraft, FMLFileResourcePack:BC Transport, FMLFileResourcePack:BC Factory, FMLFileResourcePack:BC Silicon, FMLFileResourcePack:BC Robotics, FMLFileResourcePack:BC Energy, FMLFileResourcePack:BC Builders, FMLFileResourcePack:Chisel, FMLFileResourcePack:CoFH Core, FMLFileResourcePack:Draconic Evolution, FMLFileResourcePack:EnderCore, FMLFileResourcePack:Ender IO, FMLFileResourcePack:GraviGun, FMLFileResourcePack:iChunUtil, FMLFileResourcePack:IndustrialCraft 2, FMLFileResourcePack:JourneyMap, FMLFileResourcePack:Logistics Pipes, FMLFileResourcePack:Mantle, FMLFileResourcePack:MineFactory Reloaded, FMLFileResourcePack:MFR Compat: Applied Energistics, FMLFileResourcePack:MFR Compat: BuildCraft, FMLFileResourcePack:MFR Compat: ForgeMicroblock, FMLFileResourcePack:MFR Compat: IC2, FMLFileResourcePack:MFR Compat: Thermal Expansion, FMLFileResourcePack:MFR Compat: Vanilla, FMLFileResourcePack:OpenBlocks, FMLFileResourcePack:OpenMods, FMLFileResourcePack:PortalGun, FMLFileResourcePack:ProjectE, FMLFileResourcePack:Storage Drawers, FMLFileResourcePack:Thermal Dynamics, FMLFileResourcePack:Thermal Expansion, FMLFileResourcePack:Thermal Foundation, FMLFileResourcePack:Ztones
[19:12:28] [Client thread/WARN]: ResourcePack: ignored non-lowercase namespace: alchemicalwizardryBooks in C:\Users\Jonadaby & Samuel\AppData\Roaming\.minecraft\mods\BloodMagic-1.7.10-1.3.3-17.jar
[19:12:28] [Client thread/WARN]: ResourcePack: ignored non-lowercase namespace: alchemicalwizardryBooks in C:\Users\Jonadaby & Samuel\AppData\Roaming\.minecraft\mods\BloodMagic-1.7.10-1.3.3-17.jar
[19:12:28] [Client thread/WARN]: ResourcePack: ignored non-lowercase namespace: alchemicalwizardryBooks in C:\Users\Jonadaby & Samuel\AppData\Roaming\.minecraft\mods\BloodMagic-1.7.10-1.3.3-17.jar
[19:12:28] [Client thread/WARN]: ResourcePack: ignored non-lowercase namespace: alchemicalwizardryBooks in C:\Users\Jonadaby & Samuel\AppData\Roaming\.minecraft\mods\BloodMagic-1.7.10-1.3.3-17.jar
[19:12:28] [Client thread/WARN]: ResourcePack: ignored non-lowercase namespace: alchemicalwizardryBooks in C:\Users\Jonadaby & Samuel\AppData\Roaming\.minecraft\mods\BloodMagic-1.7.10-1.3.3-17.jar
[19:12:28] [Client thread/WARN]: ResourcePack: ignored non-lowercase namespace: alchemicalwizardryBooks in C:\Users\Jonadaby & Samuel\AppData\Roaming\.minecraft\mods\BloodMagic-1.7.10-1.3.3-17.jar
[19:13:02] [Client thread/INFO]: Created: 16x16 textures/blocks-atlas
[19:13:02] [Client thread/INFO]: Created: 16x16 textures/items-atlas
[19:13:02] [Sound Library Loader/INFO]: Sound engine started
[19:13:25] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Not Enough Items, FMLFileResourcePack:SecurityCraft, FMLFileResourcePack:Applied Energistics 2, FMLFileResourcePack:Baubles, FMLFileResourcePack:Better Builder's Wands, FMLFileResourcePack:Blood Magic: Alchemical Wizardry, FMLFileResourcePack:Botania, FMLFileResourcePack:Brandon's Core, FMLFileResourcePack:BuildCraft, FMLFileResourcePack:BC Transport, FMLFileResourcePack:BC Factory, FMLFileResourcePack:BC Silicon, FMLFileResourcePack:BC Robotics, FMLFileResourcePack:BC Energy, FMLFileResourcePack:BC Builders, FMLFileResourcePack:Chisel, FMLFileResourcePack:CoFH Core, FMLFileResourcePack:Draconic Evolution, FMLFileResourcePack:EnderCore, FMLFileResourcePack:Ender IO, FMLFileResourcePack:GraviGun, FMLFileResourcePack:iChunUtil, FMLFileResourcePack:IndustrialCraft 2, FMLFileResourcePack:JourneyMap, FMLFileResourcePack:Logistics Pipes, FMLFileResourcePack:Mantle, FMLFileResourcePack:MineFactory Reloaded, FMLFileResourcePack:MFR Compat: Applied Energistics, FMLFileResourcePack:MFR Compat: BuildCraft, FMLFileResourcePack:MFR Compat: ForgeMicroblock, FMLFileResourcePack:MFR Compat: IC2, FMLFileResourcePack:MFR Compat: Thermal Expansion, FMLFileResourcePack:MFR Compat: Vanilla, FMLFileResourcePack:OpenBlocks, FMLFileResourcePack:OpenMods, FMLFileResourcePack:PortalGun, FMLFileResourcePack:ProjectE, FMLFileResourcePack:Storage Drawers, FMLFileResourcePack:Thermal Dynamics, FMLFileResourcePack:Thermal Expansion, FMLFileResourcePack:Thermal Foundation, FMLFileResourcePack:Ztones, resources, PortalGunSounds.pak
[19:13:25] [Client thread/WARN]: ResourcePack: ignored non-lowercase namespace: alchemicalwizardryBooks in C:\Users\Jonadaby & Samuel\AppData\Roaming\.minecraft\mods\BloodMagic-1.7.10-1.3.3-17.jar
[19:13:25] [Client thread/WARN]: ResourcePack: ignored non-lowercase namespace: alchemicalwizardryBooks in C:\Users\Jonadaby & Samuel\AppData\Roaming\.minecraft\mods\BloodMagic-1.7.10-1.3.3-17.jar
[19:13:25] [Client thread/WARN]: ResourcePack: ignored non-lowercase namespace: alchemicalwizardryBooks in C:\Users\Jonadaby & Samuel\AppData\Roaming\.minecraft\mods\BloodMagic-1.7.10-1.3.3-17.jar
[19:13:25] [Client thread/WARN]: ResourcePack: ignored non-lowercase namespace: alchemicalwizardryBooks in C:\Users\Jonadaby & Samuel\AppData\Roaming\.minecraft\mods\BloodMagic-1.7.10-1.3.3-17.jar
[19:13:25] [Client thread/WARN]: ResourcePack: ignored non-lowercase namespace: alchemicalwizardryBooks in C:\Users\Jonadaby & Samuel\AppData\Roaming\.minecraft\mods\BloodMagic-1.7.10-1.3.3-17.jar
[19:13:25] [Client thread/WARN]: ResourcePack: ignored non-lowercase namespace: alchemicalwizardryBooks in C:\Users\Jonadaby & Samuel\AppData\Roaming\.minecraft\mods\BloodMagic-1.7.10-1.3.3-17.jar
[19:13:45] [Client thread/INFO]: Caught error stitching, removing all assigned resourcepacks
net.minecraft.util.ReportedException: Registering texture
at net.minecraft.client.renderer.texture.TextureManager.func_110579_a(TextureManager.java:111) ~[bqf.class:?]
at net.minecraft.client.renderer.texture.TextureManager.func_110549_a(TextureManager.java:172) ~[bqf.class:?]
at net.minecraft.client.resources.SimpleReloadableResourceManager.func_110544_b(SimpleReloadableResourceManager.java:143) ~[brg.class:?]
at net.minecraft.client.resources.SimpleReloadableResourceManager.func_110541_a(SimpleReloadableResourceManager.java:121) ~[brg.class:?]
at net.minecraft.client.Minecraft.func_110436_a(Minecraft.java:609) [bao.class:?]
at cpw.mods.fml.client.FMLClientHandler.finishMinecraftLoading(FMLClientHandler.java:327) [FMLClientHandler.class:?]
at net.minecraft.client.Minecraft.func_71384_a(Minecraft.java:552) [bao.class:?]
at net.minecraft.client.Minecraft.func_99999_d(Minecraft.java:878) [bao.class:?]
at net.minecraft.client.main.Main.main(SourceFile:148) [Main.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_171]
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_171]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) ~[?:1.8.0_171]
at java.lang.reflect.Method.invoke(Unknown Source) ~[?:1.8.0_171]
at net.minecraft.launchwrapper.Launch.launch(Launch.java:135) [launchwrapper-1.12.jar:?]
at net.minecraft.launchwrapper.Launch.main(Launch.java:28) [launchwrapper-1.12.jar:?]
Caused by: net.minecraft.client.renderer.StitcherException: Unable to fit: chisel:gold/terrain-gold-crate-light-bottom - size: 16x16 - Maybe try a lowerresolution resourcepack?
at net.minecraft.client.renderer.texture.Stitcher.func_94305_f(Stitcher.java:76) ~[bpv.class:?]
at net.minecraft.client.renderer.texture.TextureMap.func_110571_b(TextureMap.java:260) ~[bpz.class:?]
at net.minecraft.client.renderer.texture.TextureMap.func_110551_a(TextureMap.java:97) ~[bpz.class:?]
at net.minecraft.client.renderer.texture.TextureManager.func_110579_a(TextureManager.java:89) ~[bqf.class:?]
... 14 more
[19:13:45] [Client thread/INFO]: Reloading ResourceManager: Default, FMLFileResourcePack:Forge Mod Loader, FMLFileResourcePack:Minecraft Forge, FMLFileResourcePack:Not Enough Items, FMLFileResourcePack:SecurityCraft, FMLFileResourcePack:Applied Energistics 2, FMLFileResourcePack:Baubles, FMLFileResourcePack:Better Builder's Wands, FMLFileResourcePack:Blood Magic: Alchemical Wizardry, FMLFileResourcePack:Botania, FMLFileResourcePack:Brandon's Core, FMLFileResourcePack:BuildCraft, FMLFileResourcePack:BC Transport, FMLFileResourcePack:BC Factory, FMLFileResourcePack:BC Silicon, FMLFileResourcePack:BC Robotics, FMLFileResourcePack:BC Energy, FMLFileResourcePack:BC Builders, FMLFileResourcePack:Chisel, FMLFileResourcePack:CoFH Core, FMLFileResourcePack:Draconic Evolution, FMLFileResourcePack:EnderCore, FMLFileResourcePack:Ender IO, FMLFileResourcePack:GraviGun, FMLFileResourcePack:iChunUtil, FMLFileResourcePack:IndustrialCraft 2, FMLFileResourcePack:JourneyMap, FMLFileResourcePack:Logistics Pipes, FMLFileResourcePack:Mantle, FMLFileResourcePack:MineFactory Reloaded, FMLFileResourcePack:MFR Compat: Applied Energistics, FMLFileResourcePack:MFR Compat: BuildCraft, FMLFileResourcePack:MFR Compat: ForgeMicroblock, FMLFileResourcePack:MFR Compat: IC2, FMLFileResourcePack:MFR Compat: Thermal Expansion, FMLFileResourcePack:MFR Compat: Vanilla, FMLFileResourcePack:OpenBlocks, FMLFileResourcePack:OpenMods, FMLFileResourcePack:PortalGun, FMLFileResourcePack:ProjectE, FMLFileResourcePack:Storage Drawers, FMLFileResourcePack:Thermal Dynamics, FMLFileResourcePack:Thermal Expansion, FMLFileResourcePack:Thermal Foundation, FMLFileResourcePack:Ztones, resources, PortalGunSounds.pak
[19:13:45] [Client thread/WARN]: ResourcePack: ignored non-lowercase namespace: alchemicalwizardryBooks in C:\Users\Jonadaby & Samuel\AppData\Roaming\.minecraft\mods\BloodMagic-1.7.10-1.3.3-17.jar
[19:13:45] [Client thread/WARN]: ResourcePack: ignored non-lowercase namespace: alchemicalwizardryBooks in C:\Users\Jonadaby & Samuel\AppData\Roaming\.minecraft\mods\BloodMagic-1.7.10-1.3.3-17.jar
[19:13:45] [Client thread/WARN]: ResourcePack: ignored non-lowercase namespace: alchemicalwizardryBooks in C:\Users\Jonadaby & Samuel\AppData\Roaming\.minecraft\mods\BloodMagic-1.7.10-1.3.3-17.jar
[19:13:45] [Client thread/WARN]: ResourcePack: ignored non-lowercase namespace: alchemicalwizardryBooks in C:\Users\Jonadaby & Samuel\AppData\Roaming\.minecraft\mods\BloodMagic-1.7.10-1.3.3-17.jar
[19:13:45] [Client thread/WARN]: ResourcePack: ignored non-lowercase namespace: alchemicalwizardryBooks in C:\Users\Jonadaby & Samuel\AppData\Roaming\.minecraft\mods\BloodMagic-1.7.10-1.3.3-17.jar
[19:13:45] [Client thread/WARN]: ResourcePack: ignored non-lowercase namespace: alchemicalwizardryBooks in C:\Users\Jonadaby & Samuel\AppData\Roaming\.minecraft\mods\BloodMagic-1.7.10-1.3.3-17.jar
For some reason, the same mods work with me, but with my friend, it doesn't. His specs are: 4gb ram and Intel pentium processor.
0
Soon I will make more tutorials for other versions. Differend minecraft versions are almost the same thing.
0
hmmm... I think you can add one more class and do the same things you did for the first mod. I'm not sure if this works, because I never tried it.
0
First of all, you will need to install eclipse, a pixel editor and a external text editor.
Pixel editor: paint.net, or any other app.
Text editor: I reccomend Notepad++, but there are other programs like VS Code or Brackets (this is for .json, .info and ..metadata files. Eclipse is the JAVA text editor)
Starting up
Now, you will need to install the "latest" or "reccomended" forge MDK version (files.minecraftforge.net), but for myself, I would reccomend the "latest".Edit: Here, you can download CJMinecraft's Forge mod builder, that you can create a 1.10.2 forge mod, without using cmd and don't need to download Forge's MDK
First open FMB (ForgeModBuilder) and click on "New Project". Put your project name, its project group name (com.yourname.modid), its version and your java version. Select the minecraft version to make a project (1.10.2) and select the latest forge version. Once it created, select the mod's folder, and it will create all the files. You can delete that CREDITS and Forge changelogs.txt because you will not use them. Now, press "Setup Project", select your editor (Eclipse) and wait.
If FMB doesn't work, extract all of the mdk files to any folder that you want (that is empty), and create a batch file called any name you want (Or else run cmd, input cd C:/Thedirectory and do the next step).
Now, put in your .bat file, or in cmd:
The --stacktrace is only if the setup failed on the first try.
After that, open Eclipse, select the directory of the mod and select the folder "eclipse"
When Eclipse is open, open MDKExample (You can rename that into anything else).
Go to the first folder (src/main/java) and delete the examplemod package.
The Mod's Basic Structure
Create your package that can be com.yourname.modname or mod.modid, or other package name that doesn't need to put com or mod. (Everything in lowercase).
Now, you will create two classes in the same package.
The first class will be named: YourModName (Put your mod name here, or simply put MainClass or something like this.)
and the second: Reference
In the reference, write:
Write this four more times, and put the like this (don't forget the public static final before these strings, too lazy to write again)
Now, into the ModName folder, write this before the public class line:
Then, you will need to tho the most boring part: the FML events.
Write:
Now, you should have the "basic" structure of a mod, but you still need to do some things to get the mod working (you can see if the mod is loaded by looking in the Mods section in the main menu... who doesn't know that?)
Create a new package inside the existant package called "util". (Remember: com.yourname.modid.util)
You will see that the packages are separate and that will be a mess when lots of packages will be created, so click on the arrow that is pointing down (in the package explorer part) and go to the Package Presentation section, and change from flat to hierarchical. Now you will see that the other package (com.yourname.modid.util) is a subpackage (and it was, but in the flat presentation, everything seems to be a separate package.)
Now, inside this subpackage, create a class called Utils.
Then, write this:
What is a logger? A logger is a new technique of printing something in the command line (Utils.getLogger().info("themessage"); )
So now, you can log the items that are being loaded, and the events that are happening, and that's what we are going to do now.
Go to the main mod class (ModName class) and add in the 3 init events:
Create another subpackage (for the main package, not the Util one) called proxy or proxies
Now, create two classes: CommonProxy and ClientProxy. Remember the reference?
In the ClientProxy, you will put:
Now, in CommonProxy, put:
And, in ClientProxy, put:
Done!
Finishing up
Now, you will go back to the main mod class, and you will add before the @EventProxy'es
And into the FMLPreInitializationEvent method, write:
Done! Now the mod is fully functional and you can continue following my other tutorials.
Only to finish, I will teach you how to make the mcmod.info file work.
Change the modid field to your mod id,
Change the name field to your mod name (can be uppercase),
Change the description field to your mod's description (for most cases, add a short description, if you want to publish on Curseforge or any other modding community)
Change the version field to your mod's version (like Beta 1.0, because it will appear something like "Beta 1.0 (0.1.0)")
Change the mcversion field to your mod's supported versions (going to be teaching how to add other versions support in the next tutorial)
Change the url field to your mod's site, or curseforge page
Let updateUrl the same thing, I'm going to teach you how to add a update checker in my next tutorials
Change the credits field to any person that helped you making a mod (it can be me or some other coder/person, or let that with a triple dot (...) or some other thing.), but you can put anything, if you don't have anyone that you want to give credits.
Change the logoFile field to the logo file's location (going to be teaching you how to add a logo file)
Let screenshots and dependencies empty. Only if you have some type of compatibility library, then you add its modid to the dependencies field.
Here's a screenshot for people who got confused:
https://image.prntscr.com/image/5A4siBTYT2eBotysMFpvYA.png
If you want to see my current project (chemicraft, how you saw in the image), enter that curseforge link when it's available.
Any questions? Ask in the comments!
Any mistakes I made in the code? Comment down below.
Credits to CJMinecraft and MrCrayfish for teaching me how to mod.
That's it for today, bye