Checking for online mode to decide on UUID password storage
This commit is contained in:
parent
b726b65e9e
commit
216c7dd45b
|
@ -2,7 +2,7 @@
|
||||||
|
|
||||||
![License](https://img.shields.io/badge/License-MIT-brightgreen)
|
![License](https://img.shields.io/badge/License-MIT-brightgreen)
|
||||||
[![Curseforge downloads](http://cf.way2muchnoise.eu/full_simpleauth_downloads.svg)](https://www.curseforge.com/minecraft/mc-mods/simpleauth)
|
[![Curseforge downloads](http://cf.way2muchnoise.eu/full_simpleauth_downloads.svg)](https://www.curseforge.com/minecraft/mc-mods/simpleauth)
|
||||||
![Java CI with Gradle](https://github.com/samolego/SimpleAuth/workflows/Java%20CI%20with%20Gradle/badge.svg)
|
![Gradle Build](https://github.com/samolego/SimpleAuth/workflows/Gradle%20Build/badge.svg)
|
||||||
|
|
||||||
Requires Fabric API.
|
Requires Fabric API.
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,10 @@ import org.samo_lego.simpleauth.storage.PlayerCache;
|
||||||
import org.samo_lego.simpleauth.storage.SimpleAuthDatabase;
|
import org.samo_lego.simpleauth.storage.SimpleAuthDatabase;
|
||||||
|
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
|
import java.io.FileReader;
|
||||||
|
import java.io.IOException;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
|
import java.util.Properties;
|
||||||
import java.util.Timer;
|
import java.util.Timer;
|
||||||
import java.util.TimerTask;
|
import java.util.TimerTask;
|
||||||
|
|
||||||
|
@ -46,6 +49,10 @@ public class SimpleAuth implements DedicatedServerModInitializer {
|
||||||
|
|
||||||
// Getting game directory
|
// Getting game directory
|
||||||
public static final File gameDirectory = FabricLoader.getInstance().getGameDirectory();
|
public static final File gameDirectory = FabricLoader.getInstance().getGameDirectory();
|
||||||
|
|
||||||
|
// Server properties
|
||||||
|
public static Properties serverProp = new Properties();
|
||||||
|
|
||||||
// Mod config
|
// Mod config
|
||||||
public static AuthConfig config;
|
public static AuthConfig config;
|
||||||
|
|
||||||
|
@ -65,6 +72,12 @@ public class SimpleAuth implements DedicatedServerModInitializer {
|
||||||
// Connecting to db
|
// Connecting to db
|
||||||
db.openConnection();
|
db.openConnection();
|
||||||
|
|
||||||
|
try {
|
||||||
|
serverProp.load(new FileReader(gameDirectory + "/server.properties"));
|
||||||
|
} catch (IOException e) {
|
||||||
|
LOGGER.error("[SimpleAuth] Error while reading server properties: " + e.getMessage());
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// Registering the commands
|
// Registering the commands
|
||||||
CommandRegistry.INSTANCE.register(false, dispatcher -> {
|
CommandRegistry.INSTANCE.register(false, dispatcher -> {
|
||||||
|
|
|
@ -2,6 +2,8 @@ package org.samo_lego.simpleauth.utils;
|
||||||
|
|
||||||
import net.minecraft.entity.player.PlayerEntity;
|
import net.minecraft.entity.player.PlayerEntity;
|
||||||
|
|
||||||
|
import static org.samo_lego.simpleauth.SimpleAuth.serverProp;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Converts player uuid, to ensure player with "nAmE" and "NamE" get same uuid
|
* Converts player uuid, to ensure player with "nAmE" and "NamE" get same uuid
|
||||||
* Both players are not allowed to play, since mod mimics Mojang behaviour
|
* Both players are not allowed to play, since mod mimics Mojang behaviour
|
||||||
|
@ -9,21 +11,22 @@ import net.minecraft.entity.player.PlayerEntity;
|
||||||
*/
|
*/
|
||||||
public class UuidConverter {
|
public class UuidConverter {
|
||||||
|
|
||||||
/** Converts player UUID to offline mode style.
|
private static final boolean isOnline = (boolean) serverProp.getOrDefault("online-mode", false);
|
||||||
*
|
|
||||||
* @param playername name of the player to get UUID for
|
|
||||||
* @return converted UUID as string
|
|
||||||
*/
|
|
||||||
public static String convertUuid(String playername) {
|
|
||||||
return PlayerEntity.getOfflinePlayerUuid(playername).toString();
|
|
||||||
}
|
|
||||||
|
|
||||||
/** Converts player UUID to offline mode style.
|
/** Gets player UUID.
|
||||||
*
|
*
|
||||||
* @param player player to get UUID for
|
* @param player player to get UUID for
|
||||||
* @return converted UUID as string
|
* @return converted UUID as string
|
||||||
*/
|
*/
|
||||||
public static String convertUuid(PlayerEntity player) {
|
public static String convertUuid(PlayerEntity player) {
|
||||||
return convertUuid(player.getName().asString().toLowerCase());
|
// If server is in online mode online-mode UUIDs should be used
|
||||||
|
if(isOnline)
|
||||||
|
return player.getUuidAsString();
|
||||||
|
|
||||||
|
/* Lower case is used for Player and PlAyEr to get same UUID
|
||||||
|
Mimicking Mojang behaviour, where players cannot set their name to
|
||||||
|
ExAmple if example is already taken.*/
|
||||||
|
String playername = player.getName().asString().toLowerCase();
|
||||||
|
return PlayerEntity.getOfflinePlayerUuid(playername).toString();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue