Class MinecraftLinker

java.lang.Object
com.github.mafelp.accounts.MinecraftLinker

public class MinecraftLinker
extends java.lang.Object
The class that handles linking on the minecraft side of things.
  • Field Summary

    Fields
    Modifier and Type Field Description
    private static java.util.Map<org.bukkit.entity.Player,​java.lang.Integer> linkableAccounts
    The Map that contains as key the Player that created the link token and as the Value an Integer between 100,000 and 999,999.
  • Constructor Summary

    Constructors
    Constructor Description
    MinecraftLinker()  
  • Method Summary

    Modifier and Type Method Description
    static int getLinkToken​(org.bukkit.entity.Player player)
    Checks the linkableAccounts list, if the Player already has a linking token and if so, it returns the token from this map.
    static java.util.Optional<Account> linkToDiscord​(org.javacord.api.entity.user.User user, int linkID)
    The method used to create a linked Account with a discord user and the linking ID of a minecraft Player.
    private static int randomLinkToken()
    The method used to create a new Linking token, aka a Random, 6-Digit number, that is not already in the linkableAccounts list.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • linkableAccounts

      private static final java.util.Map<org.bukkit.entity.Player,​java.lang.Integer> linkableAccounts
      The Map that contains as key the Player that created the link token and as the Value an Integer between 100,000 and 999,999.
  • Constructor Details

    • MinecraftLinker

      public MinecraftLinker()
  • Method Details

    • getLinkToken

      public static int getLinkToken​(org.bukkit.entity.Player player)
      Checks the linkableAccounts list, if the Player already has a linking token and if so, it returns the token from this map. If the player does not have a token yet, it creates one and adds it to the linkableAccounts map, associated with the player.
      Parameters:
      player - The player to get the Linking Token from.
      Returns:
      The Token used to link the account in discord.
    • randomLinkToken

      private static int randomLinkToken()
      The method used to create a new Linking token, aka a Random, 6-Digit number, that is not already in the linkableAccounts list. This prevents two users from having the same linking token.
      Returns:
      a random linking token.
    • linkToDiscord

      public static java.util.Optional<Account> linkToDiscord​(org.javacord.api.entity.user.User user, int linkID)
      The method used to create a linked Account with a discord user and the linking ID of a minecraft Player.
      Parameters:
      user - The discord User to link the minecraft Player to.
      linkID - The ID used for finding the correct minecraft Player.
      Returns:
      If the ID is a valid token, it returns the newly Account, which was added to the list of accounts. If the ID is invalid, it returns an empty account.