pages/assets/public_kronos_docs_main-mod-info.md.880d3987.js

7 lines
7.1 KiB
JavaScript

import{_ as e,c as s,o as a,d as t}from"./app.99998402.js";const f=JSON.parse('{"title":"mod.js","description":"","frontmatter":{},"headers":[],"relativePath":"public/kronos/docs/main-mod-info.md","lastUpdated":null}'),n={name:"public/kronos/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>Most of the non-layer code and data that you&#39;re likely to edit is here in <a href="/js/mod.js">mod.js</a>. Everything in <a href="/js/mod.js">mod.js</a> will not be altered by updates, besides the addition of new things.</p><p>Here&#39;s a breakdown of what&#39;s in it:</p><ul><li><p>modInfo is where most of the basic configuration for the mod is. It contains:</p><ul><li><p>name: The name of your mod. (a string)</p></li><li><p>id: The id for your mod, a unique string that is used to determine savefile location. Be sure to set it when you start making a mod, and don&#39;t change it later because it will erase all saves.</p></li><li><p>author: The name of the author, displayed in the info tab.</p></li><li><p>pointsName: This changes what is displayed instead of &quot;points&quot; for the main currency. (It does not affect it in the code.)</p></li><li><p>discordName, discordLink: If you have a Discord server or other discussion place, you can add a link to it.</p><p>&quot;discordName&quot; is the text on the link, and &quot;discordLink&quot; is the url of an invite. If you&#39;re using a Discord invite, please make sure it&#39;s set to never expire.</p></li><li><p>offlineLimit: The maximum amount of offline time that the player can accumulate, in hours. Any extra time is lost. (a number)</p><p>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.</p></li><li><p>initialStartPoints: A Decimal for the amount of points a new player should start with.</p></li></ul></li><li><p>VERSION is used to describe the current version of your mod. It contains:</p><ul><li>num: The mod&#39;s version number, displayed at the top right of the tree tab.</li><li>name: The version&#39;s name, displayed alongside the number in the info tab.</li></ul></li><li><p>changelog is the HTML displayed in the changelog tab. If this gets particularly long, it might be good to put in a separate file (be sure to add the file to index.html)</p></li><li><p>doNotCallTheseFunctionsEveryTick is very important, if you are adding non-standard functions. TMT calls every function anywhere in &quot;layers&quot; every tick to store the result, unless specifically told not to. Functions that have are used to do an action need to be identified. &quot;Official&quot; 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>
<span class="line"><span style="color:#C792EA;">var</span><span style="color:#A6ACCD;"> doNotCallTheseFunctionsEveryTick </span><span style="color:#89DDFF;">=</span><span style="color:#A6ACCD;"> [</span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">doReset</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">buy</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">onPurchase</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">,</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">blowUpEverything</span><span style="color:#89DDFF;">&quot;</span><span style="color:#A6ACCD;">]</span></span>
<span class="line"></span></code></pre></div><ul><li><p>getStartPoints(): A function to determine the amount of points the player starts with after a reset. (returns a Decimal value)</p></li><li><p>canGenPoints(): A function returning a boolean for if points should be generated. Use this if you want an upgrade to unlock generating points.</p></li><li><p>getPointGen(): A function that calculates your points per second. Anything that affects your point gain should go into the calculation here.</p></li><li><p>addedPlayerData(): A function that returns any non-layer-related data that you want to be added to the save data and &quot;player&quot; object.</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:#C792EA;">function</span><span style="color:#A6ACCD;"> </span><span style="color:#82AAFF;">addedPlayerData</span><span style="color:#89DDFF;">()</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">{</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">return</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">{</span></span>
<span class="line"><span style="color:#F07178;"> weather</span><span style="color:#89DDFF;">:</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">Yes</span><span style="color:#89DDFF;">&quot;</span><span style="color:#89DDFF;">,</span></span>
<span class="line"><span style="color:#F07178;"> happiness</span><span style="color:#89DDFF;">:</span><span style="color:#F07178;"> </span><span style="color:#89DDFF;">new</span><span style="color:#F07178;"> </span><span style="color:#82AAFF;">Decimal</span><span style="color:#F07178;">(</span><span style="color:#F78C6C;">72</span><span style="color:#F07178;">)</span><span style="color:#89DDFF;">,</span></span>
<span class="line"><span style="color:#89DDFF;">}}</span></span>
<span class="line"></span></code></pre></div><ul><li><p>displayThings: An array of functions used to display extra things at the top of the tree tab. Each function returns a string, which is a line to display (with basic HTML support). If a function returns nothing, nothing is displayed (and it doesn&#39;t take up a line).</p></li><li><p>isEndgame(): A function to determine if the player has reached the end of the game, at which point the &quot;you win!&quot; screen appears.</p></li></ul><p>Less important things beyond this point!</p><ul><li><p>maxTickLength(): Returns the maximum tick length, in milliseconds. Only really useful if you have something that reduces over time, which long ticks mess up (usually a challenge).</p></li><li><p>fixOldSave(): Can be used to modify a save file when loading into a new version of the game. Use this to undo inflation, never forcibly hard reset your players.</p></li></ul>`,10),i=[o];function l(p,r,c,d,u,h){return a(),s("div",null,i)}const m=e(n,[["render",l]]);export{f as __pageData,m as default};