본문으로 건너뛰기

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