Simple Rich Discord Presence

Simple Rich Discord Presence

Mod

Simple Discord Rich Presence

Client SocialUtility

228.3k downloads
19 followers
Created9 months ago
Updated2 days ago

Follow Save
Host your Minecraft server on BisectHosting - get 25% off your first month with code MODRINTH.

Simple Discord Rich Presence

Config:

clientId: "Your Discord App ID"
enable: "If you wish to disable Discord Rich Presence, set this to false."
screenEvent: If set to false, it disables the build in screenEvent, which is used to tell when we are on the main menu."
clientJoinEvent: If set to false, it disables the build in clientJoinEvent, which is used to tell when the player is joining a world and changing Dimension."

KubeJS Integration

Functions:

SDRP.setState( String message, String imageName, String imageKey )
message: message to show under the packname aka "In Overworld" or "In Nether", can be passed a string with the text to show or a lang key.
imageName: the text to show when hovering over the small image aka "Overworld" or "Nether", can be passed a string with the text to show or a lang key.
imageKey : the name Rich Present Art Asset to show, like loading, overworld, menu and so on.

SDRP.getCurrentState()
Gets the current state the client is set to.

Examples:
Update state on dimension change and joining world.
kubejs/startup_script/sdrp.js
onForgeEvent(  
  "net.minecraftforge.event.entity.EntityJoinWorldEvent",  
  (event) => {  
    if (event.getEntity().type === "entity.minecraft.player") {  
      if (event.getWorld().isClientSide()) {  
        const dimPath = event.getWorld().dimension().location().getPath();  
          SDRP.setState(`sdrp.${dimPath}.in`, `sdrp.${dimPath}`, "dimPath");  
      }  
    }  
  }  
);

Image keys for if you are using your own Rich Presence Application. (Images used on the default Rich Presence Application can be found HERE)

logo  
loading  
menu

For dimensions, the key will be the registry name path of the dimension like:

overworld  
the_nether  
the_end  
yamda_dim  

For the message (stuff like "In Overworld") is done via lang keys "sdrp.<registry name path of the dimension>.in"
For imageName (stuff like "Overworld" when hovering over the small image) is done via lang keys "sdrp.<registry name path of the dimension>"

Lang keys can be modified and added via data packs and using mods like KubeJS


Project members

Sunekaer

Owner

Nanite

Member


Technical information

License
ARR
Client side
required
Server side
unsupported
Project ID