Difference between revisions of "Modding"

From RimWorld Wiki
Jump to navigation Jump to search
(added category modding)
(Some copy editing)
Line 1: Line 1:
 
__NOTOC__
 
__NOTOC__
 +
 +
Mods
  
 
==MODs files are stored in:==
 
==MODs files are stored in:==
Line 7: Line 9:
  
 
== How to install mods ==
 
== How to install mods ==
Finding and Installing mods which is short for modification to your RimWorld is a very easy task to do if you want to add some new content to your game. First you need to look online and find a mod that you want to try out, the main source for finding mods is [[http://ludeon.com/forums/index.php?board=15.0 forum]] which is the mod release section on the main Ludeon site. Once you find a mod you like that is COMPATIBLE with the VERSION of RimWorld you have, or even a few mods you like you can download them from there page in the mod release forum. Once you have downloaded them and opened up your .rar files you just got, its a simple case of drag and dropping the mod folders inside the .rar files into you RimWorld mods folder, Starting up your game and activating the mods. A lot of the RimWorld mods require you to start a new game before the new content is available.
+
Finding and Installing mods which is short for modification to your RimWorld is a very easy task to do if you want to add some new content to your game. First you need to look online and find a mod that you want to try out, the main source for finding mods is the [http://ludeon.com/forums/index.php?board=15.0 forum] in the mod release section. Once you find a mod you like that is '''compatible''' with the version of RimWorld you have, or even a few mods you like you can download them from their individual threads. Once you have downloaded them and opened up your zip files you just got, it's just a simple case of drag and dropping the extracted zip files into your RimWorld mods folder, starting up your game, and activating the mods. However, be aware that many mods require you to start a new game before the new content is available.
  
 
== Editing mods folder ==
 
== Editing mods folder ==
When editing your mods folder you should ALWAYS make a backup in an easy to find place (such as your desktop)in case you come across errors, this way you will always be able to undo a mistake that may occur. and it is also VERY IMPORTANT to never delete the ThingCatagories.XML file in your mod pack, doing this will result in a black screen when trying to start the game up.
+
When editing your mods folder, you should '''always''' make a backup somewhere (such as your desktop) in case you come across errors. This way, you will always be able to undo a mistake that may occur. It is also very important to never delete the ThingCatagories.xml file in your mod pack; doing this will result in a black screen when trying to start the game up.
  
 
== Mod Compatibility ==
 
== Mod Compatibility ==
Not all mods work with each other, you will know if you have mods that do not work if you are having serious gameplay issue, such as unplaceable items, graphical issue, colonists getting stuck etc.
+
Not all mods work with each other. You will know if you have incompatible mods if you are having serious gameplay issues, such as unplaceable items, graphical issues, colonists getting stuck, etc.
  
 
==General Modding Advice==
 
==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.
+
*The tilde key (` or ~) brings up the development console, which will report any errors or warnings it encounters when a mod loads or during gameplay. This is the quickest way to see what, if any, errors exist in your mod. (You don't need to turn on development mode for this.)
*Use Development Mode (Found in Options) to help debug your mod.
+
*Use development mode (found in the options menu) to help debug your mod, spawn items related to your mod, or fire incidents at will. (Or just mess around, if you'd like.)
  
 
==Getting started==
 
==Getting started==
Line 70: Line 72:
  
 
===Textures:===
 
===Textures:===
These are found in <code>\MODNAME\Textures\</code>
+
These are found in <code>MODNAME\Textures\</code>
 
*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: <code><TexturePath>Things/Building/RoyalBed</TexturePath></code>
 
*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: <code><TexturePath>Things/Building/RoyalBed</TexturePath></code>
Line 78: Line 80:
 
A thing is anything that exists in the game world. It includes resources, races (humanoid and animal), buildings, furniture, and many others.
 
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 <code>\MODNAME\Defs\ThingDefs</code>
+
These are defined in <code>MODNAME\Defs\ThingDefs</code>
 
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.
 
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: <code>\MODNAME\Defs\RecipeDefs</code>
+
The recipes themselves are defined in: <code>MODNAME\Defs\RecipeDefs</code>
 
In here you can define what ingredients/resources are required, what can be used, and what the default recipe is.
 
In here you can define what ingredients/resources are required, what can be used, and what the default recipe is.
  
Line 87: Line 89:
  
 
===New Turrets:===
 
===New Turrets:===
These are defined in two files in: <code>\MODNAME\Defs\ThingDefs</code>
+
These are defined in two files in: <code>MODNAME\Defs\ThingDefs</code>
 
Buildings_Big.xml and Weapons_Guns.xml (Remember, these can be named anything)
 
Buildings_Big.xml and Weapons_Guns.xml (Remember, these can be named anything)
  
Buildings_Big.xml defines the structure of the turret itself. IE:
+
Buildings_Big.xml defines the structure of the turret itself. For example:
<syntaxhighlight lang="xml" >
+
<source lang="xml" >
 
<building>
 
<building>
 
<turretGunDef>Gun_TurretImprovised</turretGunDef>
 
<turretGunDef>Gun_TurretImprovised</turretGunDef>
 
<burstCooldownTicks>300</burstCooldownTicks>
 
<burstCooldownTicks>300</burstCooldownTicks>
 
</building>
 
</building>
</syntaxhighlight>
+
</source>
 
Weapons_Gun.xml defines the weapon the turret uses. Anything can be used as a weapon for turrets, including grenades.
 
Weapons_Gun.xml defines the weapon the turret uses. Anything can be used as a weapon for turrets, including grenades.
  
Line 107: Line 109:
 
You can have research trees as well, where additional research projects get unlocked as you move through.
 
You can have research trees as well, where additional research projects get unlocked as you move through.
 
This is how to add prerequisites:
 
This is how to add prerequisites:
<syntaxhighlight lang="xml" >
+
<source lang="xml" >
 
<prerequisites>
 
<prerequisites>
 
<li>-this is the <defName> of the prerequisite-</li>
 
<li>-this is the <defName> of the prerequisite-</li>
 
</prerequisites>
 
</prerequisites>
</syntaxhighlight>
+
</source>
 
Because it's a list, you can have multiple prerequisites for a research project.
 
Because it's a list, you can have multiple prerequisites for a research project.
  
 
== References ==
 
== References ==
*[http://ludeon.com/forums/index.php?topic=1681.0 forum thread]
+
*[http://ludeon.com/forums/index.php?topic=1681.0 Simple tutorial forum thread]
 
*[http://rimworldgame.com/publicArtSource/ThingGraphics.zip RimWorld core art source]
 
*[http://rimworldgame.com/publicArtSource/ThingGraphics.zip RimWorld core art source]
  
  
 
[[Category:Modding]]
 
[[Category:Modding]]

Revision as of 00:58, 24 April 2014


Mods

MODs files are stored in:

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

path to game folder/Mods

How to install mods

Finding and Installing mods which is short for modification to your RimWorld is a very easy task to do if you want to add some new content to your game. First you need to look online and find a mod that you want to try out, the main source for finding mods is the forum in the mod release section. Once you find a mod you like that is compatible with the version of RimWorld you have, or even a few mods you like you can download them from their individual threads. Once you have downloaded them and opened up your zip files you just got, it's just a simple case of drag and dropping the extracted zip files into your RimWorld mods folder, starting up your game, and activating the mods. However, be aware that many mods require you to start a new game before the new content is available.

Editing mods folder

When editing your mods folder, you should always make a backup somewhere (such as your desktop) in case you come across errors. This way, you will always be able to undo a mistake that may occur. It is also very important to never delete the ThingCatagories.xml file in your mod pack; doing this will result in a black screen when trying to start the game up.

Mod Compatibility

Not all mods work with each other. You will know if you have incompatible mods if you are having serious gameplay issues, such as unplaceable items, graphical issues, colonists getting stuck, etc.

General Modding Advice

  • The tilde key (` or ~) brings up the development console, which will report any errors or warnings it encounters when a mod loads or during gameplay. This is the quickest way to see what, if any, errors exist in your mod. (You don't need to turn on development mode for this.)
  • Use development mode (found in the options menu) to help debug your mod, spawn items related to your mod, or fire incidents at will. (Or just mess around, if you'd like.)

Getting started

Format of files

For defining new game content, XML files are used. Here is an example of the format, that applies to most of the definitions:

<?xml version="1.0" encoding="utf-8" ?>
<SomeDefs>
   <SomeDef>
      <defName>MyNewDefinitionOfContent</defName>
      <!-- more tags will appear depending on what are you defining -->
   </SomeDef>
</SomeDefs>

Remember, that the word Some must be replaced by the name of whatever are you defining. For thing it's <ThingDef>.

Mod structure

The RimWorld mods use the following directory structure.

┌About 
├╴About.xml (Contains info about the mod)
├╴Preview.png (Image that appears above the mod info in game. Max width 600px.)
│
├Assemblies (If your mod uses any DLL files put them here)
├╴MyMod.dll
│
├Defs (Contains xml definitions of the mod)
├┬ThingDefs
│├╴Things.xml
│└╴Buildings.xml
├┬ResearchProjectDefs
│└╴MyProjects.xml
│the folder name must be specific here. Look in Core mod to see what are other names supposed to be
│
├Sounds
│
├Source
├╴MyMod.cs (Optionally, put the source code of your mod here)
│
├Strings
│
├Textures (Put any image textures here, preferably in .png format.)
└┬Things
 ├╴MyMod_ImageA.png
 └╴MyMod_ImageB.png

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.

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. For example:

<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