/UUIDCache

UUIDCache offers an easy way to store minecraft player uuid's into a redis database and automatically cache them.

Primary LanguageJava

UUIDCache offers an easy way to store minecraft player uuid's into an redis database and automatically cache them.

How to setup the plugin?

First install the redis-server:

sudo apt-get install redis-server or for CentOS, OpenSUSE or other distributions: yum install redis-server

Then put the plugin on your server and edit the config file:

RedisHost: 127.0.0.1 //The redis host RedisPort: 6379 //The redis port AuthUsingPassword: false //If you have a password set for your redis server RedisPassword: MyPassword //The password. CacheEntryExpire: 7200 //The time in seconds after the uuid cache entry will expire and removed from redis.

There is an API for UUIDCache:

Get the uuid:

package de.fileinputstream.uuidcache.commands;
import de.fileinputstream.uuidcache.UUIDCacheBootstrap;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;
/**
 * This class has been generated by Alexander on 30.04.18 17:35
 * You are not allowed to edit this resource or other components of it
 * © 2018 Alexander Fiedler
 */
public class CommandUUID implements CommandExecutor {
    @Override
    public boolean onCommand(CommandSender commandSender, Command command, String s, String[] strings) {
        if(commandSender.isOp()) {
            if(strings.length == 1) {
                String player = strings[0];
                 UUIDCacheBootstrap.getInstance().getUuidCache().getUUID(player, s1 -> commandSender.sendMessage(ChatColor.GREEN + "UUID of " + player + " is: " + s1));
                 //Do something with the uuid.
            } else {
                commandSender.sendMessage(ChatColor.DARK_RED + "§bPlease use /uuid <Name>");
                return true;
            }
        }
        return false;
    }
}

Evict an uuid:

package de.fileinputstream.uuidcache.commands;

import de.fileinputstream.uuidcache.UUIDCacheBootstrap;
import org.bukkit.ChatColor;
import org.bukkit.command.Command;
import org.bukkit.command.CommandExecutor;
import org.bukkit.command.CommandSender;

/**
 * This class has been generated by Alexander on 30.04.18 18:06
 * You are not allowed to edit this resource or other components of it
 * © 2018 Alexander Fiedler
 */
public class CommandUncacheUUID implements CommandExecutor {
    @Override
    public boolean onCommand(CommandSender commandSender, Command command, String s, String[] strings) {
        if(commandSender.isOp()) {
            if(strings.length == 1) {
                String name = strings[0];
                if((UUIDCacheBootstrap.getInstance().getRedisManager().getJedis().exists("uuidcache:" + name.toLowerCase() ))) {
                    UUIDCacheBootstrap.getInstance().getUuidCache().getUUID(name, s1 -> {
                        UUIDCacheBootstrap.getInstance().getUuidCache().uncacheUUID(name);
                        commandSender.sendMessage(ChatColor.GREEN + "This uuid has been uncached now!");

                    });

                } else {
                    commandSender.sendMessage(ChatColor.DARK_RED + "This uuid hasn't been cached yet.");
                    return true;
                }
            } else {
                commandSender.sendMessage(ChatColor.DARK_RED + "§bPlease use /uncacheuuid <Name>");
                return true;
            }

        }
        return false;
    }
}

Please take a look at the javadoc at : https://fileinputstream.github.io/UUIDCache/docs/