Modding Basics
2026-05-08
en 판으로 표시 중
Modding Basics — Mindustry guide imported from fandom-mindustry
Source: Modding Basics (CC-BY-SA-3.0、 mindustry-unofficial Fandom contributors)
| *Insufficient Resources***This page is a stub. You can help by expanding it. |
| Under Construction****This page is currently missing some information and is welcome to contributors.
| Community Exclusive Page****This page primarily details content that is sourced from the community, such as a guide or a mod, and may not be affiliated with the base game.
Mindustry supports the implementation of mods**, also known as modifications. These mods can change the way the game behaves, add new mechanics and content, or exist for the fun of it depending on the scale and effort put in. Mindustry Mods can be programmed using any of three main styles:
JSON, an easy way of creating custom entity types without the need for programming experience
Javascript (JS), a slightly more complex method of creating mods, useful for certain features such as custom animations and mechanics
Java, the language that Mindustry is programmed in.
This guide will show you how to create the framework that your mod will be in, as well as some basic JSON techniques.
Before You Begin What is a Mod?
Mods in Mindustry exist as a folders (referred to as directories) containing assets such as images and data files. Mindustry reads mods compressed in a .zip file from the mods folder in the game's data, which can be opened with the following methods:
Windows users can type %appdata%* into their taskbar search or file explorer to see their data folders, from which Mindustry/mods can be navigated
If you have purchased Mindustry on Steam, the data folder is at steam/steamapps/common/Mindustry/saves/mods
Mac users can type ~/Library/Application Support/Mindustry/mods/ into Finder to see their data
Any piece of data that fits Mindustry's formatting and has no errors are added as content in the game.
Choosing an Editor
As modding involves looking at and editing code in a directory, a text editor is important. Theoretically, even the in-built Notepad can work, however a proper editor such as Notepad++ or Visual Studio Code helps with identifying syntax errors. This is important when using GitHub to share your mod.
Naming Conventions
Naming conventions are common across programming projects and should be rigidly adhered to for avoiding confusion. In the example mod, filenames are named like this:
mod-block.json / mod-block.hjson
Each word is seperated with a hyphen and all words are lowercase.
The Basics of json
Introducing JSON
MDN docs
The Basics of Hjson
Hjson, is a user interface for JSON
For better understanding, it's best to visit the page of Hjson
Making Your First Mod Basic Structure
Your project directory should look like this:
project
├── mod.hjson ├── content │ │ │ ├── items │ ├── blocks │ ├── liquids │ └── units ├── maps ├── bundles ├── sounds ├── schematics ├── scripts ├── sprites-override └── sprites
mod.hjson (required)
content/ (items, blocks, liquids, units)
maps/
bundles/
sounds/
schematics/
scripts/
sprites-override/
sprites/
<strong>mod.hjson</strong>
mod.hjson Should contain the following:
name: "mod-name" displayName: "This isn't a mod." author: description: "mod-description" version: "1.0" minGameVersion: "150.1" dependencies: [ ] hidden: false
(name)
(displayName)
(description)
(dependencies)
(minGameVersion) This number must be greater than 105.
(dependencies)
(hidden) Tells the server whether the mod is client-side (Does it require installation on the server). If your mod creates content (items, blocks, liquids, units), it must be hidden.
The First
블록
The First Unit
Making the Weapons
The First Sprites
Sharing Your Mod
Additional Resources
Modding Introduction on GitHub wiki
Hjson page on GitHub
Introducing JSON
MDN docs