package de.maxgb.minecraft.second_screen.commands.mss_sub; import net.minecraft.command.ICommandSender; import net.minecraft.entity.player.EntityPlayer; import de.maxgb.minecraft.second_screen.commands.BaseCommand; import de.maxgb.minecraft.second_screen.data.UserManager; import de.maxgb.minecraft.second_screen.util.Logger; /** * Command to register a second screen user * Only used if auth_required is enabled * User can set a pass for his username * Server or Rcon can set pass for any username * @author Max * */ public class RegisterUserCommand implements MssCommand.MssSubCommand { private static final String TAG = "RegisterUserCommand"; @Override public boolean canCommandSenderUseCommand(ICommandSender var1) { return false; } @Override public String getCommandName() { return "register"; } @Override public void sendCommandUsage(ICommandSender var1) { if (var1.getName().equals("Rcon") || var1.getName().equals("Server")) { sendMessage(var1, "register <username> <password>"); } else{ sendMessage(var1,"register <password>"); } } @Override public void processCommand(ICommandSender var1, String[] var2) { if (var2 == null || var2.length == 0) { sendMessage(var1, "Missing arguments. Usage:"); sendCommandUsage(var1); return; } if (var1 instanceof EntityPlayer) { if (var2.length != 1) { sendMessage(var1, "Wrong arguments. Usage:"); sendCommandUsage(var1); return; } int hash = var2[0].hashCode(); UserManager.addUser(var1.getName(), hash); BaseCommand.sendMessage(var1, "Added user " + var1.getName()); Logger.i(TAG, "Added user " + var1.getName() + " with pass: " + hash); return; } else if (var1.getName().equals("Rcon") || var1.getName().equals("Server")) { if (var2.length != 2) { sendMessage(var1, "Wrong arguments. Usage:"); sendCommandUsage(var1); return; } int hash = var2[1].hashCode(); UserManager.addUser(var2[0], hash); BaseCommand.sendMessage(var1, "Added user " + var2[0]); Logger.i(TAG, "Added user " + var2[0] + " with pass: " + hash); return; } else { Logger.w(TAG, var1.getName() + " tried to add a user, but what is he?"); } } private void sendMessage(ICommandSender var1,String msg){ BaseCommand.sendMessage(var1, msg); } }