MCC is the name of my library, which when completed will allow for one to program an entire Minecraft mod in C.
At its current stage, MCC is able to load mods from its own folder and initialize their preInit(), init() and postInit() methods. It cannot use FML's loader because it does not allow for me to use the files directly from the archive.
MCC is an implementation of the JNI library, allowing Java applications to interface with native code. JNI provides support for C++ and Objective-C as well, however I would prefer to provide full C compatibility beforehand.
Got any ideas that would improve MCC? I am always open to suggestions! You can either post here, send me a PM, or submit an issue or PR to the git repo and I'll be sure to take a look at it!
FAQ:
Q: What's the point of modding in C? Isn't java sufficient?
A: Java can be sufficient sure, but there are a multitude of reasons why C is better than java. One of the biggest of these reasons is that C is lower-level, and can be used to program more specifically to the hardware, which includes OS programming and others.
Q: Will this API change to support future modding APIs for Minecraft?
A: Of course! After I am done with MCForge support, I plan to have Blazeloader support as well. If the Minecraft API ever does come out, I will attempt to port this as well.
Q: Why did you choose to make this API?
A: I wanted to better my understanding of the C programming language. I know the basics, but eventually want to build my own operating system, based on BSD, which is written in C.
Q: Is MCC compatible with x Minecraft mod?
A: MCC is written under the standard version of forge for 1.7.10 so as long as x mod is compatible with forge it will be compatible with MCC.
At its current stage, MCC is able to load mods from its own folder and initialize their preInit(), init() and postInit() methods. It cannot use FML's loader because it does not allow for me to use the files directly from the archive.
MCC is an implementation of the JNI library, allowing Java applications to interface with native code. JNI provides support for C++ and Objective-C as well, however I would prefer to provide full C compatibility beforehand.
You can check out, and contribute to, MCC at its github repo: https://github.com/Cephrus/MCC
Got any ideas that would improve MCC? I am always open to suggestions! You can either post here, send me a PM, or submit an issue or PR to the git repo and I'll be sure to take a look at it!
Q: What's the point of modding in C? Isn't java sufficient?
A: Java can be sufficient sure, but there are a multitude of reasons why C is better than java. One of the biggest of these reasons is that C is lower-level, and can be used to program more specifically to the hardware, which includes OS programming and others.
Q: Will this API change to support future modding APIs for Minecraft?
A: Of course! After I am done with MCForge support, I plan to have Blazeloader support as well. If the Minecraft API ever does come out, I will attempt to port this as well.
Q: Why did you choose to make this API?
A: I wanted to better my understanding of the C programming language. I know the basics, but eventually want to build my own operating system, based on BSD, which is written in C.
Q: Is MCC compatible with x Minecraft mod?
A: MCC is written under the standard version of forge for 1.7.10 so as long as x mod is compatible with forge it will be compatible with MCC.
Click Here to view my WIP Mod!
Currently developing a Tech/Space mod. PM if you can/want to help!