Editing Modding

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
<!--Top Nav Box-->
+
__NOTOC__
{| align=center
+
 
| {{Basics_Nav}}
+
==MODs files are stored in:==
 +
{|
 +
|[[File:Folders-OS-Windows-8-Metro-icon.png|36px]]
 +
|
 +
===Windows version===
 
|}
 
|}
 +
<code>path to game folder/Mods</code>
 
----
 
----
 +
{|
 +
|[[File:Folders-OS-Linux-Metro-icon.png|36px]]
 +
|
 +
===Linux version===
 +
|}
 +
<code>path to game folder/Mods</code>
  
'''Game modifications''' (or '''mods''') are a way of altering the way the game functions by adding, changing, or removing content such as items, textures, sounds, or more. RimWorld has built-in support for modding, including Steam Workshop support.
+
----
 +
{|
 +
|[[File:Folders-OS-Apple-Metro-icon.png|36px]]
 +
|
 +
===Mac OS X version===
 +
|}
 +
<code>path to game folder/Mods</code>
  
== Using Mods ==
+
==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.
  
If you own RimWorld on Steam, then the easiest way of finding and downloading mods is by using [https://steamcommunity.com/app/294100/workshop/ Steam Workshop]. Steam Workshop automates the process of downloading and installing mods, as well as keeping them up to date with new releases.
+
==Getting started==
 +
===Format of files===
 +
For defining new game content, '''[[wikipedia:XML|XML]]''' files are used. Here is an example of the format, that applies to most of the definitions:
 +
<source lang="xml">
 +
<?xml version="1.0" encoding="utf-8" ?>
 +
<SomeDefs>
 +
  <SomeDef>
 +
      <defName>MyNewDefinitionOfContent</defName>
 +
      <!-- more tags will appear depending on what are you defining -->
 +
  </SomeDef>
 +
</SomeDefs>
 +
</source>
 +
Remember, that the word '''Some''' must be replaced by the name of whatever are you defining. For thing it's '''&lt;ThingDef&gt;'''.
  
Even if you do not own RimWorld on Steam, Workshop can still be used to discover new mods; while some mods are released on [https://www.nexusmods.com/rimworld Nexus Mods], no other mod site has close to the same amount of mods available. You can use tools such as [https://github.com/rimpy-custom/RimPy/releases RimPy] to download and install mods from Steam Workshop and GitHub instead.
+
==Mod structure==
 +
The RimWorld mods use the following directory structure.
 +
<pre>
 +
┌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
 +
</pre>
  
=== Manual Installation ===
+
===Mod Info:===
 +
This is found in <code>\MODNAME\About\</code>
 +
*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
  
You can install mods manually by unzipping them into subfolders within your local Mods folder. This location varies by operating system:
+
===Textures:===
 +
These are found in <code>\MODNAME\Textures\</code>
 +
*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>
 +
*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.
  
{| class="wikitable" style="margin-right:auto"
+
===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.
! Operating System !! Default Folder Location
+
 
|-
+
These are defined in <code>\MODNAME\Defs\ThingDefs</code>
| Windows || <code>C:\Program Files (x86)\Steam\steamapps\common\RimWorld\Mods</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.
|-
+
 
| Mac || <code>Library/Application Support/Steam/steamapps/common/RimWorld</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.
| Linux (standalone) || <code>~/.steam/steam/steamapps/common/RimWorld/Mods</code>
+
 
|-
+
Any new resources will need to be defined in: <code>MODNAME\Defs\ThingDefs</code>
| Linux (GoG) || <code>/home/<user>/GOG/Games/RimWorld/game/Mods/</code>
+
 
|}
+
===New Turrets:===
 +
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)
  
=== Activating Mods ===
+
Buildings_Big.xml defines the structure of the turret itself. IE:
 +
<syntaxhighlight lang="xml" >
 +
<building>
 +
<turretGunDef>Gun_TurretImprovised</turretGunDef>
 +
<burstCooldownTicks>300</burstCooldownTicks>
 +
</building>
 +
</syntaxhighlight>
 +
Weapons_Gun.xml defines the weapon the turret uses. Anything can be used as a weapon for turrets, including grenades.
  
Once you have installed mods, you can select the '''Mods''' option from the main menu of RimWorld to activate them. Activating or deactivating mods requires RimWorld to restart.
+
===New Resources:===
 +
These are defined in: <code>MODNAME\Defs\ThingDefs\Resources.xml</code>
  
== Making Mods ==
+
===New Research Projects:===
 +
These are found in: <code>MODNAME\Defs\ResearchProjectDefs</code>
  
Please check out the [[Modding_Tutorials|Modding Tutorials]] hub for tutorials and guides on how to create and publish your own mods.
+
You can have research trees as well, where additional research projects get unlocked as you move through.
 +
This is how to add prerequisites:
 +
<syntaxhighlight lang="xml" >
 +
<prerequisites>
 +
<li>-this is the <defName> of the prerequisite-</li>
 +
</prerequisites>
 +
</syntaxhighlight>
 +
Because it's a list, you can have multiple prerequisites for a research project.
  
[[Category:Modding]]
+
== References ==
 +
*[http://ludeon.com/forums/index.php?topic=1681.0 forum thread]
 +
*[http://rimworldgame.com/publicArtSource/ThingGraphics.zip RimWorld core art source]

Please note that all contributions to RimWorld Wiki are considered to be released under the CC BY-SA 3.0 (see RimWorld Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)