Giter Club home page Giter Club logo

minecraftdiscordsync's Introduction

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:

minecraftdiscordsync's People

Contributors

depascaldc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

minecraftdiscordsync's Issues

Can't create plugin vmcds

Actual Behavior

Startup error

This is a short description of my problem

Steps to Reproduce

Plugin cannot start on latest Velocity.

23:04:18[ERROR] Can't create plugin vmcds
com.google.inject.ProvisionException: Unable to provision, see the following errors:
1) [Guice/ErrorInjectingConstructor]: NoClassDefFoundError: net/kyori/text/Component
at VelocityMinecraftDiscordSync.<init>(VelocityMinecraftDiscordSync.java:113)
at VelocityPluginModule.configure(VelocityPluginModule.java:47)
while locating VelocityMinecraftDiscordSync
Learn more:
https://github.com/google/guice/wiki/ERROR_INJECTING_CONSTRUCTOR
1 error
======================
Full classname legend:
======================
VelocityMinecraftDiscordSync: "eu.vironlab.minecraft.mds.velocity.VelocityMinecraftDiscordSync"
VelocityPluginModule: "com.velocitypowered.proxy.plugin.loader.java.VelocityPluginModule"
========================
End of classname legend:
========================
at com.google.inject.internal.InternalProvisionException.toProvisionException(InternalProvisionException.java:251) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1151) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1186) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
at com.velocitypowered.proxy.plugin.loader.java.JavaPluginLoader.createPlugin(JavaPluginLoader.java:134) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
at com.velocitypowered.proxy.plugin.VelocityPluginManager.loadPlugins(VelocityPluginManager.java:155) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
at com.velocitypowered.proxy.VelocityServer.loadPlugins(VelocityServer.java:364) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
at com.velocitypowered.proxy.VelocityServer.start(VelocityServer.java:241) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
at com.velocitypowered.proxy.Velocity.main(Velocity.java:70) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
Caused by: java.lang.NoClassDefFoundError: net/kyori/text/Component
at eu.vironlab.minecraft.mds.velocity.VelocityMinecraftDiscordSync.logHeader(VelocityMinecraftDiscordSync.java:282) ~[?:?]
at eu.vironlab.minecraft.mds.velocity.VelocityMinecraftDiscordSync.onLoad(VelocityMinecraftDiscordSync.java:124) ~[?:?]
at eu.vironlab.minecraft.mds.velocity.VelocityMinecraftDiscordSync.<init>(VelocityMinecraftDiscordSync.java:119) ~[?:?]
at eu.vironlab.minecraft.mds.velocity.VelocityMinecraftDiscordSync$$FastClassByGuice$$2e50c9.GUICE$TRAMPOLINE(<generated>) ~[?:?]
at eu.vironlab.minecraft.mds.velocity.VelocityMinecraftDiscordSync$$FastClassByGuice$$2e50c9.apply(<generated>) ~[?:?]
at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:82) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1148) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
... 6 more
Caused by: java.lang.ClassNotFoundException: net.kyori.text.Component
at com.velocitypowered.proxy.plugin.PluginClassLoader.loadClass0(PluginClassLoader.java:87) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
at com.velocitypowered.proxy.plugin.PluginClassLoader.loadClass(PluginClassLoader.java:64) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
at java.base/java.lang.ClassLoader.loadClass(Unknown Source) ~[?:?]
at eu.vironlab.minecraft.mds.velocity.VelocityMinecraftDiscordSync.logHeader(VelocityMinecraftDiscordSync.java:282) ~[?:?]
at eu.vironlab.minecraft.mds.velocity.VelocityMinecraftDiscordSync.onLoad(VelocityMinecraftDiscordSync.java:124) ~[?:?]
at eu.vironlab.minecraft.mds.velocity.VelocityMinecraftDiscordSync.<init>(VelocityMinecraftDiscordSync.java:119) ~[?:?]
at eu.vironlab.minecraft.mds.velocity.VelocityMinecraftDiscordSync$$FastClassByGuice$$2e50c9.GUICE$TRAMPOLINE(<generated>) ~[?:?]
at eu.vironlab.minecraft.mds.velocity.VelocityMinecraftDiscordSync$$FastClassByGuice$$2e50c9.apply(<generated>) ~[?:?]
at com.google.inject.internal.DefaultConstructionProxyFactory$FastClassProxy.newInstance(DefaultConstructionProxyFactory.java:82) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
at com.google.inject.internal.ConstructorInjector.provision(ConstructorInjector.java:114) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
at com.google.inject.internal.ConstructorInjector.construct(ConstructorInjector.java:91) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
at com.google.inject.internal.ConstructorBindingImpl$Factory.get(ConstructorBindingImpl.java:300) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
at com.google.inject.internal.ProviderToInternalFactoryAdapter.get(ProviderToInternalFactoryAdapter.java:40) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
at com.google.inject.internal.SingletonScope$1.get(SingletonScope.java:169) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:45) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
at com.google.inject.internal.InjectorImpl$1.get(InjectorImpl.java:1148) ~[server.jar:3.3.0-SNAPSHOT (git-8891faa5-b370)]
... 6 more

Checklist:

  • included a link with an error stack or additional error informations
  • I have checked there aren't any duplicates of this error/report

BungeeCord Funktioniert nicht

Bei Bungeecord updaten die Spieler zahlen bei Discord nicht. auch die Max Player zahl ist nicht korrekt sondern ist auch 1.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.