Config Development Introduction - PolyhedralDev/Terra Wiki

This section goes over some general information, and the basic setup preceding actual config pack development, including setting up a test server / client and an appropriate development workspace. (Unsure what a Config Pack is?)

Setting Up Your Test Environment

Before beginning development on a new pack, you will need a suitable server or client to test with. We recommend using a Fabric client to develop config packs on, however this choice is up to you. You can refer to the Quick Start Guide to find instructions on how to set up Terra for each platform.

! Do not follow the the rest of this guide on any live production environment !

Enabling Debug Mode

Once you have Terra running on your platform of choice, you will need to enable debug mode in order to access the relevant development tools.

To enable debug mode, you must first navigate to the Terra configuration file named config.yml. This will be located inside a subdirectory contained inside your client / server directory (You should already know where this is if you have already installed Terra!). The location will depend on what platform your test server / client is running on:

  • Fabric - /config/Terra/

  • Bukkit - /plugins/Terra/

Once you have located the Terra configuration file, open it in a text editor and set debug to true like so:

debug: true

Accessing Console

Once you have enabled debug mode, you should also ensure you have access to your console. Again, this will be dependent on the platform you're running Terra on, as well as the launcher or wrapper you start it from. We won't be covering how to find the console on every platform as that is outside the scope of this guide.

Mojang Minecraft Launcher
  1. Start the launcher and navigate to the settings page by clicking on this button in the bottom left:

  2. Enable displaying the output log on game startup here:

  3. A window with the console log will now open when you start Minecraft.

MultiMC Launcher
  1. Open up the MultiMC settings window

  2. Enable console log display on launch:

  3. A window with the console log will now open when you start Minecraft.

Picking a Text Editor

When developing config packs, a text editor will be the main tool you'll use, so it's important that you use a suitable one for the job. You're free to use any text editor you're comfortable with, but we highly suggest using one with the following features:

YAML Syntax Highlighting

Having syntax highlighting in a text editor will make understanding and writing configs much easer, as you will be able to tell at a glance how things are structured. To emphasize the point, here is a comparison of a config with and without syntax highlighting:

Syntax Highlighting | No Syntax Highlighting

Built In File Explorer

Using a text editor which lets you open entire folders as projects rather than just individual files will make pack development more streamlined and convenient. The ability to quickly swap between configs, view your pack hierarchy at a glance, and manage subdirectories within your text editor is a must if you want to get things done conveniently. This will save you plenty of time not having to manage both an external file explorer on top of text editor tabs and or instances.

Recommended Editors

Beginning Config Development

From this point on, you have the option of either beginning a new pack from scratch, or modifying an existing pack:

Creating a New Pack From Scratch

Starting from nothing is a great way to understand what every part of the process entails. You will learn how each part of config development connects together to construct a fully fledged world generator. If you want to make something totally unique and personalized to your exact spec or just want to learn how packs work, we recommend following this guide.


Modifying an Existing Pack

Making changes to an existing pack is a more hands off approach where most of the heavy lifting has been done for you, great for if you just want to tweak a couple small details here and there. This guide won't explain as much as the 'from scratch' guide, so if you're having difficulties understanding what things do, we recommend following that in addition to this guide.

⚠️ **GitHub.com Fallback** ⚠️