Simple Discord Rich Presence for Minecraft
What is this mod?
SDRP is a convenient client for displaying Minecraft status in Discord. The mod allows you to share information about what you're doing in the game directly in your Discord profile.
How to start using?
To use the mod, simply download it and place it in the mods folder. Since this is a client-side mod, you don't need to install it on the server.
Next, you need to create an application in Discord through the Discord Developer Portal. After creating the application, add images:
- Main image on the "General Information" tab - will be displayed when you're not playing Minecraft
- Additional image on the "Rich Presence" tab - will be shown during gameplay
Image Configuration
The mod automatically uses images named "loading" (during game loading) and "menu" (in the main menu). If these images are missing, the status will be displayed without an image.
Custom Images
To set up your own images, use the following naming scheme:
- Name:
sdrp.[DIMENSION_NAME] - Image Key:
sdrp.[DIMENSION_NAME].in - File Name:
[DIMENSION_NAME]
Example setup for Overworld and The End:
{
"sdrp.overworld": "Overworld",
"sdrp.overworld.in": "In the Overworld"
}
Supported Dimensions
The mod automatically detects the following dimensions:
- overworld
- the_nether
- the_end
- compact_world
- dungeon
- spatial_storage
- otherside
- paradise_lost
- mining
Configuration
{
"clientId": 1000000000, // Your Discord application ID
"enabled": true, // Whether the mod is enabled
"screenEvent": false, // Disables "menu" and "loading" images
"clientJoinEvent": false, // Disables level join events
"logState": false, // Enables state logging
}
KubeJS Integration
For versions 3.0.0+ (1.19.2) and 4.0.3+ (1.20.1+), integration with KubeJS 6+ is available.
Available methods:
SDRP.setState(String message, String imageName, String imageKey)- sets the stateSDRP.getCurrentState()- gets the current state
Example using events:
sdrp.dimension_change((event) => {
const dimPath = event.level.dimension().location().getPath();
event.updateSDRPState(sdrp.${dimPath}.in, sdrp.${dimPath}, "dimPath");
});