From 931d3267e02b0be301a0ffb1fec5640d8bd96e28 Mon Sep 17 00:00:00 2001 From: wasdeilonn <130769530+wasdeilonn@users.noreply.github.com> Date: Wed, 25 Mar 2026 17:21:53 +0100 Subject: [PATCH 1/6] intro and manifest --- docs/docs/introduction.md | 75 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 74 insertions(+), 1 deletion(-) diff --git a/docs/docs/introduction.md b/docs/docs/introduction.md index f6ecaa6..459eb74 100644 --- a/docs/docs/introduction.md +++ b/docs/docs/introduction.md @@ -1 +1,74 @@ -# Introduction \ No newline at end of file +# Introduction +Hi! This page will teach you the very basics of modding Polytopia. + +# How do I make a mod? +Polytopia mods are essentially a folder/`.zip` file/`.polymod` file that contains a `manifest.json` file and other components of the mod. Mods are stored in the `Mods` folder of the Polytopia root folder. + +In order to make a new mod, you have to create a new folder inside the `Mods` folder, name it whatever, and then put a `manifest.json` file in it (more on this later). You can also zip this folder to turn it into a distributable mod, and you can rename the extention to .polymod so you can properly distribute it on the [polymod.dev](https://polymod.dev/) website. + +How your file hierarchy should look like: +``` +The Battle of Polytopia +--> Mods + --> ExampleMod1 + --> manifest.json + --> ExampleMod2.zip + --> ExampleMod3.polymod +``` + +# Manifest +The `manifest.json` file contains basic information about your mod, like its id, name, description, authors, dependencies, so on. This file is a json file, and looks something like this: +```json +{ + "id": "docs_mod", + "name": "DocsMod", + "version": "1.2.3.4", + "authors": [ + "John Polymod Klipi", + "Ex-Ploicit Content" + ], + "dependencies": [ + { + "id": "polytopia", + "min": "2.0.0", + }, + { + "id": "another_cool_mod", + "required": false + } + ], + "description": "This is a very cool mod that turns giants into the one and only Jesus Homonculus" +} +``` +> [!TIP] +> If you aren't familiar with the JSON format, try reading a bit about it first. + +> [!NOTE] +We advise you use some code editor app like Visual Studio Code or Notepad++ (or anything, just be comfortable writing JSON). +## Components of a manifest file: +### `id`: +The id of the mod, it's used by other mods to add your mod as a dependency. You can only use lowercase letters. [TO FIX IDFK LMAO] +### `name`: +The user friendly name of the mod. This is what regular users are going to see. You can put almost anything here. +### `version`: +Tells the user, aswell as the [polymod.dev](https://polymod.dev/) website what version of your mod this is. It only accepts numbers, and you format is so: `x.y.z.w` (`z` and `w` are optional, though `x` and `y` are not). +> [!NOTE] +> It is considered good practice to keep version updated. +### `authors`: +In this array you can credit anyone who has worked on the mod. Again, if you don't know how to format JSON arrays and whatnot, consider watching some tutorial or reading an article! +### `dependencies`: +You can tell PolyMod if your mod depends on any other mod using this field. If you put a mod here as seen in the example, PolyMod will try to load that first, and if it doesn't find that mod, and the dependency isn't set to false as seen in the example, PolyMod will not load your mod, to avoid breaking and crashing and otherwise unwanted behavior. +> [!TIP] +> There exists a "pseudo-mod" with the id of `polytopia`. In this example, we showcase how you can use that in order to set a minimum game version for your mod so it doesn't cause unexpected behavior on older versions! You don't need this for your mod to function, though. +### `description`: +Here you can tell users what your mod is about! When publishing, try to be descriptive cause this is whats going to show up the mod catalogue! + +# Patch + +# Sprites + +# Localization + +# Prefabs + +# PolyScript (Advanced) From 82c2dd7da4c773a6ee9550721c1ceaec69f5fbea Mon Sep 17 00:00:00 2001 From: wasdeilonn <130769530+wasdeilonn@users.noreply.github.com> Date: Wed, 25 Mar 2026 20:39:19 +0100 Subject: [PATCH 2/6] revision --- docs/docs/introduction.md | 27 +++++++++++++++++++++------ 1 file changed, 21 insertions(+), 6 deletions(-) diff --git a/docs/docs/introduction.md b/docs/docs/introduction.md index 459eb74..3efc045 100644 --- a/docs/docs/introduction.md +++ b/docs/docs/introduction.md @@ -2,13 +2,26 @@ Hi! This page will teach you the very basics of modding Polytopia. # How do I make a mod? -Polytopia mods are essentially a folder/`.zip` file/`.polymod` file that contains a `manifest.json` file and other components of the mod. Mods are stored in the `Mods` folder of the Polytopia root folder. +Polytopia mods can be 3 things: folders, `.zip` files and `.polymod` files. -In order to make a new mod, you have to create a new folder inside the `Mods` folder, name it whatever, and then put a `manifest.json` file in it (more on this later). You can also zip this folder to turn it into a distributable mod, and you can rename the extention to .polymod so you can properly distribute it on the [polymod.dev](https://polymod.dev/) website. +Mods also have a `manifest.json` file, aswell as other components. Mods are stored in the `Mods` folder of the Polytopia root folder (Polytopia root folder is the folder that holds all the information about the game). + +> [!TIP] +> You can access the root folder in the following ways: +> +> **On steam:** +> +> Go to Library --> Polytopia, click on the little gear icon on the right side of the screen, then go Manage --> Browse local files. +> +> **On epic** +> +> [I HAVE NO CLUE LMAO TO FIX!!!!!!!!!!!!] + +In order to make a new mod, you have to create a new folder inside the `Mods` folder, name it, and then put a `manifest.json` file in it (more on this later). You can also zip this folder and rename the extention to `.polymod` so you can properly distribute it on the [polymod.dev](https://polymod.dev/) website. How your file hierarchy should look like: ``` -The Battle of Polytopia +The Battle of Polytopia (this is your "polytopia root" folder) --> Mods --> ExampleMod1 --> manifest.json @@ -17,7 +30,7 @@ The Battle of Polytopia ``` # Manifest -The `manifest.json` file contains basic information about your mod, like its id, name, description, authors, dependencies, so on. This file is a json file, and looks something like this: +The `manifest.json` file contains the metadata (basic information) of your mod, things like its id, name, authors, dependencies, so on. This file is a json file, and looks something like this: ```json { "id": "docs_mod", @@ -41,13 +54,13 @@ The `manifest.json` file contains basic information about your mod, like its id, } ``` > [!TIP] -> If you aren't familiar with the JSON format, try reading a bit about it first. +> If you aren't familiar with the JSON format, try [reading](https://json.org/) a bit about it first. > [!NOTE] We advise you use some code editor app like Visual Studio Code or Notepad++ (or anything, just be comfortable writing JSON). ## Components of a manifest file: ### `id`: -The id of the mod, it's used by other mods to add your mod as a dependency. You can only use lowercase letters. [TO FIX IDFK LMAO] +The id of the mod, it's used by other mods to add your mod as a dependency. You can only use lowercase letters and underscores. ### `name`: The user friendly name of the mod. This is what regular users are going to see. You can put almost anything here. ### `version`: @@ -62,6 +75,8 @@ You can tell PolyMod if your mod depends on any other mod using this field. If y > There exists a "pseudo-mod" with the id of `polytopia`. In this example, we showcase how you can use that in order to set a minimum game version for your mod so it doesn't cause unexpected behavior on older versions! You don't need this for your mod to function, though. ### `description`: Here you can tell users what your mod is about! When publishing, try to be descriptive cause this is whats going to show up the mod catalogue! +> [!TIP] +> It's generally a good idea to tell your users what dependencies your mod needs. # Patch From 9f0714c41bbccda7bcdd2f7e48fe74c188ea50fc Mon Sep 17 00:00:00 2001 From: wasdeilonn <130769530+wasdeilonn@users.noreply.github.com> Date: Thu, 26 Mar 2026 16:42:39 +0100 Subject: [PATCH 3/6] revision2 --- docs/docs/introduction.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/docs/introduction.md b/docs/docs/introduction.md index 3efc045..e90cf86 100644 --- a/docs/docs/introduction.md +++ b/docs/docs/introduction.md @@ -43,7 +43,7 @@ The `manifest.json` file contains the metadata (basic information) of your mod, "dependencies": [ { "id": "polytopia", - "min": "2.0.0", + "min": "2.0.0" }, { "id": "another_cool_mod", @@ -57,7 +57,7 @@ The `manifest.json` file contains the metadata (basic information) of your mod, > If you aren't familiar with the JSON format, try [reading](https://json.org/) a bit about it first. > [!NOTE] -We advise you use some code editor app like Visual Studio Code or Notepad++ (or anything, just be comfortable writing JSON). +> We advise you use some code editor app like Visual Studio Code or Notepad++ (or anything, just be comfortable writing JSON). ## Components of a manifest file: ### `id`: The id of the mod, it's used by other mods to add your mod as a dependency. You can only use lowercase letters and underscores. From 850a30a45fe3fd6b6a07f768b63801ebc29b4157 Mon Sep 17 00:00:00 2001 From: wasdeilonn <130769530+wasdeilonn@users.noreply.github.com> Date: Thu, 26 Mar 2026 18:03:55 +0100 Subject: [PATCH 4/6] Update docs/docs/introduction.md Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- docs/docs/introduction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/introduction.md b/docs/docs/introduction.md index e90cf86..6eef7a3 100644 --- a/docs/docs/introduction.md +++ b/docs/docs/introduction.md @@ -17,7 +17,7 @@ Mods also have a `manifest.json` file, aswell as other components. Mods are stor > > [I HAVE NO CLUE LMAO TO FIX!!!!!!!!!!!!] -In order to make a new mod, you have to create a new folder inside the `Mods` folder, name it, and then put a `manifest.json` file in it (more on this later). You can also zip this folder and rename the extention to `.polymod` so you can properly distribute it on the [polymod.dev](https://polymod.dev/) website. +In order to make a new mod, you have to create a new folder inside the `Mods` folder, name it, and then put a `manifest.json` file in it (more on this later). You can also zip this folder and rename the extension to `.polymod` so you can properly distribute it on the [polymod.dev](https://polymod.dev/) website. How your file hierarchy should look like: ``` From 67b99124c64711a34b4aba9567663923d3fc2c2c Mon Sep 17 00:00:00 2001 From: wasdeilonn <130769530+wasdeilonn@users.noreply.github.com> Date: Thu, 26 Mar 2026 18:04:45 +0100 Subject: [PATCH 5/6] Update docs/docs/introduction.md Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- docs/docs/introduction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/introduction.md b/docs/docs/introduction.md index 6eef7a3..0a88abe 100644 --- a/docs/docs/introduction.md +++ b/docs/docs/introduction.md @@ -74,7 +74,7 @@ You can tell PolyMod if your mod depends on any other mod using this field. If y > [!TIP] > There exists a "pseudo-mod" with the id of `polytopia`. In this example, we showcase how you can use that in order to set a minimum game version for your mod so it doesn't cause unexpected behavior on older versions! You don't need this for your mod to function, though. ### `description`: -Here you can tell users what your mod is about! When publishing, try to be descriptive cause this is whats going to show up the mod catalogue! +Here you can tell users what your mod is about! When publishing, try to be descriptive because this is what's going to show up in the mod catalogue! > [!TIP] > It's generally a good idea to tell your users what dependencies your mod needs. From e27f5f4faa29fbc32e00857e42886df9451bff37 Mon Sep 17 00:00:00 2001 From: wasdeilonn <130769530+wasdeilonn@users.noreply.github.com> Date: Thu, 26 Mar 2026 18:05:02 +0100 Subject: [PATCH 6/6] Update docs/docs/introduction.md Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com> --- docs/docs/introduction.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/docs/introduction.md b/docs/docs/introduction.md index 0a88abe..f3709c5 100644 --- a/docs/docs/introduction.md +++ b/docs/docs/introduction.md @@ -62,7 +62,7 @@ The `manifest.json` file contains the metadata (basic information) of your mod, ### `id`: The id of the mod, it's used by other mods to add your mod as a dependency. You can only use lowercase letters and underscores. ### `name`: -The user friendly name of the mod. This is what regular users are going to see. You can put almost anything here. +The user-friendly name of the mod. This is what regular users are going to see. You can put almost anything here. ### `version`: Tells the user, aswell as the [polymod.dev](https://polymod.dev/) website what version of your mod this is. It only accepts numbers, and you format is so: `x.y.z.w` (`z` and `w` are optional, though `x` and `y` are not). > [!NOTE]