Difference between revisions of "Modding Tutorials"
Jump to navigation
Jump to search
Line 54: | Line 54: | ||
#* [[Modding_Tutorials/Modifying defs|Def Class Compatibility]] | #* [[Modding_Tutorials/Modifying defs|Def Class Compatibility]] | ||
# [[Modding_Tutorials/Harmony | Alter Code at Runtime with Harmony]] - this is a best practice for modifying game code, replacing C# code injection to reduce Mod Conflicts | # [[Modding_Tutorials/Harmony | Alter Code at Runtime with Harmony]] - this is a best practice for modifying game code, replacing C# code injection to reduce Mod Conflicts | ||
− | # | + | # The wonderful things you will want to do with C# |
#* [[Modding_Tutorials/Injection|C# Injection]] | #* [[Modding_Tutorials/Injection|C# Injection]] | ||
− | #* [[Modding_Tutorials/Modifying classes|Adding fields to classes]] | + | #* [[Modding_Tutorials/Modifying classes|Adding fields and methods to classes]] |
+ | # Useful things: | ||
+ | #* [[Modding Tutorials/ModSettings|Mod settings]] - Add settings to your mod | ||
+ | #* [[Modding Tutorials/DefModExtension|Def mod extensions]] - Add (custom) fields to Defs | ||
+ | #* [[Custom Comp Classes]] - Learn to create your own [[Modding_Tutorials/ThingComp|ThingComp]] | ||
+ | #* [[Modding_Tutorials/Compatibility_with_DLLs|Using Harmony to optionally patch other mods for the sake of compatibility]] | ||
<br/><br/> | <br/><br/> |
Revision as of 10:04, 30 January 2019
|
This is the table of contents for the modding tutorial. Here, you'll learn step by step how to create mods of gradually increasing complexity.
In light of little official documentation, most of the knowledge here was gained by experience, trial-and-error, decompiling and learning from the source. Keep in mind that RimWorld is a big game that underwent substantial code changes during its alphas. Some information you find may be outdated.
What's a mod?
A mod is a folder containing data the game reads/loads. Mods can add, remove or alter the content of other mods (including the Core mod) in the broadest sense of the word. For more info, see also Modding.
Introduction to modding
- First Steps and Some Links
- Essence of Modding
- Exploring the Folder Structure
- Mod Folder Structure
- Recommended Software
General modding
XML tutorials
- XML File Structure
- Introduction to XML Defs
- In-depth XML Def tutorials
- (Added in Alpha 17) PatchOperations, replace specific xml elements of core files while keeping the rest untampered
C# tutorials
- Setting up
- Hello World
- Decompiling Source Code
- Writing Custom Code
- Introduction to Def Classes
- Alter Code at Runtime with Harmony - this is a best practice for modifying game code, replacing C# code injection to reduce Mod Conflicts
- The wonderful things you will want to do with C#
- Useful things:
- Mod settings - Add settings to your mod
- Def mod extensions - Add (custom) fields to Defs
- Custom Comp Classes - Learn to create your own ThingComp
- Using Harmony to optionally patch other mods for the sake of compatibility
Examples: