package me.beastman3226.bc.player; import com.evilmidget38.UUIDFetcher; import java.util.HashMap; import java.util.UUID; import java.util.logging.Level; import java.util.logging.Logger; import me.beastman3226.bc.BusinessCore.Information; import me.beastman3226.bc.data.file.EmployeeFileManager; import me.beastman3226.bc.data.file.FileData; import me.beastman3226.bc.errors.OpenJobException; import org.bukkit.Bukkit; /** * * @author beastman3226 */ public class EmployeeManager { public static HashMap<String, Integer> pending = new HashMap<String, Integer>(50); public static void loadEmployees() { for(String key : Information.employeeYml.getKeys(false)) { int id = Information.employeeYml.getInt(key + ".id"); String name = Bukkit.getOfflinePlayer(UUID.fromString(Information.employeeYml.getString(key + ".UUID"))).getName(); if(name == null) { name = Bukkit.getPlayer(UUID.fromString(Information.employeeYml.getString(key + ".UUID"))).getName(); } int bID = Information.employeeYml.getInt(key + ".business"); int completed = Information.employeeYml.getInt(key + ".completed"); int jID = Information.employeeYml.getInt(key + ".job"); if(id == 0 || bID == 0 || completed == 0 || jID == 0) { if(Information.debug) { Logger log = Information.log; log.severe("Name: " + name); log.severe("ID: " + id); log.severe("Business: " + bID); log.severe("Completed: " + completed); log.severe("Current Job: " + jID); } } try { Employee e = new Employee(name, id).setBusiness(bID).setCompletedJobs(completed).startJob(jID); Employee.employeeList.add(e); } catch (OpenJobException ex) { } catch (NullPointerException npe) { if(Information.debug) { Logger log = Information.log; log.log(Level.SEVERE, "Name: {0}", name); log.log(Level.SEVERE, "ID: {0}", id); log.log(Level.SEVERE, "Business: {0}", bID); log.log(Level.SEVERE, "Completed: {0}", completed); log.log(Level.SEVERE, "Current Job: {0}", jID); } Logger log = Information.log; log.log(Level.SEVERE, "Name: {0}", name); log.log(Level.SEVERE, "ID: {0}", id); log.log(Level.SEVERE, "Business: {0}", bID); log.log(Level.SEVERE, "Completed: {0}", completed); log.log(Level.SEVERE, "Current Job: {0}", jID); } } } public static Employee addEmployee(String name, int BID) { try { Employee employee = new Employee(name, 1000 + Employee.employeeList.size() + 1); employee.setBusiness(BID); Employee.employeeList.add(employee); EmployeeFileManager.editConfig(new FileData().add(name + ".UUID", UUIDFetcher.getUUIDOf(name)) .add(name + ".id", employee.getID()) .add(name + ".business", employee.getBusiness().getID()) .add(name + ".completed", 0) .add(name + ".job", -1)); return employee; } catch (Exception ex) { Logger.getLogger(EmployeeManager.class.getName()).log(Level.SEVERE, null, ex); } return null; } public static Employee getEmployee(String name) { Employee employee = null; for(Employee e : Employee.employeeList) { if(e.getName().equalsIgnoreCase(name)) { employee = e; break; } } return employee; } public static Employee getEmployee(int id) { Employee employee = null; for(Employee e : Employee.employeeList) { if(e.getID() == id) { employee = e; break; } } return employee; } public static boolean isEmployee(String name) { return getEmployee(name) != null; } }