Difference between revisions of "Modding"
Line 35: | Line 35: | ||
*You can have any path you want from this point on. | *You can have any path you want from this point on. | ||
*When referencing textures in your mod, using <TexturePath>, have the complete path relative to your mod, including the filename (but not the file extension) Example for the RoyalBed Testmod: <TexturePath>Things/Building/RoyalBed</TexturePath> | *When referencing textures in your mod, using <TexturePath>, have the complete path relative to your mod, including the filename (but not the file extension) Example for the RoyalBed Testmod: <TexturePath>Things/Building/RoyalBed</TexturePath> | ||
− | *You can randomize textures within a folder using a <textureFolderPath> pointing at a folder with multiple textures inside. Each Thing of the given def will have a random texture from the folder | + | *You can randomize textures within a folder using a <textureFolderPath> pointing at a folder with multiple textures inside. Each Thing of the given def will have a random texture from the folder. |
==Mod Folder Structure:== | ==Mod Folder Structure:== |
Revision as of 22:05, 8 March 2014
MODs files are stored in:
Windows version |
path to game folder/Mods
Linux version |
Mac OS X version |
General Modding Advice
- The tilde key (`) brings up the dev console, which will report any errors it encounters. This is the quickest way to see what, if any, errors exist in your mod.
- Use Developement Mode (Found in Options) to help debug your mod.
Mod Info:
This is found in \MODNAME\About\
- The contents of About.xml are plain text. HTML Markup tags cause NullRef's.
- You can have an image for your mod. Restrict the image width to 600 pixels
Textures:
These are found in \MODNAME\Textures\
- You can have any path you want from this point on.
- When referencing textures in your mod, using <TexturePath>, have the complete path relative to your mod, including the filename (but not the file extension) Example for the RoyalBed Testmod: <TexturePath>Things/Building/RoyalBed</TexturePath>
- You can randomize textures within a folder using a <textureFolderPath> pointing at a folder with multiple textures inside. Each Thing of the given def will have a random texture from the folder.
Mod Folder Structure:
While you can name all .xml files whatever you want. You cannot rename the folders; the game looks in folders with specific names to find specific data.
New Interactable "Things":
A thing is anything that exists in the game world. It includes resources, races (humanoid and animal), buildings, furniture, and many others.
These are defined in \MODNAME\Defs\ThingDefs If you make a new workbench, you'll need to define a recipe for it. This is a list, so you can have many new recipes listed.
The recipes themselves are defined in: \MODNAME\Defs\RecipeDefs In here you can define what ingredients/resources are required, what can be used, and what the default recipe is.
Any new resources will need to be defined in: MODNAME\Defs\ThingDefs
New Turrets:
These are defined in two files in: \MODNAME\Defs\ThingDefs Buildings_Big.xml and Weapons_Guns.xml (Remember, these can be named anything)
Buildings_Big.xml defines the structure of the turret itself. IE:
<building> <turretGunDef>Gun_TurretImprovised</turretGunDef> <burstCooldownTicks>300</burstCooldownTicks> </building>
Weapons_Gun.xml defines the weapon the turret uses. Anything can be used as a weapon for turrets, including grenades.
New Resources:
These are defined in: MODNAME\Defs\ThingDefs\Resources.xml
New Research Projects:
These are found in: MODNAME\Defs\ResearchProjectDefs You can have research trees as well, where additional research projects get unlocked as you move through. This is how to add prerequisites:
<prerequisites> <li>-this is the <defName> of the prerequisite-</li> </prerequisites>
Because it's a list, you can have multiple prerequisites for a research project.