private boolean checkWeight(Item item){
        if (item == null){
            int weight = 0;
            for (Weapon weapon : weapons) {
                weight += weapon.getWeight();
            }
            for (NormalItem object : inventory) {
                weight += object.getWeight();
            }
            for (Map.Entry<Armor.Type, Armor> entry : protections.entrySet()) {
                Armor armor = entry.getValue();
                weight += armor.getWeight();
            }
            Attribute att = secondary_attr.get("Peso");
            att.fillUp();
            att.waste(weight);
            modifySecondaryMap("Peso", att);
            checkState("Peso");
        } else{
            int total = secondary_attr.get("Peso").getRemaining() - item.getWeight();
            if (total < 0){
                MessageControl.showErrorMessage("No puedes coger el objeto " + item.getName(), null);
                return false;
            }
            secondary_attr.get("Peso").waste(item.getWeight());
            checkState("Peso");
        }
        return true;
    }