public Hoodlum loadHoodlum(UUID uuid) { CustomConfig config = gangs.getHoodlumConfig(); String uuidString = uuid.toString(); Hoodlum hoodlum = new Hoodlum(uuid); if (config.getConfig().contains(uuidString)) { hoodlum.setPower(config.get(uuidString + "." + HoodlumConfig.POWER, Integer.class)); hoodlum.setMaxPower(config.get(uuidString + "." + HoodlumConfig.MAX_POWER, Integer.class)); if (config.has(uuidString + "." + HoodlumConfig.GANG_UUID)) { hoodlum.setGangUUID( UUID.fromString(config.get(uuidString + "." + HoodlumConfig.GANG_UUID, String.class))); } hoodlum.setGang(gangs.getGangCoordinator().getGang(hoodlum.getGangUUID())); hoodlum.setRole( GangRole.valueOf(config.get(uuidString + "." + HoodlumConfig.GANG_ROLE, String.class))); hoodlum.setLastLogon( LocalDateTime.parse( config.get(uuidString + "." + HoodlumConfig.LAST_ONLINE, String.class))); hoodlum.setLastLogoff( LocalDateTime.parse( config.get(uuidString + "." + HoodlumConfig.LAST_OFFLINE, String.class))); if (config.has(uuidString + "." + HoodlumConfig.MESSAGES)) { hoodlum.loadNotices( config.getConfig().getStringList(uuidString + "." + HoodlumConfig.MESSAGES)); } } hoodlumMap.put(uuid, hoodlum); return hoodlum; }
public void unloadHoodlum(UUID uuid) { String uuidString = uuid.toString(); Hoodlum hoodlum = hoodlumMap.get(uuid); gangs.getHoodlumConfig().set(uuidString + "." + HoodlumConfig.POWER, hoodlum.getPower()); gangs.getHoodlumConfig().set(uuidString + "." + HoodlumConfig.MAX_POWER, hoodlum.getMaxPower()); if (hoodlum.isInGang()) { gangs .getHoodlumConfig() .set(uuidString + "." + HoodlumConfig.GANG_UUID, hoodlum.getGangUUID().toString()); } gangs .getHoodlumConfig() .set(uuidString + "." + HoodlumConfig.GANG_ROLE, hoodlum.getRole().toString()); gangs .getHoodlumConfig() .set(uuidString + "." + HoodlumConfig.LAST_ONLINE, hoodlum.getLastLogon().toString()); gangs .getHoodlumConfig() .set(uuidString + "." + HoodlumConfig.LAST_OFFLINE, hoodlum.getLastLogoff().toString()); gangs.getHoodlumConfig().set(uuidString + "." + HoodlumConfig.MESSAGES, hoodlum.getNotices()); }