forked from sorceress/EasyAuth
Command text feedaback can be reloaded now. Deprecated ChangepwCommand.java and UnregisterCommand.java
This commit is contained in:
parent
774042af9c
commit
9ab30f2ee9
|
@ -7,7 +7,6 @@ import net.minecraft.entity.Entity;
|
|||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.server.command.ServerCommandSource;
|
||||
import net.minecraft.text.LiteralText;
|
||||
import net.minecraft.text.Text;
|
||||
import org.apache.logging.log4j.LogManager;
|
||||
import org.apache.logging.log4j.Logger;
|
||||
import org.samo_lego.simpleauth.SimpleAuth;
|
||||
|
@ -29,12 +28,7 @@ import static org.samo_lego.simpleauth.SimpleAuth.db;
|
|||
|
||||
public class AuthCommand {
|
||||
private static final Logger LOGGER = LogManager.getLogger();
|
||||
|
||||
private static Text userdataDeleted = new LiteralText(config.lang.userdataDeleted);
|
||||
private static Text userdataUpdated = new LiteralText(config.lang.userdataUpdated);
|
||||
private static Text configurationReloaded = new LiteralText(config.lang.configurationReloaded);
|
||||
private static Text globalPasswordSet = new LiteralText(config.lang.globalPasswordSet);
|
||||
|
||||
|
||||
public static void registerCommand(CommandDispatcher<ServerCommandSource> dispatcher) {
|
||||
// Registering the "/auth" command
|
||||
dispatcher.register(literal("auth")
|
||||
|
@ -110,7 +104,7 @@ public class AuthCommand {
|
|||
config = AuthConfig.load(new File("./mods/SimpleAuth/config.json"));
|
||||
|
||||
if(sender != null)
|
||||
((PlayerEntity) sender).sendMessage(configurationReloaded, false);
|
||||
((PlayerEntity) sender).sendMessage(new LiteralText(config.lang.configurationReloaded), false);
|
||||
else
|
||||
LOGGER.info(config.lang.configurationReloaded);
|
||||
return 1;
|
||||
|
@ -126,7 +120,7 @@ public class AuthCommand {
|
|||
config.save(new File("./mods/SimpleAuth/config.json"));
|
||||
|
||||
if(sender != null)
|
||||
((PlayerEntity) sender).sendMessage(globalPasswordSet, false);
|
||||
((PlayerEntity) sender).sendMessage(new LiteralText(config.lang.globalPasswordSet), false);
|
||||
else
|
||||
LOGGER.info(config.lang.globalPasswordSet);
|
||||
return 1;
|
||||
|
@ -153,7 +147,7 @@ public class AuthCommand {
|
|||
SimpleAuth.deauthenticatedUsers.put(uuid, new PlayerCache(uuid, null));
|
||||
|
||||
if(sender != null)
|
||||
((PlayerEntity) sender).sendMessage(userdataDeleted, false);
|
||||
((PlayerEntity) sender).sendMessage(new LiteralText(config.lang.userdataDeleted), false);
|
||||
else
|
||||
LOGGER.info(config.lang.userdataDeleted);
|
||||
return 1; // Success
|
||||
|
@ -171,7 +165,7 @@ public class AuthCommand {
|
|||
|
||||
if(db.registerUser(uuid, playerdata.toString())) {
|
||||
if(sender != null)
|
||||
((PlayerEntity) sender).sendMessage(userdataUpdated, false);
|
||||
((PlayerEntity) sender).sendMessage(new LiteralText(config.lang.userdataUpdated), false);
|
||||
else
|
||||
LOGGER.info(config.lang.userdataUpdated);
|
||||
return 1;
|
||||
|
@ -191,7 +185,7 @@ public class AuthCommand {
|
|||
|
||||
db.updateUserData(uuid, playerdata.toString());
|
||||
if(sender != null)
|
||||
((PlayerEntity) sender).sendMessage(userdataUpdated, false);
|
||||
((PlayerEntity) sender).sendMessage(new LiteralText(config.lang.userdataUpdated), false);
|
||||
else
|
||||
LOGGER.info(config.lang.userdataUpdated);
|
||||
return 1;
|
||||
|
|
|
@ -1,84 +0,0 @@
|
|||
package org.samo_lego.simpleauth.commands;
|
||||
|
||||
import com.google.gson.JsonObject;
|
||||
import com.mojang.brigadier.CommandDispatcher;
|
||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||
import net.minecraft.server.command.ServerCommandSource;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import net.minecraft.text.LiteralText;
|
||||
import net.minecraft.text.Text;
|
||||
import org.samo_lego.simpleauth.SimpleAuth;
|
||||
import org.samo_lego.simpleauth.utils.AuthHelper;
|
||||
|
||||
import static com.mojang.brigadier.arguments.StringArgumentType.getString;
|
||||
import static com.mojang.brigadier.arguments.StringArgumentType.word;
|
||||
import static net.minecraft.server.command.CommandManager.argument;
|
||||
import static net.minecraft.server.command.CommandManager.literal;
|
||||
import static org.samo_lego.simpleauth.utils.UuidConverter.convertUuid;
|
||||
|
||||
public class ChangepwCommand {
|
||||
private static Text enterNewPassword = new LiteralText(SimpleAuth.config.lang.enterNewPassword);
|
||||
private static Text enterPassword = new LiteralText(SimpleAuth.config.lang.enterPassword);
|
||||
private static Text wrongPassword = new LiteralText(SimpleAuth.config.lang.wrongPassword);
|
||||
private static Text passwordUpdated = new LiteralText(SimpleAuth.config.lang.passwordUpdated);
|
||||
private static Text cannotChangePassword = new LiteralText(SimpleAuth.config.lang.cannotChangePassword);
|
||||
|
||||
public static void registerCommand(CommandDispatcher<ServerCommandSource> dispatcher) {
|
||||
// Registering the "/changepw" command
|
||||
dispatcher.register(literal("changepw")
|
||||
.executes(ctx -> {
|
||||
ctx.getSource().getPlayer().sendMessage(enterPassword, false);
|
||||
return 1;
|
||||
})
|
||||
.then(argument("oldPassword", word())
|
||||
.executes(ctx -> {
|
||||
ctx.getSource().getPlayer().sendMessage(enterNewPassword, false);
|
||||
return 1;
|
||||
})
|
||||
.then(argument("newPassword", word())
|
||||
.executes( ctx -> changepw(
|
||||
ctx.getSource(),
|
||||
getString(ctx, "oldPassword"),
|
||||
getString(ctx, "newPassword")
|
||||
)
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
// Method called for checking the password and then changing it
|
||||
private static int changepw(ServerCommandSource source, String oldPass, String newPass) throws CommandSyntaxException {
|
||||
// Getting the player who send the command
|
||||
ServerPlayerEntity player = source.getPlayer();
|
||||
|
||||
if (SimpleAuth.config.main.enableGlobalPassword) {
|
||||
player.sendMessage(cannotChangePassword, false);
|
||||
return 0;
|
||||
}
|
||||
else if (AuthHelper.checkPass(convertUuid(player), oldPass.toCharArray()) == 1) {
|
||||
if(newPass.length() < SimpleAuth.config.main.minPasswordChars) {
|
||||
player.sendMessage(new LiteralText(
|
||||
String.format(SimpleAuth.config.lang.minPasswordChars, SimpleAuth.config.main.minPasswordChars)
|
||||
), false);
|
||||
return 0;
|
||||
}
|
||||
else if(newPass.length() > SimpleAuth.config.main.maxPasswordChars && SimpleAuth.config.main.maxPasswordChars != -1) {
|
||||
player.sendMessage(new LiteralText(
|
||||
String.format(SimpleAuth.config.lang.maxPasswordChars, SimpleAuth.config.main.maxPasswordChars)
|
||||
), false);
|
||||
return 0;
|
||||
}
|
||||
// JSON object holding password (may hold some other info in the future)
|
||||
JsonObject playerdata = new JsonObject();
|
||||
String hash = AuthHelper.hashPass(newPass.toCharArray());
|
||||
playerdata.addProperty("password", hash);
|
||||
|
||||
SimpleAuth.db.updateUserData(convertUuid(player), playerdata.toString());
|
||||
player.sendMessage(passwordUpdated, false);
|
||||
return 1;
|
||||
}
|
||||
player.sendMessage(wrongPassword, false);
|
||||
return 0;
|
||||
}
|
||||
}
|
|
@ -2,11 +2,9 @@ package org.samo_lego.simpleauth.commands;
|
|||
|
||||
import com.mojang.brigadier.CommandDispatcher;
|
||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||
import net.minecraft.entity.player.PlayerEntity;
|
||||
import net.minecraft.server.command.ServerCommandSource;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import net.minecraft.text.LiteralText;
|
||||
import net.minecraft.text.Text;
|
||||
import org.samo_lego.simpleauth.SimpleAuth;
|
||||
import org.samo_lego.simpleauth.utils.AuthHelper;
|
||||
|
||||
|
@ -14,16 +12,10 @@ import static com.mojang.brigadier.arguments.StringArgumentType.getString;
|
|||
import static com.mojang.brigadier.arguments.StringArgumentType.word;
|
||||
import static net.minecraft.server.command.CommandManager.argument;
|
||||
import static net.minecraft.server.command.CommandManager.literal;
|
||||
import static org.samo_lego.simpleauth.SimpleAuth.config;
|
||||
import static org.samo_lego.simpleauth.utils.UuidConverter.convertUuid;
|
||||
|
||||
public class LoginCommand {
|
||||
private static Text enterPassword = new LiteralText(SimpleAuth.config.lang.enterPassword);
|
||||
private static Text wrongPassword = new LiteralText(SimpleAuth.config.lang.wrongPassword);
|
||||
private static Text alreadyAuthenticated = new LiteralText(SimpleAuth.config.lang.alreadyAuthenticated);
|
||||
private static Text notRegistered = new LiteralText(SimpleAuth.config.lang.notRegistered);
|
||||
private static Text loginTriesExceeded = new LiteralText(SimpleAuth.config.lang.loginTriesExceeded);
|
||||
private static Text successfullyAuthenticated = new LiteralText(SimpleAuth.config.lang.successfullyAuthenticated);
|
||||
private static int maxLoginTries = SimpleAuth.config.main.maxLoginTries;
|
||||
|
||||
public static void registerCommand(CommandDispatcher<ServerCommandSource> dispatcher) {
|
||||
// Registering the "/login" command
|
||||
|
@ -32,7 +24,7 @@ public class LoginCommand {
|
|||
.executes(ctx -> login(ctx.getSource(), getString(ctx, "password")) // Tries to authenticate user
|
||||
))
|
||||
.executes(ctx -> {
|
||||
ctx.getSource().getPlayer().sendMessage(enterPassword, false);
|
||||
ctx.getSource().getPlayer().sendMessage(new LiteralText(config.lang.enterPassword), false);
|
||||
return 0;
|
||||
}));
|
||||
}
|
||||
|
@ -42,32 +34,34 @@ public class LoginCommand {
|
|||
// Getting the player who send the command
|
||||
ServerPlayerEntity player = source.getPlayer();
|
||||
|
||||
String uuid = convertUuid(player);
|
||||
int passwordResult = AuthHelper.checkPass(uuid, pass.toCharArray());
|
||||
|
||||
if(SimpleAuth.isAuthenticated(player)) {
|
||||
player.sendMessage(alreadyAuthenticated, false);
|
||||
player.sendMessage(new LiteralText(config.lang.alreadyAuthenticated), false);
|
||||
return 0;
|
||||
}
|
||||
else if(SimpleAuth.deauthenticatedUsers.get(uuid).loginTries >= maxLoginTries && maxLoginTries != -1) {
|
||||
player.networkHandler.disconnect(loginTriesExceeded);
|
||||
|
||||
String uuid = convertUuid(player);
|
||||
int passwordResult = AuthHelper.checkPass(uuid, pass.toCharArray());
|
||||
int maxLoginTries = config.main.maxLoginTries;
|
||||
|
||||
if(SimpleAuth.deauthenticatedUsers.get(uuid).loginTries >= maxLoginTries && maxLoginTries != -1) {
|
||||
player.networkHandler.disconnect(new LiteralText(config.lang.loginTriesExceeded));
|
||||
return 0;
|
||||
}
|
||||
else if(passwordResult == 1) {
|
||||
SimpleAuth.authenticatePlayer(player, successfullyAuthenticated);
|
||||
SimpleAuth.authenticatePlayer(player, new LiteralText(config.lang.successfullyAuthenticated));
|
||||
return 1;
|
||||
}
|
||||
else if(passwordResult == -1) {
|
||||
player.sendMessage(notRegistered, false);
|
||||
player.sendMessage(new LiteralText(config.lang.notRegistered), false);
|
||||
return 0;
|
||||
}
|
||||
// Kicking the player out
|
||||
else if(maxLoginTries == 1) {
|
||||
player.networkHandler.disconnect(wrongPassword);
|
||||
player.networkHandler.disconnect(new LiteralText(config.lang.wrongPassword));
|
||||
return 0;
|
||||
}
|
||||
// Sending wrong pass message
|
||||
player.sendMessage(wrongPassword, false);
|
||||
player.sendMessage(new LiteralText(config.lang.wrongPassword), false);
|
||||
// ++ the login tries
|
||||
SimpleAuth.deauthenticatedUsers.get(uuid).loginTries += 1;
|
||||
return 0;
|
||||
|
|
|
@ -5,13 +5,12 @@ import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
|||
import net.minecraft.server.command.ServerCommandSource;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import net.minecraft.text.LiteralText;
|
||||
import net.minecraft.text.Text;
|
||||
import org.samo_lego.simpleauth.SimpleAuth;
|
||||
|
||||
import static net.minecraft.server.command.CommandManager.literal;
|
||||
import static org.samo_lego.simpleauth.SimpleAuth.config;
|
||||
|
||||
public class LogoutCommand {
|
||||
private static Text successfulLogout = new LiteralText(SimpleAuth.config.lang.successfulLogout);
|
||||
|
||||
public static void registerCommand(CommandDispatcher<ServerCommandSource> dispatcher) {
|
||||
// Registering the "/logout" command
|
||||
|
@ -23,7 +22,7 @@ public class LogoutCommand {
|
|||
private static int logout(ServerCommandSource serverCommandSource) throws CommandSyntaxException {
|
||||
ServerPlayerEntity player = serverCommandSource.getPlayer();
|
||||
SimpleAuth.deauthenticatePlayer(player);
|
||||
player.sendMessage(successfulLogout, false);
|
||||
player.sendMessage(new LiteralText(config.lang.successfulLogout), false);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -6,7 +6,6 @@ import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
|||
import net.minecraft.server.command.ServerCommandSource;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import net.minecraft.text.LiteralText;
|
||||
import net.minecraft.text.Text;
|
||||
import org.samo_lego.simpleauth.SimpleAuth;
|
||||
import org.samo_lego.simpleauth.utils.AuthHelper;
|
||||
|
||||
|
@ -14,16 +13,11 @@ import static com.mojang.brigadier.arguments.StringArgumentType.getString;
|
|||
import static com.mojang.brigadier.arguments.StringArgumentType.word;
|
||||
import static net.minecraft.server.command.CommandManager.argument;
|
||||
import static net.minecraft.server.command.CommandManager.literal;
|
||||
import static org.samo_lego.simpleauth.SimpleAuth.config;
|
||||
import static org.samo_lego.simpleauth.utils.UuidConverter.convertUuid;
|
||||
|
||||
|
||||
public class RegisterCommand {
|
||||
private static Text enterPassword = new LiteralText(SimpleAuth.config.lang.enterPassword);
|
||||
private static Text alreadyAuthenticated = new LiteralText(SimpleAuth.config.lang.alreadyAuthenticated);
|
||||
private static Text alreadyRegistered = new LiteralText(SimpleAuth.config.lang.alreadyRegistered);
|
||||
private static Text registerSuccess = new LiteralText(SimpleAuth.config.lang.registerSuccess);
|
||||
private static Text matchPass = new LiteralText( SimpleAuth.config.lang.matchPassword);
|
||||
private static Text loginRequired = new LiteralText(SimpleAuth.config.lang.loginRequired);
|
||||
|
||||
public static void registerCommand(CommandDispatcher<ServerCommandSource> dispatcher) {
|
||||
|
||||
|
@ -34,7 +28,7 @@ public class RegisterCommand {
|
|||
.executes( ctx -> register(ctx.getSource(), getString(ctx, "password"), getString(ctx, "passwordAgain")))
|
||||
))
|
||||
.executes(ctx -> {
|
||||
ctx.getSource().getPlayer().sendMessage(enterPassword, false);
|
||||
ctx.getSource().getPlayer().sendMessage(new LiteralText(config.lang.enterPassword), false);
|
||||
return 0;
|
||||
}));
|
||||
}
|
||||
|
@ -42,24 +36,24 @@ public class RegisterCommand {
|
|||
// Method called for hashing the password & writing to DB
|
||||
private static int register(ServerCommandSource source, String pass1, String pass2) throws CommandSyntaxException {
|
||||
ServerPlayerEntity player = source.getPlayer();
|
||||
if(SimpleAuth.config.main.enableGlobalPassword) {
|
||||
player.sendMessage(loginRequired, false);
|
||||
if(config.main.enableGlobalPassword) {
|
||||
player.sendMessage(new LiteralText(config.lang.loginRequired), false);
|
||||
return 0;
|
||||
}
|
||||
else if(SimpleAuth.isAuthenticated(player)) {
|
||||
player.sendMessage(alreadyAuthenticated, false);
|
||||
player.sendMessage(new LiteralText(config.lang.alreadyAuthenticated), false);
|
||||
return 0;
|
||||
}
|
||||
else if(pass1.equals(pass2)) {
|
||||
if(pass1.length() < SimpleAuth.config.main.minPasswordChars) {
|
||||
if(pass1.length() < config.main.minPasswordChars) {
|
||||
player.sendMessage(new LiteralText(
|
||||
String.format(SimpleAuth.config.lang.minPasswordChars, SimpleAuth.config.main.minPasswordChars)
|
||||
String.format(config.lang.minPasswordChars, config.main.minPasswordChars)
|
||||
), false);
|
||||
return 0;
|
||||
}
|
||||
else if(pass1.length() > SimpleAuth.config.main.maxPasswordChars && SimpleAuth.config.main.maxPasswordChars != -1) {
|
||||
else if(pass1.length() > config.main.maxPasswordChars && config.main.maxPasswordChars != -1) {
|
||||
player.sendMessage(new LiteralText(
|
||||
String.format(SimpleAuth.config.lang.maxPasswordChars, SimpleAuth.config.main.maxPasswordChars)
|
||||
String.format(config.lang.maxPasswordChars, config.main.maxPasswordChars)
|
||||
), false);
|
||||
return 0;
|
||||
}
|
||||
|
@ -69,13 +63,13 @@ public class RegisterCommand {
|
|||
playerdata.addProperty("password", hash);
|
||||
|
||||
if (SimpleAuth.db.registerUser(convertUuid(player), playerdata.toString())) {
|
||||
SimpleAuth.authenticatePlayer(player, registerSuccess);
|
||||
SimpleAuth.authenticatePlayer(player, new LiteralText(config.lang.registerSuccess));
|
||||
return 1;
|
||||
}
|
||||
player.sendMessage(alreadyRegistered, false);
|
||||
player.sendMessage(new LiteralText(config.lang.alreadyRegistered), false);
|
||||
return 0;
|
||||
}
|
||||
player.sendMessage(matchPass, false);
|
||||
player.sendMessage(new LiteralText(config.lang.matchPassword), false);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,58 +0,0 @@
|
|||
package org.samo_lego.simpleauth.commands;
|
||||
|
||||
import com.mojang.brigadier.CommandDispatcher;
|
||||
import com.mojang.brigadier.exceptions.CommandSyntaxException;
|
||||
import net.minecraft.server.command.ServerCommandSource;
|
||||
import net.minecraft.server.network.ServerPlayerEntity;
|
||||
import net.minecraft.text.LiteralText;
|
||||
import net.minecraft.text.Text;
|
||||
import org.samo_lego.simpleauth.SimpleAuth;
|
||||
import org.samo_lego.simpleauth.utils.AuthHelper;
|
||||
|
||||
import static com.mojang.brigadier.arguments.StringArgumentType.getString;
|
||||
import static com.mojang.brigadier.arguments.StringArgumentType.word;
|
||||
import static net.minecraft.server.command.CommandManager.argument;
|
||||
import static net.minecraft.server.command.CommandManager.literal;
|
||||
import static org.samo_lego.simpleauth.utils.UuidConverter.convertUuid;
|
||||
|
||||
public class UnregisterCommand {
|
||||
private static Text enterPassword = new LiteralText(SimpleAuth.config.lang.enterPassword);
|
||||
private static Text wrongPassword = new LiteralText(SimpleAuth.config.lang.wrongPassword);
|
||||
private static Text accountDeleted = new LiteralText(SimpleAuth.config.lang.accountDeleted);
|
||||
private static Text cannotUnregister = new LiteralText(SimpleAuth.config.lang.cannotUnregister);
|
||||
|
||||
public static void registerCommand(CommandDispatcher<ServerCommandSource> dispatcher) {
|
||||
// Registering the "/unregister" command
|
||||
dispatcher.register(literal("unregister")
|
||||
.executes(ctx -> {
|
||||
ctx.getSource().getPlayer().sendMessage(enterPassword, false);
|
||||
return 1;
|
||||
})
|
||||
.then(argument("password", word())
|
||||
.executes( ctx -> unregister(
|
||||
ctx.getSource(),
|
||||
getString(ctx, "password")
|
||||
)
|
||||
)
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
// Method called for checking the password and then removing user's account from db
|
||||
private static int unregister(ServerCommandSource source, String pass) throws CommandSyntaxException {
|
||||
// Getting the player who send the command
|
||||
ServerPlayerEntity player = source.getPlayer();
|
||||
if (SimpleAuth.config.main.enableGlobalPassword) {
|
||||
player.sendMessage(cannotUnregister, false);
|
||||
return 0;
|
||||
}
|
||||
else if (AuthHelper.checkPass(convertUuid(player), pass.toCharArray()) == 1) {
|
||||
SimpleAuth.deauthenticatePlayer(player);
|
||||
SimpleAuth.db.deleteUserData(convertUuid(player));
|
||||
player.sendMessage(accountDeleted, false);
|
||||
return 1;
|
||||
}
|
||||
player.sendMessage(wrongPassword, false);
|
||||
return 0;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue