import{_ase,cass,oasa,aast}from"./app.0f100cc5.js";constf=JSON.parse('{"title":"mod.js","description":"","frontmatter":{},"headers":[],"relativePath":"public/gamedevtree/docs/main-mod-info.md","lastUpdated":null}'),n={name:"public/gamedevtree/docs/main-mod-info.md"},o=t(`<h1 id="mod-js" tabindex="-1">mod.js <a class="header-anchor" href="#mod-js" aria-hidden="true">#</a></h1><p>All of the code and data that you're likely to edit is here in mod.js! Everything in mod.js will not be altered by updates, besides the addition of new things.</p><p>Here's a breakdown of what's in it:</p><ul><li><p>modInfo is where most of the basic configuration for the mod is. It contains:</p><ul><li>name: The name of your mod. (a string)</li><li>id: The id for your mod, a unique string that is used to determine savefile location. Setting it is important!</li><li>author: The name of the author, displayed in the info tab.</li><li>pointsName: This changes what is displayed instead of "points" for the main currency. (It does not affect it in the code.)</li><li>discordName, discordLink: If you have a Discord server or other discussion place, you can add a link to it. "discordName" is the text on the link, and "discordLink" is the url of an invite. If you're using a Discord invite, please make sure it's set to never expire.</li><li>changelogLink: You can use this to set a link to a page where your changelog for the game is displayed.</li><li>offlineLimit: The maximum amount of offline time that the player can accumulate, in hours. Any extra time is lost. (a number) This is useful because most of these mods are fast-paced enough that too much offline time ruins the balance, such as the time in between updates. That is why I suggest developers disable offline time on their own savefile.</li><li>initialStartPoints: A Decimal for the amount of points a new player should start with.</li></ul></li><li><p>VERSION is used to describe the current version of your mod. It contains: num: The mod's version number, displayed at the top right of the tree tab. name: The version's name, displayed alongside the number in the info tab.</p></li><li><p>doNotCallTheseFunctionsEveryTick is very important. TMT calls every function anywhere in "layers" every tick to store the result, unless specifically told not to. Functions that have are used to do an action need to be identified. "Official" functions (those in the documentation) are all fine, but if you make any new ones, add their names to this array.</p></li></ul><div class="language-js"><button title="Copy Code" class="copy"></button><span class="lang">js</span><pre class="shiki"><code><span class="line"><span style="color:#676E95;">// (The ones here are examples, all official functions are already taken care of)</span></span>