Overview#
DiscordCraft is a specialized utility mod designed for Minecraft. By utilizing Discord's Rich Presence API, the mod automatically updates a player's Discord status to show exactly what they are doing in-game. Unlike basic status indicators, DiscordCraft provides deep integration, displaying the specific dimension, planet, or custom modded world a player is currently exploring.
The mod is highly customizable via a JSON configuration system, allowing players and modpack creators to define unique status messages for any dimension, including those added by other mods. It features native support for popular exploration mods like Galacticraft and RFTools, ensuring that complex location data is accurately reflected in the player's profile.
Mechanics and Integration#
When a player changes dimensions—such as entering a Nether portal or launching a rocket to a new planet—the mod detects the change and updates the Rich Presence string based on predefined templates.
Mod Compatibility
DiscordCraft includes built-in logic for several major mods to provide more granular information than just a dimension name:
| Mod | Integration Features |
|---|---|
| Galacticraft | Displays specific planet names, moon names, and orbiting parent bodies. |
| RFTools | Displays the custom names assigned to RFTools Dimensions. |
| Twilight Forest | Native dimension mapping for the Twilight Forest realm. |
| Hunting Dimension | Support for the specialized mob-farming dimension. |
Configuration (JSON System)#
The behavior of DiscordCraft is controlled through a JSON configuration file. This file allows users to set up "Groups" for broad categories of dimensions and specific "Dimensions" for individual overrides.
JSON Structure
The configuration is divided into two main arrays: groups and dimensions. The mod prioritizes specific dimension entries over group templates. If a dimension is defined in the dimensions section, that template will be used even if the dimension also belongs to a group like gcmoon.
Example Configuration
{
"groups": [
{
"groupId": "default",
"template": "Dimension: {dimName}"
},
{
"groupId": "gcplanet",
"template": "On planet {planet}"
}
],
"dimensions": [
{
"dimName": "the_nether",
"template": "The Nether"
}
]
}Variables and Groups#
Templates in DiscordCraft use placeholders (variables) that are replaced with live game data. Some variables are universal, while others are specific to certain modded groups.
Universal Variables
These variables can be used in any group or dimension template:
{dimName}: The internal name of the dimension (e.g., overworld, the_end).{dimId}: The numerical ID of the dimension (e.g., 0, -1, 1).
Group-Specific Variables
| Group ID | Mod Source | Available Variables | Description |
|---|---|---|---|
default |
Vanilla/Any | {dimName}, {dimId} |
Used for any dimension not otherwise categorized. |
gcsatellite |
Galacticraft | {planet}, {name} |
{planet} is the orbited body; {name} is the station name. |
gcmoon |
Galacticraft | {moon}, {planet} |
{moon} is the current location; {planet} is the parent planet. |
gcplanet |
Galacticraft | {planet} |
The localized name of the current planet. |
rftools |
RFTools | {rftools} |
The user-defined name of the RFTools dimension. |
Commands#
DiscordCraft provides an in-game utility command to help players and developers configure their JSON files accurately.
/diminfo
This command is the primary tool for identifying dimension metadata. When executed, it returns the following information about the player's current location:
- Dimension Name: The exact string required for the
{dimName}variable. - Dimension ID: The numerical ID for the
{dimId}variable. - Group: The specific group the dimension currently falls under (e.g.,
defaultorgcplanet).
Dimension Mapping#
Below are the standard internal names for common 1.12.2 dimensions used in the dimensions section of the config:
overworld: The Overworldthe_nether: The Netherthe_end: The Endtwilight_forest: The Twilight Foresthunting_dim: The Hunting Dimensionmoon.moon: The Moon (Galacticraft)planet.asteroids: Asteroids (Galacticraft)