private void update(MapleCharacter chr) {
        if (chr == null || charId != chr.getId()) {
            return; //cant use name as it mightve been change actually..
        }
        setName(chr.getName());
        setHair(chr.getHair());
        setSecondHair(chr.getHair());
        setFace(chr.getFace());
        setSecondFace(chr.getFace());
        setSkin((chr.getSkinColor()));
        setSecondSkin((chr.getSkinColor()));
        setGender(chr.getGender());
        setSecondGender(chr.getGender());
        setPets(chr.getPets());
        setJob(chr.getJob());
        setElf(chr.getElf());
        setFaceMarking(chr.getFaceMarking());
        setEars(chr.getEars());
        setTail(chr.getTail());

        equips = new HashMap<>();
        for (Item item : chr.getInventory(MapleInventoryType.EQUIPPED).newList()) {
            if (item.getPosition() < -127) {
                continue;
            }
            equips.put((byte) item.getPosition(), item.getItemId());
        }

        secondEquips = new HashMap<>();
        for (Item item : chr.getInventory(MapleInventoryType.EQUIPPED).newList()) {
            if (item.getPosition() < -127) {
                continue;
            }
            secondEquips.put((byte) item.getPosition(), item.getItemId());
        }
        saveToDB();
    }