Skip to content

The Minecraft Discord Sync Plugin allows you to Sync your Minecraft and discord Server. Synchronize Minecraft and Discord Ranks and Ingame <-> Discord Chat

License

Notifications You must be signed in to change notification settings

VironLab/MinecraftDiscordSync

Repository files navigation

MinecraftDiscordSync Plugin

License: GPL v3 Discord

The Minecraft Discord Sync Plugin allows you to Sync your Minecraft and discord Server.

Synchronize Minecraft and Discord Ranks and Ingame <-> Discord Chat


Supported ServerVersions:




Minecraft Bedrock:


Commands:

  • IngameCommands:
    • verify ( PERM: mcdcs.command.verify ) - Sends you an code to verify at the discord server
    • discord ( PERM: mcdcs.command.discord ) - send the discord invitelink
    • discordinfo/dcinfo ( PERM: mcdcs.command.discordinfo ) - shows some informations about the connected discordserver
  • DiscordCommands:
    • verify (verificationcode) - Verifies the user by the ingame given verification code ( IngameCommand verify )
    • about - prints plugin and author infos
    • online - shows the online players at the server
    • playerlist - shows the online player list
    • serverinfo - shows some general minecraft server infos of the connected minecraft server

More Features:

  • Custom Activity ( GameStatus / OnlineStatus )
  • Custom OnlineCounter Channel - displays every minute the live online count of the minecraftserver

Default Storage Providers

  • YAML ( config file in plugin datafolder )
  • MongoDB ( stores data in a database - its a nice feature if the plugin is running on multiple servers to sync verifications )

API:

The plugin provides an API wich you can use to add own discordcommands and discordevents to the discordbot instance or to use a custom permission provider or storage provider

Resolve API:

MinecraftDiscordSyncAPI api = MinecraftDiscordSyncAPI.get();

Example PermissionProvider:

class MyPermissionProvider implements IPermissionProvider {

		@Override
		public String getPrimaryPlayerGroupName(UUID uuid) {
			return MyPlugin.getInstance().resolvePrimaryGroupForPlayerByUUID(uuid);
		}

		@Override
		public String getPrimaryPlayerGroupName(String name) {
			return MyPlugin.getInstance().resolvePrimaryGroupForPlayerByName(name);;
		}
		
	}

Set new providers:

void setNewProviderExample() {
	api.setPermissionProvider(new MyPermissionProvider());
	api.setStorageProvider(new MyStorageProvider())
}

TODOS:

  • TODO: SQL Storage provider support
  • TODO: SQLite Storage provider support
  • :)
  • TODO: CloudNet Perms support
  • TODO: PermissionsEx support

Maven Repository for the API:

<repository>
    <id>vironlab-repo</id>
	<url>https://repo.vironlab.eu/repository/snapshot/</url>
</repository>

<dependency>
	<groupId>eu.vironlab.minecraft.mds</groupId>
	<artifactId>MinecraftDiscordSync-API</artifactId>
	<version>1.0.1-SNAPSHOT</version>
</dependency>

Gradle:

repositories {
    maven {
        url "https://repo.vironlab.eu/repository/snapshot"
    } 
}

dependencies {
    compileOnly 'eu.vironlab.minecraft.mds:MinecraftDiscordSync-API:1.0.1-SNAPSHOT'
}


Other Links: