@Override
  public Item degrade() {
    super.degrade();

    updateLevel();
    updateQuickslot();

    return this;
  }
  @Override
  public Item upgrade() {

    super.upgrade();

    updateLevel();
    curCharges = Math.min(curCharges + 1, maxCharges);
    updateQuickslot();

    return this;
  }