Difference between revisions of "Modding"

From RimWorld Wiki
Jump to navigation Jump to search
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 (which may change when the game is saved and reloaded).
+
*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:

Folders-OS-Windows-8-Metro-icon.png

Windows version

path to game folder/Mods


Folders-OS-Linux-Metro-icon.png

Linux version


Folders-OS-Apple-Metro-icon.png

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.

References